第一,交叉測試會(huì )找到以往被忽略的bug。
第二,熟悉不同模塊,測試人員將來(lái)可以在工作中互為備份。
第三,增強了團隊凝聚力,并激發(fā)對測試工作的熱情。
2. 測試自動(dòng)化可以隨時(shí)觸發(fā)運行
測試自動(dòng)化一旦開(kāi)發(fā)完成,就可以在任何時(shí)間被觸發(fā)運行,而沒(méi)有下班或周末的概念,測試人員完全可以在下班之前觸發(fā)某個(gè)自動(dòng)化開(kāi)關(guān),把測試任務(wù)移交給自動(dòng)化腳本,然后經(jīng)過(guò)一夜的運行,第二天早上上班來(lái)查看自動(dòng)化測試報告,這是自動(dòng)化的獨特優(yōu)勢所在。從這個(gè)意義上講,測試自動(dòng)化延伸了手工測試的工作時(shí)間和范圍。
3. 測試自動(dòng)化有助于知識的存儲和移交
這是一個(gè)潛在的事實(shí),在以前的手工測試一統天下的時(shí)候,測試人員的知識主要是靠文檔存儲,比如測試計劃,測試案例說(shuō)明書(shū),bug數據庫等等。因此,我們看到,當一個(gè)測試工程師離職的時(shí)候,他會(huì )把他的知識以文檔的方式留給原來(lái)的團隊。而隨著(zhù)自動(dòng)化測試的發(fā)展,這種測試知識的形式也在發(fā)生變化,測試人員的技術(shù)可以通過(guò)測試程序保留下來(lái)。對整個(gè)測試團隊來(lái)說(shuō),能夠量化共享的知識越多,團隊就越穩定,受到個(gè)體測試人員的影響就越少。這是老板愿意看到的場(chǎng)面,因此,從這個(gè)角度來(lái)說(shuō),測試經(jīng)理比測試工程師更有動(dòng)力去推動(dòng)軟件測試自動(dòng)化。
4. 第三方自動(dòng)化測試工具的使用提高了自動(dòng)化測試開(kāi)發(fā)的效率
如果說(shuō)前三點(diǎn)已經(jīng)講清了自動(dòng)化測試的合理性動(dòng)機,那么自動(dòng)化測試工具的應用則為自動(dòng)化測試實(shí)施提供了保障,使得做自動(dòng)化測試不在那么困難和復雜,而變得簡(jiǎn)單和有效率。
使用Junit來(lái)完成案例一
import junit.framework.TestCase;
public class funTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testFun() throws Throwable {
//調用被測函數
int i = Fun(2);
//使用junit提供的assert斷言語(yǔ)句比較結果
assertTrue(1,i);
}
}
在以上代碼中, funTest類(lèi),以及funTest類(lèi)的setup函數和teardown函數(環(huán)境回收工作)是由Junit自動(dòng)生成的,我們寫(xiě)的測試程序只有2條語(yǔ)句,其中斷言語(yǔ)句assertTrue會(huì )通過(guò)比較,給出pass還是fail的結果報告?梢钥闯,使用Junit工具幫我們減少了自動(dòng)化測試開(kāi)發(fā)的工作量。
使用QTP來(lái)完成案例二,如下:
使用QTP錄制同樣的google搜索操作,只有兩條語(yǔ)句生成:
Browser(”Google”).Page(”Google”).WebEdit(”q”).Set “測所”
Browser(”Google”).Page(”Google”).WebButton(”Google 搜索”).Click
其中Browser,page,webEdit,webbutton都是QTP提供的對象,操作起來(lái)非常直觀(guān)方便。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/