當前位置:
首頁 > 最新 > 我所理解的介面測試-介面自動化測試

我所理解的介面測試-介面自動化測試

總結我所理解的介面測試,整理介面測試的點點滴滴,只為回首往事時不因虛度年華而悔恨,不因碌碌無為而羞恥。

一、問題:如何兩眼一抹黑的利用python做介面自動化測試

理解:這個問題,當初我在開始學python,並嘗試用python寫介面自動化測試時也許遇到,後來我發現以結果為導向,反推需要實現的功能是個很好的方法,先不管實現的好不好,腳本效率高不高,先做出能實現效果的版本。

二、問題:如何以結果為導向,反推需要實現的功能

理解:任務是「python+mysql實現http協議的介面測試」,目標是能自動比較結果(包括code和返回包參數完整性)

分析:要實現這個效果,涉及到的功能點有以下幾點:

1.python對mysql資料庫的操作,包括增、刪、改、查數據;

2.python發送http請求;

3.python處理返回包的結果;

4.mysql資料庫操作,包含sql語句;

具體實現過程:

mysql資料庫表的新建:

(1).我們需要一類表,存儲每個介面的測試用例數據和執行結果的記錄,包括的欄位有用例級別(BVT,1,2,3)、請求類型(get/post)、介面地址、請求頭文件、請求參數、返回包、實際code結果、預期code結果,實際參數集、預期參數集,code對比結果、參數集對比結果、用例狀態、創建時間、更新時間、請求時長;

圖1 介面用例case表設計

(2).配置表,存儲一些比較常用、且變化小的參數,比如默認用例級別、介面超時時間等;

圖2 配置表設計

(3).結果統計表,存儲每次執行後,每個介面的結果情況;

2. python對mysql資料庫的操作:

(1).此處需要預先封裝好python對mysql的基本操作類型,網上一招一大堆,可以直接拿來修改使用;

(2).根據實際情況,在定製一些操作類型,方便外部調用;

圖3 python對mysql資料庫操作封裝

3. python發送http請求:

(1).此處需要封裝python本身對http請求的方法,等於再套一個殼子,而這個殼子裡面包含了get方法、post方法、url鏈接有效性方法;

圖4 http請求外層殼

圖5 http請求類型方法

4. python處理http返回包

(1).此處可以根據配置來決定對返回包的測試程度,比如有以下3個級別(0-只測試code值,1-返回包參數完整性;2-返回包功能),通過配置值決定需要進行哪些程度的測試

圖6 針對不同的測試程度定義測試

(2).將不同的測試程度分裝到一個類中,分別以方法來定義不同的測試程度

圖7 定義不同測試程度的方法

(3).將不同程度的測試結果寫入資料庫測試用例表,即完成一條完整的測試用例數據

4.測試結果的統計

(1).配置不同的統計維度,其對應的不同的統計sql,這樣修改起來也比較方便,此處涉及到sql語句的參數化

(2).可以配合django使用web頁面來展示數據,頁面選擇不同的展示維度,後台調用不同的統計sql,再將數據展示在頁面,或者以表格形式導出。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 一個測試老兵 的精彩文章:

《測試路上你問我答》是不是所有問題都可以通過某種清單去解決?
當你覺得專業的時候,卻未必是合理的

TAG:一個測試老兵 |