介面自動化測試的 「能」 與 「不能」

2022-06-05 16:06:15 字數 1891 閱讀 2800

• 用於專案的 api 層的 http 介面的功能邏輯驗證• 減少手工測試的工作(回歸驗證;跨模組的驗證)• 實現手工驗證不能做的驗證(如介面涉及大量資料的排序比較)• 手工很難充分驗證的功能邏輯(如介面的功能驗證涉及大量的資料)

p.s. 實際專案中,介面自動化的根本目的是什麼?

個人認為是定時跑時,能監控介面,當介面功能失常時,可以及時發現,即發現 bug。因此,可以使用**覆蓋率來評估介面自動化的完整性,但更重要的是發現問題。

切記:• 不要為了做自動化而做自動化,做的首要目標是問題出現時,能第一時間發現;• 自動化中的**覆蓋率統計可以作為參考,但不能一開始就為了提高覆蓋率,陷入 case 設計之中;

注意:好的介面自動化 case 設計,依賴於 case 設計者的功能理解程度(手工測試的功力)+ 功能覆蓋點

原則:2. 覆蓋手工測試不易檢查/太浪費時間的檢查

比如:• 乙個 http 介面設計大量的資料比較的時候;• 介面的 json 返回不能直接檢查功能點是否正確(需要呼叫另乙個介面的 json 來間接驗證時);• 乙個介面的 json 返回需要和其他模組的介面聯合」 互相驗證 「(需要呼叫其他模組的介面的 json,兩個 json 相互來驗證彼此的正確性)

3. 」邊緣性「的功能檢查 這裡主要指的是回歸驗證。如果系統涉及邊緣性的功能驗證,把此類功能設計層自動化用例

4. 介面驗證的程度 介面的驗證:即判斷乙個介面是否正常的標準。注意:介面引數」合理地「組合;

5. db 資料更新檢查

(如果有必要)注意從介面的角度檢查 db 資料的更新:

• 其他系統的資料更新到待測系統 db 中的資料;• 每天待測系統由於使用者操作更新到 db 中的資料;

6. 介面自動化的資料準備

關於是否需要為介面自動化,特意在 db 中準備需要的資料,適需要程度而定。原則:除非必須,否則不用準備。如果不準備資料,無法完成對介面的驗證,則自己準備資料即可。

注意:一旦自己準備資料,評估對其他功能驗證的影響。確保 db 中資料量和真實性(模擬的資料需要充足,並且不能和真實資料差異性過大)。

自動化一般會選擇每天定時跑。這裡需要注意的一點就是定時跑的時間選擇。時間選擇上注意幾點:

2)如果要檢查 db 資料更新的有關邏輯,注意資料的穩定性 (如使用者量少的時候);

3)在測試時(非生產環境),介面涉及讀,寫 db,考慮是否需要定時跑;

首先,介面自動化不是萬能的,總有覆蓋不到的時候。知道自動化的」不能「之處,才能更好配合手工測試出問題。

自動化的」不能「之處如下:

1)http 介面突然出現壓力問題(前期的壓測);

2)web 層面的手動測試 (新功能上線後,對原有功能回歸時,仍需要介面自動化驗證介面,手工測試 web 頁面功能);

3)異常情況(如需要第三方 api 掛掉/超時的場景);

1)實現變動 vs 維護的工作量 vs 檢查的詳細程度;

檢查詳細程度:自己和自己比;自己和同類介面同一指標比較(因為口徑不一致,或者內部實現變化,需要後續維護);

p.s. 小的點,執行時間和執行頻率;

用途:發現功能失常,功能不可用;

2)介面監控 —— 執行時間和執行頻率

• 檢查詳細程度 vs 執行時間和執行頻率 (只能和自己);• 檢查詳細程度 vs 經常頻繁報警(乙個介面怎樣算是正常的,返回非200+功能正常)

3)資料包表;

資料的正確性:統計口徑(業務方的口徑+多個介面/模組口徑的差異後導致業務方不一致)。

痛點當然源自難點:

•當介面本身實現頻繁變動、對介面的檢查太過詳細、開發修復緩慢時,那麼不停的報警將會來了。•不合理的自動化設計及維護方案,造成自動化成本大於自動化收益時,介面自動化就變得無足輕重了。實際專案中的體會是:為了自動化而自動化。特別測試場景過於複雜時,當自動化實現成本遠大於手工測試成本時,就沒有必要非去自動化測試了。

(文章**於霍格沃茲測試學院)

介面測試 介面自動化測試

1 介面自動化到底關注哪些點?a.關注函式 類 方法 所提供的介面的可靠性 b.關注介面之間銜接的可靠性 c.關注介面引數的校驗 2 介面有哪幾種型別?a.http協議中 get post put delete input方法 b.目前自動化工具提供的有get和post兩種方法 3 用介面實現自動化...

介面測試自動化

前端介面向後端傳送api介面 api 可以理解為資料傳輸的通道 後端把 http請求的響應返回給前端 介面測試的工作流程 準備階段 拿到開發的介面文件 了解每個介面的引數及含義 了解被測試系統的業務流程 編寫介面測試用例 執行階段 測試用例 測試場景執行 測試資料 系統資料收集 分析階段 資料彙總 ...

UI自動化測試 介面測試等自動化測試策略

今天跟大家介紹ui測試 介面測試 單元測試主要內容,以及每種測試花費時間討論。ui測試 selenium ui測試是最接近軟體真實使用者使用行為的測試型別。通常是模擬真實使用者使用軟體的行為,即模擬使用者在軟體介面上的各種操作,並驗證這些操作對應的結果是否正確。介面測試 api測試 api測試,主要...