java接口自動化(二) - 接口測試的用例設計


1.簡介

  在這篇文章里,我們來學習一下接口測試用例設計,主要是來學習一些用例設計要點。其實說白了,接口用例設計和功能用例設計差不多,照貓畫虎即可。不要把它想象的多么高大上,多么的難,其實一樣,以前怎么設計,現在就怎么設計,和黑盒測試設計測試用例半斤八兩。這里不再贅述,想詳細了解的可以看一下Python的接口自動化用例設計。宏哥在這里,換一個角度來說接口測試的用例設計,首先我們看一下接口測試的范圍。

2.接口測試范圍

2.1功能測試:驗證產品邏輯是否正確

  功能測試是我們接口測試時候相當重要的一部分,接口的功能都沒實現,后邊的異常、性能就更加談不上了。其實接口測試和在web頁面、或者移動端操作那些按鈕、輸入框是一樣的。按鈕將綁定的參數通過接口傳過去,而輸入框是將你輸入的參數通過接口傳過去。接口測試是在產品還沒有開發好按鈕和輸入框,你手動寫參數通過工具或者其他方法傳過去,驗證是否可以得到期望的。

  下邊的這八種接口功能測試的8種方法和web頁面的測試用例的設計方法一模一樣的,這個都是測試的基礎知識,不知道的自己可以單獨查詢一下各種方法的概念及其的用法。

2.2異常測試

null : 是開發過程中特定指的一個對象為空的端符,就是一個空對象,不指向任何內存地址

" " : 指一個空字符串,代表該對象有值,指向一個空地址

數據類型:例如我們有個年齡的字段要求傳的是ini類型的值,我們給它傳的是字符串。這就是數據類型異常。8中基本數據類型,我們傳一個不符合規定的數據類型。

負載均衡架構:測試某一個后台(Tomcat 4)掛了,掛了之后 Tomcat4的請求會直接返回一個錯誤(前台1個nginx ,后台多個 Tomcat),測試是否會返回這個錯誤,能否會使用戶訪問失敗;一段時間后,想讓 Tomcat4 重新加入,判斷能否重新加入集群中並正確處理所有請求。

冷熱備份:冷備份不常見,熱備份:前面有4個Tomca,后面有4個Tomca備份,如果Tomca4掛了,判斷Tomca4的備份能否頂替之前的,仍然保持4個服務器存活;當Tomca4 正常后,判斷能夠成為Tomca4的備份。

1.3性能測試(狹義)

負載測試:我發了好多請求,看看能不能正常發出去,再看看服務器端能不能正常處理這些發過來的請求。

穩定性測試:比如我跑服務跑了好長時間,比如24h、一周等,看看能不能將程序壓垮等等。

3.自動化接口測試范圍

  為什么在這里沒有涉及到前邊接口測試的環境異常和功能測試。在這里宏哥做了細分,這部分主要是有其他的測試負責的,比如:環境異常測試,一般需要我們協調和運維配合。需要他們把環境部署成和線上一樣的架構,以及硬件、內存等等。由於各個公司的資源和重視不一樣,但是最差了也得是等比例縮小的一個初始化的模型。這樣做的接口測試才有意義。性能測試也可以自動化測試,這個也有專門的測試,當然了,你也可以進行一些簡單的測試,如果你是全棧測試,那么這三部分你都精通那最好了。這里宏哥主要介紹的圍繞的功能測試和數據異常測試。

4.自動化接口測試用例設計

  這里宏哥通過具體實例說明一下。自動化接口測試原則:你能夠把你設計的接口測試用例映射成一張表。因為映射成一張表你才可以更好的方便的操作,並且可以自動加載它。

4.1接口自動化用例設計示例:登錄

環境異常測試時需要運維小伙伴配合測試的,此暫時不做描述
以常見的登錄界面為例

輸入:用戶名:郵箱或者手機號碼
輸入:密碼:6-16位的長度,區分大小寫,不能用空格

首先,我們先要知道接口測試用例的規則,與功能測試用例不同,不需要描述測試步驟。我們需要描述id(序號)、目標URL、username、password、協議狀態碼(可寫可不寫)、程序狀態碼(開發返回成功的狀態碼)、返回內容(例如success)、實際結果、執行狀態(自定義,例如0:失敗。1:成功)。根據如上內容,可以把這個整理成一個表中,如上字段作為表頭。按照正常數據和異常數據維護成Excel就可以。

數據異常:null、“”、特殊符號(&、*)

PS:紅色框圈住的針對執行SQL時數據截斷的情況。

select username,password from user where username = """ 中間的單引號將會截斷,拋出異常。

設計用例表頭時,將中文轉換成英文,方便程序做映射時處理,同時也方便寫入代碼中。

5.環境異常測試

  前邊雖然說需要協調運維的小伙伴配合測試環境異常,但是在這里你可以提前考慮一下,什么事情都要向到前邊,未雨綢繆。不要等出事了臨時抱佛腳。

5.1簡單web架構集群

  上圖是一個簡單的web部署架構。接口測試主要是前台傳遞參數,后台接口參數並處理返回期望的結果。簡單的描述一下上邊的架構:用戶通過web頁面發送請求到nginx,nginx接收到請求不作任何處理,將請求分發到后台的tomcat1、tomcat2、tomcat3服務器上。服務器處理請求后,將結果返回到web頁面,用戶看到結果。

這里分發是有規律的,不是一同亂分發,那樣還不得有的服務器先得沒事干,有的服務器累死了,分發原則:根據userid來進行區分。

例如:取余,當余數為0時,分發到1,當余數為1時,分發到2,到余數為2時,分發到3。

環境異常條件:tomcat2服務器掛掉了,專業點就是宕機了。假如此時有9個用戶,他們的userid分別是:1,2,3,4,5,6,7,8,9。此時恰好是1用戶把tomcat2給玩掛了。

5.2環境異常測試示例:

   結合上圖:宏哥來描述一下,這個環境異常的場景,根據這個場景設計的測試用例。用戶1將服務器tomcat2玩掛機了,恰好此時用戶1又發出請求,所以此時用戶1的請求期望結果只能發送到tomcat1或者tomcat3上。服務器掛機以后運維團隊收到告警,快速修復tomcat2服務器(例如重啟),當下一次用戶4發送請求的時候,由於tomcat2正常所以預期結果還是正常環境了分發到tomcat2上。這里我們主要是觀察一下tomcat2是否可以正常加入到集群中。這些策略可以提前和運維的小伙伴定好了進行測試。

 5.3如何確定分發到那台服務器

  方法:通過日志查看有沒有分發到,例如:用戶1分發2上,即使訪問成功但是沒有日志,那么這就是一個bug,和我們之前定好的均衡策略有沖突。其他的都類似。

6.小結

   好了,以上就是今天分享的知識,宏哥這里只是做了簡單的講解。希望大家喜歡。

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波  推薦  不要忘記哦!!!

別忘了點 推薦 留下您來過的痕跡

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM