新聞中心
在手工測(cè)試階段,針對(duì)項(xiàng)目輸出了測(cè)試用例,如果這些測(cè)試用例需要在版本迭代的過(guò)程中,需要進(jìn)行回歸測(cè)試,通過(guò)手工重復(fù)地執(zhí)行測(cè)試用例,將會(huì)耗費(fèi)大量的人力。

為此應(yīng)運(yùn)而生就有了自動(dòng)化測(cè)試,通過(guò)使用自動(dòng)化工具,將按照測(cè)試用例進(jìn)行點(diǎn)點(diǎn)操作,校驗(yàn)的工作,交給代碼程序來(lái)執(zhí)行,測(cè)試工作,就變得省心省力了。
- 重點(diǎn):測(cè)試用例是自動(dòng)化測(cè)試腳本的依據(jù),一切不基于測(cè)試用例而寫的自動(dòng)化腳本都是耍流氓。
關(guān)于UI自動(dòng)化測(cè)試
UI 自動(dòng)化的本質(zhì):
- 定位元素
- 操作元素
- 模擬頁(yè)面動(dòng)作
- 斷言結(jié)果
- 生成報(bào)告
基于以上5個(gè)本質(zhì),自動(dòng)化測(cè)試的整體流程是這樣的,這里百度登陸功能的測(cè)試用例為例:
- 對(duì)于這條測(cè)試用例,需要找到它的定位元素:用戶名輸入框,密碼輸入框,登陸按鈕
- 操作元素:對(duì)于這3個(gè)定位元素的操作有2種,分別是“輸入”與“點(diǎn)擊”
- 模擬頁(yè)面動(dòng)作,也就是測(cè)試用例的步驟:
- 輸入用戶名
- 輸入密碼
- 點(diǎn)擊登陸按鈕
4. 判斷結(jié)果:將用例中的預(yù)期結(jié)果與實(shí)際結(jié)果進(jìn)行比對(duì),如果一致,代表成功,否則代表失敗。對(duì)于這條測(cè)試用例,登陸成功的標(biāo)志是,頁(yè)面右上角出現(xiàn)了用戶的頭像與用戶名,那么,可以通過(guò)獲取網(wǎng)頁(yè)中用戶名的文本信息,與登錄賬戶的用戶名對(duì)比,一致的話,代表這條用例通過(guò)。
根據(jù)執(zhí)行結(jié)果,自動(dòng)生成報(bào)告,常用的第三方模塊:HtmlTestRunner,Allure2 等
適合UI自動(dòng)化測(cè)試的場(chǎng)景
當(dāng)然,不是所有的測(cè)試場(chǎng)景都適合用自動(dòng)化測(cè)試來(lái)實(shí)現(xiàn)。
對(duì)此,可以參考以下的標(biāo)準(zhǔn)輔助判斷:
- 項(xiàng)目的需求不會(huì)頻繁變動(dòng)
- 頁(yè)面的 UI 已經(jīng)進(jìn)入穩(wěn)定階段
- 項(xiàng)目周期足夠長(zhǎng)
- 大量回歸的測(cè)試任務(wù)
其中,有一些項(xiàng)目是明顯不適合使用 UI 自動(dòng)化測(cè)試的,例如視頻播放器(暴風(fēng)影音,騰訊視頻,愛奇藝等),音樂播放器(例如網(wǎng)易云音樂,QQ 音樂等)等交動(dòng)性強(qiáng),并發(fā)依賴強(qiáng)的軟件。
原因是,這一類軟件,判斷視頻內(nèi)容對(duì)不對(duì),判斷音樂聲音與歌詞對(duì)不對(duì),難度極大。
另外,延伸一個(gè)話題:關(guān)于自動(dòng)化測(cè)試的覆蓋率,面試會(huì)問到的一個(gè)點(diǎn)。
國(guó)內(nèi)大多數(shù)互聯(lián)網(wǎng)公司的項(xiàng)目迭代周期比較短,因此自動(dòng)化覆蓋率一般都不高。
具體還是要根據(jù)項(xiàng)目迭代周期進(jìn)行描述,參考標(biāo)準(zhǔn)是:
- 迭代周期是半年或者一年以上的項(xiàng)目,每次需求變動(dòng)很少,自動(dòng)化測(cè)試的覆蓋率一般是60%-70%,主要是覆蓋之前的舊功能以及核心場(chǎng)景
- 迭代周期為一個(gè)月的項(xiàng)目, 覆蓋率大概是25-30%,主要是覆蓋 P0(極重要)級(jí)別的絕大多數(shù)用例,與 P1(重要)級(jí)別中的部分用例
- 1~2周一個(gè)迭代的項(xiàng)目,覆蓋率大概是10%,主要是覆蓋 P0(極重要)級(jí)別,可能會(huì)對(duì)用戶造成嚴(yán)重影響的核心場(chǎng)景
其次,UI 自動(dòng)化測(cè)試的時(shí)間切入點(diǎn)主要有2個(gè):
- 冒煙測(cè)試階段
- 回歸測(cè)試階段
UI 自動(dòng)化測(cè)試設(shè)計(jì)原則
- 一個(gè)測(cè)試用例完成一個(gè)功能點(diǎn)測(cè)試(常用):一個(gè)手工用例對(duì)應(yīng)一個(gè)自動(dòng)化測(cè)試用例
- 一個(gè)腳本是一個(gè)完整的場(chǎng)景
- 腳本之間獨(dú)立,不能有依賴(腳本間相互隔離):例如與登陸狀態(tài)相關(guān)的用例:個(gè)人中心、訂單詳情、下單購(gòu)物等,如果腳本之間不獨(dú)立,相互依賴,在登陸的測(cè)試腳本失敗的情況下,會(huì)導(dǎo)致個(gè)人中心、訂單詳情、下單購(gòu)物的測(cè)試腳本全軍覆滅,后續(xù)修復(fù)與維護(hù)成本高
4. 設(shè)置合適的檢查點(diǎn):通過(guò)斷言判斷用例的成功與否
5. 設(shè)計(jì)良好的框架:Python 常用的測(cè)試框架有 unittest 與 pytest,利用框架,及對(duì)共用的測(cè)試模塊進(jìn)行封裝,減少自動(dòng)化測(cè)試腳本維護(hù)的工作量
總結(jié)
本文名稱:關(guān)于Web端-UI自動(dòng)化測(cè)試
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/cdjicjo.html


咨詢
建站咨詢
