自動(dòng)化測(cè)試是一個(gè)復(fù)雜的工作,隨著該領(lǐng)域的快速發(fā)展,雖然其熱度獲得了快速提升,但,但在體系和規(guī)模建設(shè)方面還相對(duì)落后,關(guān)鍵是大家對(duì)其的定位,很多公司以及很多人都知道做好自動(dòng)化測(cè)試不簡(jiǎn)簡(jiǎn)單單的靠一個(gè)工具,而更需要一個(gè)框架,但其總是對(duì)“自動(dòng)化測(cè)試框架”缺乏清晰的定位,很容易將其定位成了一個(gè)固定的框架。中培偉業(yè)《軟件自動(dòng)化測(cè)試與持續(xù)集成最佳實(shí)踐》培訓(xùn)專(zhuān)家陸老師指出,自動(dòng)化測(cè)試框架不是一個(gè)模式,而是一系列思想的集合,是將各種自動(dòng)化測(cè)試框架思想集合應(yīng)用去搭建成的一個(gè)分層組織。
1. 所謂模塊化思想,就是將一個(gè)測(cè)試用例中的幾個(gè)不同的測(cè)試點(diǎn)拆分并且將其單個(gè)點(diǎn)的測(cè)試步驟進(jìn)行了封裝,形成了一個(gè)模塊。
例如:一個(gè)測(cè)試用例要對(duì)一個(gè)登錄程序進(jìn)行測(cè)試,其中包括:用戶(hù)名輸入、密碼輸入、以及確定登錄;
那么就可以將用戶(hù)名輸入、密碼輸入、確定登錄、取消登錄四個(gè)操作分別封裝在四個(gè)不同的模塊中。測(cè)試時(shí),只需調(diào)用其模塊即可。這樣的話,當(dāng)一個(gè)模塊有變化,你只需單獨(dú)維護(hù)那個(gè)模塊即可,也可以根據(jù)模塊的不同組合成不同的測(cè)試用例。
2. 所謂測(cè)試庫(kù)思想,就是模塊化思想的升華,其為應(yīng)用程序的測(cè)試創(chuàng)造了庫(kù)文件(可以是APIsDLLs等),這些庫(kù)文件為一系列函數(shù)的集合。其與模塊化思想不同的是,其拓展了接口思想,即可以通過(guò)接口去傳遞參數(shù),而不是一個(gè)封死的模塊,可以說(shuō)是一個(gè)多了一個(gè)“門(mén)”的交互型模塊。
例如:還是以上那個(gè)測(cè)試用例,只是將用戶(hù)名輸入、密碼輸入、確定登錄、取消登錄封裝成一個(gè)庫(kù),這個(gè)庫(kù)含有一個(gè)函數(shù)Login,這個(gè)函數(shù)Login接收兩個(gè)參數(shù)“用戶(hù)名、密碼”,對(duì)輸入不同的用戶(hù)名和密碼可以進(jìn)行不同的測(cè)試用例。也可以另外一個(gè)函數(shù)Cancle
3. 所謂數(shù)據(jù)驅(qū)動(dòng)思想,眾說(shuō)紛紜,很多人都覺(jué)僅僅依靠用EXCLE表進(jìn)行不同數(shù)據(jù)的讀取僅是一個(gè)高級(jí)的參數(shù)化,其實(shí)怎么理解并不重要,關(guān)鍵是其思想能夠好的應(yīng)用到你的框架中。而我的理解就是變量不變,數(shù)據(jù)驅(qū)動(dòng)結(jié)果,不同的數(shù)據(jù)導(dǎo)致了不同的結(jié)果的產(chǎn)生。而對(duì)于數(shù)據(jù)的導(dǎo)入,可以通過(guò)很多方式,例如:EXCLE表、XML(用在WEB中)、數(shù)據(jù)庫(kù)(DB)、CSV文件、TXT等都可以。
4. 所謂關(guān)鍵字思想,這個(gè)思想,我曾經(jīng)一直思考,它與面向?qū)ο蟮年P(guān)系,與交互模塊化思想的區(qū)別。后來(lái)個(gè)人理解,其實(shí)關(guān)鍵字驅(qū)動(dòng)就是一種面向?qū)ο蟮乃枷耄纾篞TPRFT中,對(duì)象可以為一個(gè)數(shù)據(jù)或者一個(gè)關(guān)鍵字,對(duì)對(duì)象的抓取,可以將其測(cè)試對(duì)象封裝為一個(gè)關(guān)鍵字(即可以將gui元素封裝成了一個(gè)個(gè)關(guān)鍵字),這樣可以對(duì)其關(guān)鍵對(duì)象進(jìn)行各種操作了,不同的對(duì)象可以驅(qū)動(dòng)不同的測(cè)試流向與結(jié)果。
簡(jiǎn)單的應(yīng)用的方式可以用一個(gè)EXCEL表,里面包括“對(duì)象類(lèi)型”“對(duì)象名稱(chēng)”“對(duì)象操作名稱(chēng)”“判斷方式”“預(yù)期結(jié)果”。這樣的話,可以通過(guò)導(dǎo)入不同的對(duì)象類(lèi)型和名稱(chēng)、不同的對(duì)象操作來(lái)構(gòu)建成了一個(gè)測(cè)試用例表了。
以上只是對(duì)這些思想的個(gè)人理解,做好自動(dòng)化測(cè)試,不是說(shuō)你掌握了一個(gè)框架,而是要掌握其自動(dòng)化的思想,然后根據(jù)這些思想,結(jié)合你不同的測(cè)試環(huán)境和流程來(lái)構(gòu)建你自己的自動(dòng)化測(cè)試框架。