自動化測試難點解析:如何降低誤報率?

博為峰網校發表於2021-10-12

隨著自動化測試的深入推進,通過自動化測試執行的案例數量越來越多,執行錯誤全部由人工分析的方式已經不能滿足介面自動化測試結果的分析需求。本文介紹一種基於缺陷知識庫的介面自動化測試結果分析方法,通過介面測試結果模型化方法和基於錯誤碼庫、非缺陷知識庫的錯誤歸類分析方法,輔助測試人員高效實施大規模、多系統的介面自動化測試結果分析處理,降低自動化測試的誤報率。加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群,內含直播課+實戰+面試資料~~

一、介面測試結果模型化

首先,我們需要將介面自動化測試的結果模型化,模型資訊包括結果標誌、錯誤碼、錯誤資訊和返回資訊。在介面測試的過程中,從通訊級到應用級提取該模型資料,方法如下:

1、在平臺執行介面測試的過程中,若出現任何程式未處理的內部異常,則結果標誌為I,此時錯誤碼、錯誤資訊和返回資訊均為空。

2、在常見的http通訊、tcp通訊、webservice通訊等通訊方法中,若無法正常通訊並獲得預期的返回報文,則認為在通訊級發生異常,結果標誌為U,此時錯誤碼、錯誤資訊均為空,通訊異常的返回資訊儲存在返回報文中。

3、在能夠正常獲取返回報文的情況下,被測系統往往會返回應用級處理是否正確的資訊。若應用級處理錯誤,則還會返回錯誤碼和錯誤資訊。

(1)若應用級處理正確,則結果標誌為N,此時錯誤碼、錯誤資訊均為空,返回資訊儲存返回報文。

(2)若應用級處理錯誤,則結果標誌為E,錯誤碼、錯誤資訊儲存在返回報文中,返回資訊儲存在返回報文中。

(3)為保障資金安全,重要金融交易一般存在雙人複核或者遠端授權的過程。如缺乏授權資訊,被測系統將返回“需要授權”的資訊,則結果標誌為A,錯誤碼、錯誤資訊均為空,返回資訊儲存在返回報文中。

4、在實際實施組織級介面測試覆蓋時,一些存量系統未在公有域特定欄位返回應用級處理結果。此時,自動化測試平臺將進行通訊級結果判斷,若正常通訊並獲得預期的返回報文,則結果標誌為N,此時錯誤碼、錯誤資訊均為空,返回資訊儲存在返回報文中。

二、基於錯誤碼庫、非缺陷知識庫的錯誤歸類分析方法

基於介面測試結果的模型化資料,可以通過建立錯誤碼庫和非缺陷知識庫,對大規模介面迴歸測試的結果進一步分類、分析。對於被測應用系統,可以由使用者在自動化測試平臺建立錯誤碼庫,對標誌為E的介面測試結果,通過以下三種匹配形式進行細分:

1、精確匹配:對於有固定錯誤碼和錯誤資訊的應用系統,可以採用精準匹配形式,完成錯誤碼庫與介面測試結果模型的匹配。

2、錯誤碼模糊匹配:適用於能夠從固定欄位輸出錯誤資訊,但沒有固定欄位返回錯誤碼或者錯誤碼定義不規範(如錯誤碼是中文資訊)的被測系統。此類系統錯誤碼和錯誤資訊由測試人員自行定義,每類錯誤碼需設計匹配表示式,通過正則匹配的方式實現錯誤歸類。

3、返回報文模糊匹配:適用於返回錯誤資訊無固定欄位的被測系統。此類系統錯誤碼和錯誤資訊由測試人員自行定義,每類錯誤碼也需對應設計對應的匹配表示式。

在介面測試中,由於被測系統配置錯誤、被測系統鋪底資料異常等問題而出現的錯誤並非本次測試結果中需重點關注的內容。對於此類錯誤,將錯誤碼庫中的對應錯誤條目增加標誌位,即可納入非缺陷知識庫。

三、介面測試結果歸類分析方法

基於介面測試結果模型化和錯誤碼庫、非缺陷知識庫,將介面測試的結果分類分析,輸出概要表和錯誤分類表。

概要表如下:

執行錯誤的交易將進一步處理為錯誤明細表,如下:

利用該分析結果,測試人員可重點關注結果型別為“執行錯誤”的分類,確認為缺陷的應提交給開發人員修復。對於“執行錯誤非缺陷”的分類,則往往不是被測系統自身缺陷導致的報錯。通過這種方法,為測試人員提供“智慧”分析結果,輔助測試人員快速完成對自動化測試結果的判斷和分析。

四、總結

本方法將不同系統、不同通訊方式、不同報文協議的介面測試結果標準化為的統一資料模型,並依據組織級錯誤碼庫和非缺陷知識庫對標準化的測試結果進行分類分析,大大降低測試結果的人工分析工作量,使得結果分析處理不再是介面自動化測試大規模開展的瓶頸。在實際應用過程中,本方法取得了良好的效果,在較大幅度上降低了介面自動化測試的誤報率。加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群,內含直播課+實戰+面試資料~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2795599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章