<h2>一、檢測(cè)點(diǎn)設(shè)置技巧</h2>
正如我們上面所說(shuō)的,好的檢測(cè)點(diǎn)是發(fā)現(xiàn)Bug的關(guān)鍵。但是并不是說(shuō)檢測(cè)點(diǎn)設(shè)置的越多越好,因?yàn)闄z測(cè)點(diǎn)會(huì)消耗機(jī)器資源,測(cè)試用例出錯(cuò)的時(shí)候增加排查難度。所以如何設(shè)置檢測(cè)點(diǎn)呢?通??梢詤⒖既缦路椒ǎ?/p>
(1)根據(jù)測(cè)試用例的側(cè)重點(diǎn)設(shè)置檢測(cè)點(diǎn)
每個(gè)測(cè)試用例都有測(cè)試的重點(diǎn),比如說(shuō),我們測(cè)試登錄的時(shí)候,登錄是否成功,就需要檢測(cè)。但是在我們測(cè)試喜歡項(xiàng)目的時(shí)候,需要先登錄,這個(gè)時(shí)候登錄就不需要設(shè)置檢測(cè)點(diǎn)了,因?yàn)樵诘卿洔y(cè)試用例中已經(jīng)測(cè)試過(guò)了。
(2)設(shè)置檢測(cè)點(diǎn)要全面
我們?cè)诰帉憸y(cè)試用例的時(shí)候,一定要全面了解測(cè)試操作影響了哪些兒方面。對(duì)影響到的地方,都設(shè)置一下檢測(cè)點(diǎn),防止出現(xiàn)遺漏的地方。
(3)設(shè)置檢測(cè)點(diǎn)要靈活
設(shè)置檢測(cè)點(diǎn)的時(shí)候,我們通常會(huì)比較一下實(shí)際的結(jié)果和預(yù)期結(jié)果是否相同??墒怯行﹥簳r(shí)候,我們不能簡(jiǎn)單地進(jìn)行是否相等來(lái)判斷。比如說(shuō):檢測(cè)圖片的時(shí)候,可能會(huì)檢測(cè)圖片是否顯示;有的檢測(cè)對(duì)象在某些兒頁(yè)面會(huì)換行或是添加空格,與預(yù)期有變化,這個(gè)時(shí)候我們可以判斷是否包含關(guān)鍵字即可。靈活使用各種判斷函數(shù),才能使自動(dòng)化測(cè)試用例更加健壯。
<h2> 二、檢測(cè)點(diǎn)設(shè)置中常見(jiàn)的錯(cuò)誤</h2>
在測(cè)試過(guò)程中,我們編寫了測(cè)試用例,設(shè)置了檢測(cè)點(diǎn),可是在測(cè)試用例投入使用的過(guò)程中,我們不得不反復(fù)修改測(cè)試用例。因?yàn)闇y(cè)試用例總是通不過(guò),維護(hù)成本很高。雖然這一部分是因?yàn)楸粶y(cè)對(duì)象變化造成的,還有一部分原因是檢測(cè)點(diǎn)設(shè)置的不對(duì)。所以常見(jiàn)的檢測(cè)點(diǎn)設(shè)置中的錯(cuò)誤如下:
(1)檢測(cè)動(dòng)態(tài)變化的元素
檢測(cè)點(diǎn)不能隨著操作而變化,比如說(shuō)翻頁(yè)。我們想要測(cè)試翻頁(yè)是否成功,就不能去檢測(cè)第二頁(yè)第一個(gè)元素是否是某個(gè)項(xiàng)目。因?yàn)槿绻?xiàng)目增加的話,第二頁(yè)第一個(gè)元素的項(xiàng)目可能會(huì)變化。應(yīng)該先取一下第一個(gè)位置的項(xiàng)目名稱,然后翻頁(yè),再判斷現(xiàn)在第一個(gè)位置的項(xiàng)目是不是和剛剛獲取的項(xiàng)目名稱相同,如果不同,就證明翻頁(yè)成功。
(2)遺漏檢測(cè)點(diǎn)
在一個(gè)測(cè)試用例中,我們要檢測(cè)所有影響到的地方。如喜歡項(xiàng)目操作,如果我們只檢測(cè)我的喜歡項(xiàng)目列表中有沒(méi)有剛剛喜歡的項(xiàng)目,這是不夠的。還要檢測(cè)一下這個(gè)項(xiàng)目的喜歡數(shù)據(jù)是否+1,喜歡項(xiàng)目的入口是否變成已喜歡等相關(guān)檢測(cè)點(diǎn)。
(3)檢測(cè)點(diǎn)設(shè)置過(guò)多
既然上面講到,檢測(cè)點(diǎn)是檢測(cè)Bug的關(guān)鍵,我們就在每一步操作后添加檢測(cè)點(diǎn)。這樣做也是多余的,雖然增加檢測(cè)點(diǎn),更加安全一點(diǎn)兒,但是過(guò)多的檢測(cè)點(diǎn)影響測(cè)試用例運(yùn)行。而且測(cè)試用例如果出錯(cuò)了,我們?nèi)ザㄎ诲e(cuò)誤的時(shí)候,是非常困難,或是一個(gè)測(cè)試用例出錯(cuò)會(huì)導(dǎo)致相關(guān)的測(cè)試用例無(wú)法執(zhí)行。
(4)忘記設(shè)置檢測(cè)點(diǎn)或是檢測(cè)點(diǎn)不是測(cè)試重點(diǎn)
新手寫自動(dòng)化測(cè)試用例的時(shí)候,往往會(huì)寫了每一步的測(cè)試操作代碼,沒(méi)有添加對(duì)應(yīng)的檢測(cè)點(diǎn)或是檢測(cè)點(diǎn)設(shè)置不正確。明明是登錄操作,操作完成之后卻檢測(cè)頁(yè)面顯示是否正確,這樣會(huì)不管操作成功與否,測(cè)試用例都不會(huì)報(bào)錯(cuò),使自動(dòng)化測(cè)試用例失去了意義。
(5)檢測(cè)需要刷新才有反映的元素
在測(cè)試的時(shí)候,有些兒元素在操作完成后需要刷新一下頁(yè)面才能顯示出操作的結(jié)果。手工測(cè)試的時(shí)候,一般會(huì)觸發(fā)刷新操作,可是自動(dòng)化的時(shí)候,如果不刷新,就不符合預(yù)期結(jié)果。所以我們要添加刷新頁(yè)面的代碼,然后再去檢測(cè)。
這幾種是常見(jiàn)的錯(cuò)誤,當(dāng)然也會(huì)有一些比較奇葩的檢測(cè)點(diǎn)設(shè)置錯(cuò)誤的情況。在此也不能一下列舉了,遇到問(wèn)題,要多嘗試幾種方法,會(huì)在網(wǎng)上搜索解決辦法,這也是學(xué)習(xí)自動(dòng)化測(cè)試必備的技能。