接口自动化实战设计思路,想法及疑问(一)
? ? ? ?各位粉絲朋友們大家好,最近在學(xué)習(xí)研究接口自動(dòng)化測(cè)試時(shí),在設(shè)計(jì)思路和實(shí)踐過程中,碰到了很多問題,再不斷的優(yōu)化和調(diào)整,這過程中產(chǎn)生了很多疑問和不解,并與很多測(cè)試的朋友進(jìn)行交流想法,但是各自想法意見偏差較大,所以我初次整理了幾個(gè)問題分享給大家,想聽聽大家的設(shè)計(jì)思路和想法:
一、接口自動(dòng)化中,列表類功能如何做斷言比較合理?
1、斷言接口響應(yīng)的code、msg、響應(yīng)時(shí)長(zhǎng)
2、斷言響應(yīng)的關(guān)鍵字段值
3、關(guān)鍵字段值與sql查詢出來的預(yù)期值做比對(duì)
二、接口自動(dòng)化中,表單提交類功能如何斷言?
1、斷言接口響應(yīng)的code、msg、響應(yīng)時(shí)長(zhǎng)
2、接口的傳參字段值和提交后,入庫更新后字段值做比對(duì)
三、接口自動(dòng)化中,前置和數(shù)據(jù)清理大家會(huì)做嗎?如果不做數(shù)據(jù)清理,每次跑自動(dòng)化時(shí),不清楚賬號(hào)處于哪個(gè)進(jìn)度,每個(gè)用例開始時(shí)都要判斷下,這樣會(huì)很麻煩?
一般我會(huì)做前置數(shù)據(jù)清理和后置數(shù)據(jù)清理,因?yàn)椴荒艽_定賬號(hào)當(dāng)前處于什么進(jìn)度,假如我想跑實(shí)名認(rèn)證成功用例,測(cè)試賬號(hào)某天已經(jīng)實(shí)名認(rèn)證過了,但是當(dāng)我跑實(shí)名認(rèn)證用例時(shí),目前并不知道測(cè)試賬號(hào)的進(jìn)度情況,這時(shí)接口提示已經(jīng)綁定過了,導(dǎo)致了跑的用例不是我想要的,所以每個(gè)接口用例用例跑之前和跑之后都清理下產(chǎn)生的數(shù)據(jù),保證了賬號(hào)的可重復(fù)使用
四、接口自動(dòng)化中,場(chǎng)景自動(dòng)化測(cè)試和單接口自動(dòng)化測(cè)試的區(qū)別是什么?
1、單接口自動(dòng)化注重接口的健壯性,使用測(cè)試方法對(duì)接口進(jìn)行測(cè)試的,接口之間相互獨(dú)立,關(guān)聯(lián)性不大
2、場(chǎng)景自動(dòng)化注重業(yè)務(wù)流程,將有業(yè)務(wù)關(guān)聯(lián)流程的接口串起來,保證了業(yè)務(wù)的正確性,如果1個(gè)接口失敗,整個(gè)場(chǎng)景就算失敗了
五、接口自動(dòng)化中,前置數(shù)據(jù)依賴,大家是如何處理的?
1、用sql構(gòu)造前置數(shù)據(jù),前提是你對(duì)業(yè)務(wù)非常數(shù)據(jù),業(yè)務(wù)關(guān)聯(lián)的相關(guān)表字段非常數(shù)據(jù),這樣才能確保sql構(gòu)造的數(shù)據(jù)準(zhǔn)備,當(dāng)前用例才可以正常進(jìn)行
2、調(diào)用相關(guān)接口獲取依賴值
六、接口自動(dòng)化中,前置業(yè)務(wù)依賴,大家是如何處理的?
1、用sql構(gòu)造前置數(shù)據(jù),前提是你對(duì)業(yè)務(wù)非常數(shù)據(jù),業(yè)務(wù)關(guān)聯(lián)的相關(guān)表字段非常數(shù)據(jù),這樣才能確保sql構(gòu)造的數(shù)據(jù)準(zhǔn)備,當(dāng)前用例才可以正常進(jìn)行
2、單獨(dú)封裝前置依賴接口,這樣的話處理會(huì)非常復(fù)雜點(diǎn),比如一個(gè)項(xiàng)目,必須進(jìn)行登錄、實(shí)名認(rèn)證、綁定銀行卡,才可以進(jìn)行充值、提現(xiàn)操作,這樣如果我們進(jìn)行充值或提現(xiàn)用例測(cè)試時(shí),就需要調(diào)登錄-實(shí)名認(rèn)證-綁卡接口,然后在可以正常進(jìn)行,這里邏輯處理稍復(fù)雜些,目前正常嘗試這種方法
七、前置功能依賴,sql處理好點(diǎn)還是調(diào)前置接口好點(diǎn)?
根據(jù)實(shí)際項(xiàng)目中的具體case靈活運(yùn)用,各有利弊,調(diào)api生成數(shù)據(jù)能夠保證數(shù)據(jù)準(zhǔn)確性,而且執(zhí)行效率高,而業(yè)務(wù)較為復(fù)雜的情況下,需要調(diào)用多個(gè)前置api,這樣處理就較為復(fù)雜;但不是所有數(shù)據(jù)創(chuàng)建都有對(duì)應(yīng)的api,這時(shí)候只能通過sql構(gòu)造前置數(shù)據(jù)了,使用sql構(gòu)造數(shù)據(jù)前提是業(yè)務(wù)和業(yè)務(wù)關(guān)系到的表需要非常熟悉,sql操作的話能夠直接通過數(shù)據(jù)庫操作,在短時(shí)間內(nèi)生成批量數(shù)據(jù),但是后期如果sql語句變化時(shí),維護(hù)成本比較高。
總結(jié)
以上是生活随笔為你收集整理的接口自动化实战设计思路,想法及疑问(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【安全测试】可怕的越权
- 下一篇: 构建测试的体系化思维(基础篇)