1.允許測(cè)試腳本里調(diào)用api拙毫。
我們經(jīng)常在測(cè)試時(shí)要做一些準(zhǔn)備活動(dòng),比如注冊(cè)一個(gè)新用戶棺禾。這一步驟可能每次花費(fèi)幾分鐘時(shí)間缀蹄,那么這時(shí)候建議直接調(diào)用注冊(cè)用戶的api來生成新用戶。每個(gè)場(chǎng)景節(jié)約幾分鐘,加起來就多了缺前。
2.允許測(cè)試腳本里訪問數(shù)據(jù)庫(kù)蛀醉。
雖然我們做測(cè)試可以說重點(diǎn)在界面上,但是業(yè)務(wù)邏輯上如果出錯(cuò)了最好也要能找出來衅码。也就是說拯刁,我的檢查點(diǎn)不止檢查頁(yè)面元素,更先去檢查對(duì)應(yīng)數(shù)據(jù)在數(shù)據(jù)庫(kù)里是否正確逝段。好處是數(shù)據(jù)庫(kù)里不正確的時(shí)候垛玻,腳本就不用傻乎乎等個(gè)幾十秒才報(bào)出來頁(yè)面上的錯(cuò)誤。
3.為測(cè)試準(zhǔn)備獨(dú)立干凈的測(cè)試環(huán)境惹恃。
測(cè)試如果針對(duì)網(wǎng)站夭谤,很多時(shí)候要考慮在windows系統(tǒng)上跑腳本。一般建議和工作用的電腦分開巫糙。如果有條件朗儒,還可以自動(dòng)化搭建這樣的測(cè)試環(huán)境,我們以前是通過云自動(dòng)搭建符合要求的虛擬機(jī)來做参淹。
4.考慮測(cè)試邏輯的重用性醉锄。
通常采用頁(yè)面對(duì)象建模,詳見selenium官網(wǎng)浙值。如果是商業(yè)工具則一般已經(jīng)自帶對(duì)象庫(kù)恳不,如QTP等都自帶了。簡(jiǎn)單來說就是同樣的測(cè)試邏輯封裝在一起开呐,用的時(shí)候直接調(diào)烟勋,改的時(shí)候只改一個(gè)地方。
5.在開發(fā)階段考慮可測(cè)性筐付。
有的app就是不可測(cè)卵惦,這也動(dòng)態(tài)那也動(dòng)態(tài),控件各種不標(biāo)準(zhǔn)瓦戚,自定義沮尿。這種是沒法做自動(dòng)化的。比如用selenium去測(cè)gmail的網(wǎng)頁(yè)版较解,一切都是動(dòng)態(tài)的畜疾,那簡(jiǎn)直瘋了也做不成功。相反比如說去看京東的網(wǎng)頁(yè)印衔,各種標(biāo)準(zhǔn)啡捶,再?zèng)]有比它更適合用selenium測(cè)試的了〖楸海可測(cè)性每提升一丁點(diǎn)兒届慈,自動(dòng)化測(cè)試效率提升一大截徒溪。質(zhì)的改變。
6.采用統(tǒng)一的設(shè)計(jì)和分層次的設(shè)計(jì)金顿。
有一個(gè)經(jīng)典問題,在我去一些公司面試時(shí)被反復(fù)問到鲤桥,有一個(gè)測(cè)試場(chǎng)景會(huì)用到網(wǎng)站揍拆、桌面app、手機(jī)app茶凳,如何做自動(dòng)化嫂拴?
具體點(diǎn)我舉個(gè)例子,你在手機(jī)端拍了一張照片贮喧,上傳到了網(wǎng)盤上筒狠,放下手機(jī)在桌面端打開這個(gè)照片并做了一些修改和美化,然后在網(wǎng)頁(yè)端把他展示出去箱沦。這個(gè)場(chǎng)景如何自動(dòng)化測(cè)試辩恼?
如果采用統(tǒng)一的自動(dòng)化測(cè)試設(shè)計(jì)應(yīng)當(dāng)可以解決。不管是桌面的網(wǎng)頁(yè)的還是手機(jī)的谓形,對(duì)測(cè)試腳本來說都是執(zhí)行測(cè)試的庫(kù)去負(fù)責(zé)的灶伊,也就是說我寫測(cè)試只是寫業(yè)務(wù)邏輯,如何執(zhí)行是那些庫(kù)的事情寒跳。第一層是測(cè)試邏輯層聘萨,第二層是測(cè)試實(shí)現(xiàn)層。
這樣分開的好處是:1.實(shí)現(xiàn)層的工具可能會(huì)換童太,2.可以測(cè)試復(fù)雜的場(chǎng)景米辐,3,維護(hù)人員可以分開书释,降低測(cè)試邏輯層維護(hù)人員的技術(shù)要求翘贮,4,便于大團(tuán)隊(duì)的協(xié)作征冷。
7.允許半自動(dòng)化測(cè)試
我曾經(jīng)這么做:腳本負(fù)責(zé)截圖择膝,我事后肉眼人工檢查截下來的圖,來判斷是否有界面錯(cuò)亂之類的問題检激。好處是實(shí)現(xiàn)方便肴捉,不用搞什么鬼的圖像比對(duì)。圖像比對(duì)完了之后你還是要瞄一眼截圖叔收,不然你不放心圖像比對(duì)的結(jié)果齿穗,事實(shí)上我自己光瞄幾眼就看完了所有圖片,每種界面截個(gè)一兩張就夠了饺律。