本文目錄一覽:
用 Python 為接口測試自動生成用例
基於屬性的測試 會產生大量的、隨機的參數,特別適合為單元測試和接口測試生成測試用例
儘管早在2006年haskell語言就有了 QuickCheck 來進行”基於屬性的測試“,但是目前來看這依然是一個比較小眾的領域,參考資料有限,本文如有不足,歡迎指正。
在過去的測試實踐中,執行測試時通常需要明確的內容(Value):
這些內容可以通過”判定樹“或者”判斷表“來表示,然後測試的執行過程變成了這樣
可以稱為 基於表的測試
在最初,這給了我們測試的方向,但是缺點也非常明顯:
你要足夠多的”X-Y” 才能可能覆蓋到隱蔽的bug。
這裡請大家回答幾個問題:
如果以上問題的答案不是yes,那麼 基於屬性的測試 就是你需要掌握的東西!
基於屬性的測試和基於表的測試,最大的區別可以這樣描述:
vs
於是利用工具生成大量的X類數據,進行測試,並驗證結果是否Y類。
值得注意的是:
在不同的語言中有不同的工具來實現,比如:
本文以python為例進行演示:
假設有add函數,接收兩個類型整數參數,並返回它們的相加結果
首先寫出一個簡單的測試用例
正如前面所說,一個這樣的用例,根本沒信心覆蓋全部的場景,例如:
所以接下來怎麼辦?
改為基於屬性的測試
執行結果
由結果可知,工具根據 參數是整數 這一規範,自動生成、執行了大量的測試用例
接口測試和函數的單元測試非常相似:
此外接口文檔作為前後端、甚至測試開發的對接窗口,對參數的要求約定的更加細緻,
以OpenAPI為例,每個參數可以有以下屬性:
於是為接口生成符合要求的參數就變得可行了,舉個例子:
這是以unittest為例進行封裝的結果,只需要在TestCase中指定openapi的內容(或路徑),
啟動測試框架時,會自動讀取、解析接口文檔,並生成測試用例
下面是部分執行日誌,可以看到對接口發送了隨機參數,並獲得返回值
文章來自
用Python進行快速網絡接口測試
用Python進行快速網絡接口測試,比用curl或者Paw之類的工具還方便。
Python 如何測試WebService接口
WebService是什麼
簡單的說WebService是一個SOAP(面向服務的編程)的架構,它是不依賴於語言,不依賴於平台,可以實現不同的語言(通過 xml 描述)間的相互調用,通過Internet進行基於Http協議的網絡應用間的交互。通過SOAP在Web上提供的軟件服務,使用WSDL文件進行說明,並通過UDDI進行註冊。(概念性的東西大家可以自行搜索補充)
測試環境準備
python2.7 + httplib 內置庫
數據準備
這裡就定義了兩個case:
case1是一個正向case, 根據正確的nameid查詢用戶信息。
case2是一個反向case, 給出一個錯誤的nameid 查詢用戶信息。
然後將這兩個case 存放到一個dict 中,最後引入代碼裡面進行請求使用。
data.py文件內容如下:
test.py文件內容如下:
總結 :
通過以上簡單的幾步就可以完成WebService Api的測試,對於示例中的測試數據大家可以根據Api文檔的描述不斷的豐富測試場景。希望對你有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/181630.html