到今天為止做api自動(dòng)化已經(jīng)有一段時(shí)間了涮雷,所以總結(jié)一下這段時(shí)間對(duì)于自動(dòng)化的認(rèn)識(shí),以及在設(shè)計(jì)程序的過(guò)程中怎樣增加用例的健壯性
-
對(duì)自動(dòng)化認(rèn)識(shí)的誤區(qū)
-
自動(dòng)化先行:
1.我認(rèn)為自動(dòng)化先行不是不可行只是沒(méi)有必要葛账,畢竟所謂的自動(dòng)化椿胯,也只是用代碼測(cè)黑盒,并不能從根源發(fā)現(xiàn)問(wèn)題;
2.既然是測(cè)黑盒辰妙,那單純從測(cè)試接口來(lái)說(shuō),還是人工稍微快些且靈活性更強(qiáng)一點(diǎn)甫窟;
3.人工測(cè)試與開(kāi)發(fā)同學(xué)聯(lián)調(diào)符合業(yè)務(wù)需求密浑,符合邏輯以后,開(kāi)始測(cè)試接口的健壯性粗井,可以參考另一篇文章接口用例設(shè)計(jì)
4.經(jīng)過(guò)以上步驟的接口尔破,才是一個(gè)基本穩(wěn)定,具備可持續(xù)監(jiān)測(cè)價(jià)值的接口浇衬,這時(shí)候我們?cè)僖M(jìn)自動(dòng)化接口測(cè)試懒构,可以使開(kāi)發(fā)修改其它bug時(shí),對(duì)該接口的影響盡早被發(fā)現(xiàn)耘擂;
-
數(shù)據(jù)驅(qū)動(dòng):
數(shù)據(jù)驅(qū)動(dòng):通過(guò)excel/xml傳入各種參數(shù)值
- 1.在自動(dòng)化模型選型的時(shí)候我也思考過(guò)這種問(wèn)題胆剧,是否應(yīng)該才用數(shù)據(jù)驅(qū)動(dòng)的方式;
- 2.我的自動(dòng)化思想是:自動(dòng)化檢測(cè)醉冤,自動(dòng)化回歸秩霍;我不認(rèn)為用數(shù)據(jù)驅(qū)動(dòng)的方式進(jìn)行自動(dòng)化測(cè)試有任何優(yōu)點(diǎn),查看大量資料基本千篇一律蚁阳,通過(guò)excel或者xml編寫用例铃绒,理由也是異口同聲的為了方便測(cè)試同學(xué)進(jìn)行接口測(cè)試,我感覺(jué)很不可思議螺捐,如果是單純的功能測(cè)試接口颠悬,那比你自己寫的代碼更加強(qiáng)壯的工具太多了,就目前來(lái)說(shuō)我還沒(méi)有找到能讓我轉(zhuǎn)變驅(qū)動(dòng)方式的想法定血;
- 3.現(xiàn)在我的用例都是通過(guò)unittest進(jìn)行管理赔癌,通過(guò)配置文件進(jìn)行用例的配置;
-
用例設(shè)計(jì)
- 1.總是想將用例覆蓋度盡量擴(kuò)大:這樣做的后果是可怕的澜沟,就是可怕的維護(hù)成本届榄,不多說(shuō),自己體會(huì)倔喂;另外也沒(méi)啥必要铝条;
- 2.用例中寫靜態(tài)數(shù)據(jù):這樣做當(dāng)時(shí)很開(kāi)心,但是真正跑起來(lái)的時(shí)候席噩,會(huì)發(fā)現(xiàn)問(wèn)題越來(lái)越多班缰,單從測(cè)試環(huán)境來(lái)說(shuō),你用到的某個(gè)數(shù)據(jù)悼枢,就不一定會(huì)被哪個(gè)好隊(duì)友刪掉埠忘,這時(shí)候用例必然失敗;
3.用例中做好環(huán)境配置:比如上一條中說(shuō)到的莹妒,也會(huì)有特殊情況名船,就是當(dāng)前需要的數(shù)據(jù)根本沒(méi)有對(duì)應(yīng)結(jié)款產(chǎn)生數(shù)據(jù),而我們又不能去查庫(kù)(線上的我是查不了)旨怠,這時(shí)候就要跟親愛(ài)的隊(duì)友打好招呼渠驼,找一個(gè)穩(wěn)妥的數(shù)據(jù),做好環(huán)境判斷鉴腻,在用例中分情況處理迷扇;
4.關(guān)于用例的設(shè)計(jì)也是基于自動(dòng)化思想而來(lái),首先是自動(dòng)化檢測(cè)爽哎,那如果實(shí)現(xiàn)這個(gè)蜓席,我只需要知道當(dāng)前接口
status
是否符合預(yù)期即可,通過(guò)則說(shuō)明接口正常课锌,失敗則說(shuō)明接口異常5.其次是自動(dòng)化回歸厨内,要達(dá)到這點(diǎn)就有一些難度了,像現(xiàn)在的公司主要做 To B的業(yè)務(wù),所以一般的接口都要處理登錄依賴,另外渺贤,還要在用例的配置上符合業(yè)務(wù)邏輯隘庄,通過(guò)上一個(gè)接口產(chǎn)生的新數(shù)據(jù)作為下一個(gè)接口的源數(shù)據(jù);然后校驗(yàn)接口字段癣亚,這種依情況處理吧丑掺;
-
用例的健壯性
維護(hù)的東西多了以后,越來(lái)越感覺(jué)述雾,用例的健壯性是有多重要街州;
這里說(shuō)的健壯性主要有2點(diǎn):
1.用例覆蓋度
這個(gè)體會(huì)頗深,寫的是覆蓋的太多玻孟,那你維護(hù)的成本就會(huì)越高唆缴;覆蓋的太少,又怕會(huì)因?yàn)楦采w不全會(huì)遺留什么為題黍翎;我的方法是:覆蓋度不能太高且一定要覆蓋致命性問(wèn)題面徽;根據(jù)這種思想去編寫用例,會(huì)少很多維護(hù)成本匣掸,而且即使遺留一些問(wèn)題又不會(huì)產(chǎn)生大的影響趟紊;而且能加入自動(dòng)化行列的接口是已經(jīng)通過(guò)嚴(yán)格的功能測(cè)試的;2.用例包含的情況
還是上邊說(shuō)的情況碰酝,設(shè)計(jì)用例的時(shí)候霎匈,不能跑通本地環(huán)境就萬(wàn)事大吉了,還需要適配各種環(huán)境送爸,類似數(shù)據(jù)的選擇铛嘱,狀態(tài)碼的統(tǒng)一暖释,分情況驗(yàn)證問(wèn)題的機(jī)制等等;
@雨--- 2016-09-26 19:05:08