一、自動(dòng)化單元測(cè)試 編輯
自動(dòng)化單元測(cè)試在代碼級(jí)別上進(jìn)行測(cè)試。bug是在開發(fā)人員編寫的函數(shù)、方法和例程中識(shí)別出來的。
一些公司要求開發(fā)人員自己進(jìn)行單元測(cè)試,而有些公司則雇用專門的測(cè)試自動(dòng)化資源。這些資源可以訪問源代碼,它們編寫單元測(cè)試來破壞生產(chǎn)代碼。由于單元測(cè)試的存在,每當(dāng)代碼編譯時(shí),所有單元測(cè)試都會(huì)運(yùn)行,并告訴我們是否所有功能都正常工作。如果任何單元測(cè)試失敗,這意味著現(xiàn)在生產(chǎn)代碼中存在一個(gè)bug。
市場(chǎng)上最流行的一些工具是NUnit和聯(lián)合股。微軟還提供了自己的單元測(cè)試框架,稱為MSTest。通過這些工具的網(wǎng)站,他們將提供如何編寫單元測(cè)試的示例和教程。
二、自動(dòng)化Web服務(wù)/API測(cè)試
應(yīng)用程序編程接口(API)使軟件能夠與其他軟件應(yīng)用程序進(jìn)行對(duì)話。就像任何其他軟件一樣,API也需要進(jìn)行測(cè)試。在這種測(cè)試中,桂通常不涉及。
我們?cè)谶@里測(cè)試的通常是功能、遵從性和安全性問題。在Web應(yīng)用程序中,我們可以測(cè)試應(yīng)用程序的請(qǐng)求和響應(yīng)是否安全和加密。
這是我們可以使用API測(cè)試的示例之一。最流行的api測(cè)試工具是SOAPUI它既有免費(fèi)版本也有付費(fèi)版本。還有其他工具,您可以根據(jù)需要使用這些工具。
三、自動(dòng)GUI測(cè)試 編輯
這種類型的自動(dòng)化測(cè)試是最嚴(yán)格的自動(dòng)化形式,因?yàn)樗婕皯?yīng)用程序的用戶界面測(cè)試。
這很難,因?yàn)镚UI很容易改變。但是,這種類型的測(cè)試也最接近于用戶對(duì)我們的應(yīng)用程序所做的操作。由于用戶將使用鼠標(biāo)和鍵盤,自動(dòng)GUI測(cè)試也通過使用鼠標(biāo)和鍵盤來單擊或?qū)懭胗脩艚缑嫔系膶?duì)象來模仿相同的行為。因此,我們可以盡早發(fā)現(xiàn)bug,并且可以在許多場(chǎng)景中使用,比如回歸測(cè)試或填充表單,這需要花費(fèi)太多的時(shí)間。
最流行的GUI測(cè)試工具是QTP(現(xiàn)稱UFT), 硒, 測(cè)試完成和Microsoft編碼UI(這是VisualStudio終極版和高級(jí)版的一部分)。
四、自動(dòng)化測(cè)試的幾個(gè)誤區(qū)
多年來,我聽到了一些關(guān)于測(cè)試自動(dòng)化的誤解。我想我也應(yīng)該在這篇文章中澄清這些問題。
誤解#1. 自動(dòng)化將取代手動(dòng)測(cè)試人員。
測(cè)試自動(dòng)化是為了幫助測(cè)試人員以更快、更可靠的方式進(jìn)行測(cè)試。它永遠(yuǎn)無法取代人類。
把測(cè)試自動(dòng)化想象成一輛汽車。如果你走路,你大約要花20分鐘才能到達(dá)你的家。但是如果你用一輛車,兩分鐘內(nèi)你就會(huì)到達(dá)。汽車的司機(jī)仍然是你,一個(gè)人,但是.汽車幫助人類更快地實(shí)現(xiàn)他/她的目標(biāo)。而且,你的大部分精力都被節(jié)省了,因?yàn)槟銢]有走路。所以你可以利用這些能量來做更重要的事情。
自動(dòng)化測(cè)試也是如此。您可以使用它快速測(cè)試大部分重復(fù)的、冗長(zhǎng)的、乏味的測(cè)試,并節(jié)省您的時(shí)間和精力來集中精力和測(cè)試新的和重要的功能。
如詹姆斯·巴赫一句精彩的話說:
“工具是不會(huì)測(cè)試的。只有人來測(cè)試。工具只執(zhí)行“幫助”人們測(cè)試的操作。
工具可以單擊對(duì)象。但是點(diǎn)擊的位置總是由手動(dòng)測(cè)試人員來告訴的。我想你現(xiàn)在明白我的意思了。
誤解2. 陽光下的一切都可以自動(dòng)實(shí)現(xiàn)。
如果您嘗試100%地自動(dòng)化您的測(cè)試用例,也許您將能夠這樣做,但是如果您可以這樣做,那么我們的第一點(diǎn)就會(huì)變成錯(cuò)誤。因?yàn)槿绻磺卸际亲詣?dòng)化的,手動(dòng)測(cè)試人員將做什么?
困惑?對(duì)嗎?
實(shí)際上,關(guān)鍵是,您不能100%地自動(dòng)化您的測(cè)試用例。因?yàn)槲覀?,作為測(cè)試人員,相信沒有一個(gè)應(yīng)用程序可以100%測(cè)試??倳?huì)有一些我們會(huì)錯(cuò)過的情景。只有當(dāng)客戶端使用您的應(yīng)用程序時(shí),才會(huì)出現(xiàn)bug。
因此,如果應(yīng)用程序無法進(jìn)行100%的測(cè)試,如何保證100%的自動(dòng)化?
而且,您能夠自動(dòng)化所有現(xiàn)有測(cè)試用例的可能性非常小??偸怯幸恍﹫?chǎng)景很難自動(dòng)化,而且更容易手工完成。
例如一個(gè)用戶輸入數(shù)據(jù),第二個(gè)用戶批準(zhǔn)數(shù)據(jù),第三個(gè)用戶查看數(shù)據(jù),第四個(gè)用戶禁止查看數(shù)據(jù)。這些場(chǎng)景可以自動(dòng)化,但它們需要大量的時(shí)間和精力。所以如果你只需要手動(dòng)的話就更容易了。
請(qǐng)記住,我們使用汽車的距離,但可能會(huì)有很長(zhǎng)的信號(hào)在路上,會(huì)有燃料消耗,會(huì)有停車空間的問題,停車收費(fèi)和更多的頭痛。在某些情況下,我們只需步行到達(dá)目的地:).
因此,您不應(yīng)該嘗試自動(dòng)化一切。只需要自動(dòng)化那些重要的場(chǎng)景,并且需要花費(fèi)大量的時(shí)間來手動(dòng)完成。
誤解#3. 自動(dòng)化只涉及錄制和播放。
請(qǐng)不要生活在幻想的世界里。這種幻想實(shí)際上是由來自不同自動(dòng)化工具供應(yīng)商的虛假?gòu)V告造成的。他們說,您只需記錄和播放您的步驟,您的測(cè)試用例將被自動(dòng)化。這是個(gè)大謊言!
自動(dòng)化就是一切,除了錄音和回放。純自動(dòng)化工程師通常根本不使用錄音和回放功能。錄制和回放通常用于了解工具是如何為我們的步驟生成腳本的。
一旦我們了解了腳本,我們總是使用腳本來創(chuàng)建自動(dòng)化的測(cè)試。記住,如果你想要進(jìn)行測(cè)試自動(dòng)化,你必須知道編程。. 另一方面,如果你不懂編程的話,就不要膽大妄為。因?yàn)楹腿魏纹渌蝿?wù)一樣,編程也可以通過實(shí)踐和奉獻(xiàn)來學(xué)習(xí)。
我認(rèn)識(shí)一些人,他們甚至不是計(jì)算機(jī)科學(xué)背景的人,但他們學(xué)會(huì)編程,現(xiàn)在他們是了不起的自動(dòng)化工程師。在微軟,他們雇傭會(huì)編程的測(cè)試人員。他們被稱為SDET(測(cè)試軟件開發(fā)工程師)。職務(wù)描述的第一行說:“sdet編寫了許多代碼….“
請(qǐng)學(xué)習(xí)編程,不要逃避它。它會(huì)讓你驚人的測(cè)試器
一個(gè)組織要實(shí)施自動(dòng)化測(cè)試,首先就要對(duì)自動(dòng)化測(cè)試有一個(gè)正確的理解。我們通常對(duì)自動(dòng)化測(cè)試,都會(huì)有一些理解誤區(qū),比如:
誤解#4. 所有測(cè)試用例都可以自動(dòng)化
首先講所有的測(cè)試用例都自動(dòng)化本身就是不必要的,因?yàn)樽詣?dòng)化測(cè)試要開發(fā)測(cè)試腳本,而且執(zhí)行自動(dòng)化測(cè)試,也是需要時(shí)間的,把所有測(cè)試用例全部自動(dòng)化,未必就是性價(jià)比最高的。
另一方面自動(dòng)化測(cè)試,主要的是用來減少回歸測(cè)試的工作量,而回歸測(cè)試,最重要的是避免最基本的功能和最常用的功能受到影響,從這個(gè)理論上來說,我們會(huì)把最基本的功能和最常用的功能的測(cè)試用例進(jìn)行自動(dòng)化,這個(gè)就足夠了。
現(xiàn)在世界上自動(dòng)化測(cè)試率,最高的也只是達(dá)到80%左右。
誤解#5. 自動(dòng)化測(cè)試找不到bug
自動(dòng)化測(cè)試,主要是避免由于代碼的修改導(dǎo)致原有的正確的功能出現(xiàn)bug,而不是去挖掘更多更深層次的bug。更多更深層次的bug,是把測(cè)試人員解放出來后,由測(cè)試人員通過探索性測(cè)試來發(fā)現(xiàn)的。
誤解#6. 自動(dòng)化測(cè)試一定會(huì)馬上大量減少測(cè)試人員數(shù)量
自動(dòng)化測(cè)試雖然會(huì)最終減少測(cè)試的工作量,但是他不會(huì)是立竿見影的,因?yàn)槟阋獙?shí)現(xiàn)自動(dòng)化測(cè)試,首先就要進(jìn)行自動(dòng)化測(cè)試腳本的開發(fā)和自動(dòng)化測(cè)試環(huán)境的搭建,這需要投入大量的人員和精力。自動(dòng)化測(cè)試能夠多長(zhǎng)時(shí)間見到效果,要取決于這個(gè)過程的長(zhǎng)短。
誤解#7. 自動(dòng)化測(cè)試能代替手工測(cè)試
自動(dòng)化測(cè)試,只適用于回歸測(cè)試,對(duì)于新功能測(cè)試,還是要依賴于測(cè)試人員人員設(shè)計(jì)測(cè)試用例,手動(dòng)執(zhí)行。
誤解#8. 只有性能測(cè)試才需要自動(dòng)化
自動(dòng)化測(cè)試除了應(yīng)用于性能測(cè)試外,還被大量應(yīng)用于功能測(cè)試。
國(guó)外有超過半數(shù)的自動(dòng)化測(cè)試腳本,都是用于功能驗(yàn)證測(cè)試的。
誤解#9. 自動(dòng)化測(cè)試太難上手
自動(dòng)化測(cè)試,已經(jīng)推行了很長(zhǎng)時(shí)間,在網(wǎng)上可以找到很多自動(dòng)化測(cè)試的框架、工具、教程。如果你真想實(shí)施自動(dòng)化測(cè)試,只要安排專業(yè)的測(cè)試人員上手學(xué)習(xí),自動(dòng)化測(cè)試會(huì)很容易實(shí)現(xiàn)的。
心動(dòng)不如行動(dòng)。
最后,自動(dòng)化測(cè)試既沒有那么神奇——能夠解決測(cè)試的所有問題,也不會(huì)非常高精尖——那么難以上手,正確認(rèn)識(shí)自動(dòng)化測(cè)試,腳踏實(shí)地地實(shí)施自動(dòng)化測(cè)試,你就能享受到自動(dòng)化測(cè)試給你帶來的收益。
這正是:
談虎變色不足取,當(dāng)成銀彈不可行
正確認(rèn)識(shí)自動(dòng)化,腳踏實(shí)地去實(shí)施