1. 如何提高自動(dòng)化測(cè)試中case的穩(wěn)定性?
每個(gè)測(cè)試用例執(zhí)行后對(duì)測(cè)試系統(tǒng)不會(huì)進(jìn)行修改,均包含Setup和TearDown
不同case之間相互獨(dú)立,沒有依賴
UI 元素定位采用Id,和RD協(xié)調(diào),不要使用數(shù)組下標(biāo)等不穩(wěn)定的定位方式
對(duì)測(cè)試系統(tǒng)進(jìn)行分層設(shè)計(jì),將element/Keyword/WorkFlow/TestCase進(jìn)行分離,所有case執(zhí)行需要的元素和行為都是通用的,只有case流程不一樣,元素修改或操作修改,只需要修改底層函數(shù),不用修改case
減少使用delay,而是用waitXXXXReady代替
加入重試機(jī)制,減少由于環(huán)境問題帶來的影響
2. 如何提高自動(dòng)化測(cè)試中case的復(fù)用性?
使用變量保存可變參數(shù),不用寫死的代碼
對(duì)測(cè)試系統(tǒng)進(jìn)行分層設(shè)計(jì),將element/Keyword/WorkFlow/TestCase進(jìn)行分離。
將頁(yè)面element組成一個(gè)element repo,給各個(gè)行為和keyword調(diào)用
封裝每個(gè)頁(yè)面對(duì)應(yīng)的Keyword行為,供workflow使用
封裝不同的WorkFlow,供testcase使用
有重復(fù)就要考慮封裝,使用組合來實(shí)現(xiàn)業(yè)務(wù)邏輯
3. 如何提高case的可讀性,可維護(hù)性?
Case書寫流程、命名等需要有團(tuán)隊(duì)規(guī)范,大家都統(tǒng)一,保持統(tǒng)一的編碼風(fēng)格
使用Git進(jìn)行case代碼管理
堅(jiān)持操作方法的原子性,而后使用組合模式實(shí)現(xiàn)業(yè)務(wù)邏輯,減少耦合
代碼不能硬編碼,盡量使用變量
4. 你會(huì)如何管理一只自動(dòng)化測(cè)試團(tuán)隊(duì)?
敏捷方式,團(tuán)隊(duì)成員分工包括:
BA:對(duì)需要的測(cè)定用例進(jìn)行評(píng)估和分析,確認(rèn)測(cè)試用例的作用域和集合
RD:根據(jù)BA編寫的用例,編寫自動(dòng)化腳本
Ops:對(duì)自動(dòng)化腳本進(jìn)行運(yùn)行、部署和集成