溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

不用寫代碼,也能做好接口測試

發布時間:2020-02-29 20:23:42 來源:網絡 閱讀:3403 作者:隔壁王書 欄目:軟件技術

本文你將了解到 


1、接口測試基本概念,包含什么是接口,什么是接口測試,為什么要做接口測試

2、接口測試用例設計

3、怎樣不用寫代碼,也能快速的根據開發的API文檔完成接口自動化測試腳本


注:如果你對接口基本概念和接口測試用例已熟悉,可以直接跳過,其實看一遍也無防,就當作 溫故知新了。


適合本文人群 


1、之前學習接口測試從入門到放棄的初級測試工程師

2、想快速完成 接口測試腳本編寫的測試工程師(強烈推薦)

3、因某種原因(比如公司沒有專職測試人員),需要自己寫接口測試腳本的開發人員(強烈推薦)


一、接口測試基本概念 


首先了解被 測試對象:接口 


接口是指外部系統與系統之間以及內部各子系統之間的交互點。

包括外部接口、內部接口,內部接口又包括:上層服務與下層服務接口(比如serivce層調用DAO層接口)、同級接口(比如用戶注冊,會先調用查詢用戶信息的接口,查看該用戶是否已經注冊)。

不管是內部接口還是外部接口,一般是以API形式出現,通常在規范的API接口文檔中,應該包含:接口描述、接口URL、請求方式、請求參數、參數類型、參數含義說明、取值限制、是否必填、返回參數、成功與失敗示例等。


然后了解對接口進行的測試活動:接口測試 


廣義的理解 接口測試就是,對模塊或系統間接口進行測試;

狹義的理解接口測試就是,對接口的入參、接口處理邏輯、設計的返回內容進行測試。

接口測試形式:單個接口測試(包含性能測試)和通過接口調用進行場景測試。


接口測試原理:通過工具或自己擼代碼,模擬客戶端(根據測試用例定義請求參數)向服務器端請求訪問接口,檢查服務器端返回內容是否與預期值一致。


接口測試流程(僅指迭代中的流程):需求評審  -> 接口定義 -> 用例設計 -> 腳本編寫 -> 執行腳本 -> 結果分析


最后了解做接口測試的意義,即:為什么要做接口測試 


簡單來說就是,降低測試成本,提高開發效率。

充分來說就是:


1、接口測試相對容易實現自動化持續集成。

2、接口測試能讓測試提早介入,發現潛在問題;保證接口質量,提高前后端聯調開發效率。

3、接口測試進行安全驗證比較容易:前后端是否統一校驗和敏感信息打?。ń涌诜祷貎热葜械拿舾行畔ⅲ┦欠窦用苓^。


二、接口測試 用例設計 


這里只說單個接口測試用例設計,場景接口測試用例設計和UI功能的場景測試用例一樣,只是通過調用接口來實現而已。


設計接口測試用例,主要從接口入參、接口處理邏輯、接口返回參數等3個方面入手:


1、設計接口入參測試用例,常見參數類型有:數值、字符串、數組或鏈表、結構體 


針對這些類型入參,通常我們通過等價類方法和邊界值方法 去設計測試用例

等價類方法:關注取值為范圍內、取值為范圍外的情況;通常會出現 取值在范圍外時,接口沒有正確返回錯誤信息的問題。

邊界值方法:關注取值范圍的邊界值、入參的數據類型邊界值;通常會出現數據類型邊界值溢出問題,比如int類型數據的最大值和最小值時。


為了補充用例,還要考慮特殊值的情況,比如0、空、null、負數、非特定類型值和重復值等;通常會出現接口沒有正確處理邏輯導致異常退出的問題。


2、設計接口處理邏輯測試用例,主要是驗證前后端是否統一校驗 


針對接口處理邏輯,通過從以角度分析:

約束條件分析,常見的約束條件:數值限制、狀態限制(登陸狀態)、關系限制(綁定了某種關系)、權限限制(會員、非會員等)。

操作對象分析,比如項目IDPJ000屬于用戶A的,訪問這個項目的接口,需要傳項目ID,用戶B傳參時,使用PJ000這的ID時,檢查是否應該不能訪問這個項目。

狀態轉換分析,比如優惠券已使用,是否通過接口仍能使用等情況。

時序分析,比如不按流程順序執行,是否出現數據異常情況。


3、設計接口返回參數測試用例 


針對接口處理邏輯,通過從以下角度分析:

返回結果分析,覆蓋所有返回碼。

接口超時分析,接口超時通常會出現,未進行超時處理,導致流程阻塞或超時后,又收到接口返回,導致邏輯出錯。


三、不用寫代碼,也能做好接口測試:No Code, Still API Test


不用寫代碼,也能做好接口測試,當然需要借助神器,才能完成這項工作,這個神器叫做:eolinker,官網 https://www.eolinker.com


在用eolinker之前,我是用jmeter做接口測試的,用jmeter之前是用python requests,覺得jmeter效率更高,效率高體現在:


1、測試不需要寫代碼,大家知道 測試用代碼寫測試腳本跟開發寫產品代碼一樣,需要編寫-調試-測試-維護,對于測試來講,需要消耗太多時間和精力,除非公司有專人做測試開發。

2、UI模式,填空就可以,很簡單,最多就是用Beanshell寫少量的函數調用或斷言


做接口測試只是用到eolinker的自動化測試功能模塊,其他功能去官網注冊賬號后,自行了解,這里只說下eoLinker 自動化測試功能模塊的特點,也是我選用的理由:


1、開發的API文檔編寫和測試的接口測試腳本編寫,可以都在eolinker上進行,所以寫測試腳本時,可以直接從eolinkerAPI文檔功能模塊中,導入API接口,寫測試腳本只需添加斷言,和要傳的參數即可。


2、支持UICode兩個編寫模式,就是說可以通過UI填空方式完成測試腳本設計,也可以通過寫JS代碼,完成測試腳本設計,官方有教程。


3、調用之前接口的返回參數內容,作當前接口的請求參數,eolinker提供了 關聯功能,只要點點點就可以完成,比Jmeter還要便捷。


4、還提供比較高級的代碼注入功能,可以在請求接口前,做一些前置處理,比如請求參數值加密等,也可以把返回內容進行后置處理,比如把接口的返回內容中某個字段值,設成全局變量


5、測試結果斷言提供4種方式:Json校驗、XML校驗、完全匹配、正則匹配,用的最多是Json校驗,如果想校驗某個字段內容,不需寫正則,只要直接要校驗的字段名就可以了。


6、可以定時執行測試用例,執行完后,發送測試報告到指定人員郵箱中。


編寫接口測試用例腳本 工作流程:開發編寫API接口文檔 -> 導入開發的API接口,測試根據編寫好的測試用例,編寫測試用例


eolinker的一個“添加接口項目接口”測試為例,做以下工作:


1、編寫添加名為“添加接口項目”和“查詢項目列表”API接口文檔

2、導入API接口,編寫“添加項目成功”測試用例:

     a. 添加項目,校驗返回碼。

     b. 調用“查詢項目列表接口”,檢查項目是否成功添加。(像這種新增接口,我以前校驗,用過連接數據庫,然后查表內容,發現執行腳本的時候,速度有點慢,后來改用調用查詢列表接口的方法校驗)

3、執行測試腳本,查看測試報告。


Pre 準備 


接口1:添加接口項目接口


不用寫代碼,也能做好接口測試

添加接口項目接口的請求頭


不用寫代碼,也能做好接口測試

添加接口項目接口的返回內容


接口2:查詢項目列表接口


不用寫代碼,也能做好接口測試

查詢項目列表接口的請求頭


不用寫代碼,也能做好接口測試

查詢項目列表接口的返回內容


從上面得到2個接口API文檔信息:


注:實際項目中是有一份開發寫好的API文檔,可能是Word上,可能是RAP上,也有可能是在eolinker上,我在這里只是為了舉例,通過F12取了2個接口的信息(如下面),寫了2個不完整的API文檔作為本文的操作示例。


接口1:添加接口項目接口


接口URLhttps://www.eolinker.com/apiManagementPro/Project/addProject

請求方法:POST

請求參數:

companyHashKey

projectName

projectVersion:1.0

projectType:0

返回內容:

{"type":"project","statusCode":"000000","projectHashKey":"Nr2PNlf82c6a7995d30286e041944fd40e4c01d58b3edeb"}


接口2:查詢項目列表接口


接口URLhttps://www.eolinker.com/apiManagementPro/Project/getProjectList

請求方法:POST

請求參數:companyHashKey

返回內容:

{"type":"project","itemNum":4,"statusCode":"000000","projectList":[{"projectHashKey":"83uUHhud0519435001f268f0871eee88090cc68dc00cac7","projectName":"demo_project","projectType":0,"projectDesc":"","projectUpdateTime":"2018-10-08 18:26:57","projectVersion":"1.0","userType":0,"permission":{"userType":0,"endTime":"2099-01-01","isExpire":0}}]}


Step 1  編寫添加名為“添加API接口管理項目”和“查詢項目列表”API接口文檔


不用寫代碼,也能做好接口測試

1、  添加API接口管理項目接口 API文檔


不用寫代碼,也能做好接口測試

2、  查詢項目列表接口  API文檔


Step 2  導入API接口,編寫“添加項目成功”測試用例 


注:這里訪問接口需要登錄,這次就不說接口授權的內容了,后面會做個專題,這里我直接用cookie模擬登錄狀態


不用寫代碼,也能做好接口測試

導入API接口,添加項目,校驗返回碼


注:這里用到了正則,因為返回的projectList是數組,JSON校驗中,目前不支持數組校驗


不用寫代碼,也能做好接口測試

將導入的API接口編輯成測試用例腳本


Step 3  執行測試腳本查看測試報告


不用寫代碼,也能做好接口測試

執行測試腳本,查看測試報告


如此,就很快速地完成了一個測試用例腳本的編寫啦?。c下 全部測試,去泡杯茶,回來看測試報告的日子,指日可待?。。?/span>


補充:


1、關于登錄,獲取接口授權的處理,可以寫到前置用例中(也有后置用例),如同python unittestsetUptearDown作用。

2、有單獨的環境管理模塊,包含設置默認的hostname、請求頭部信息、全局變量和額外參數等,上個圖看下


不用寫代碼,也能做好接口測試

環境管理界面


最后總結:                                                                                                                                                                                          


文向接口測試學習者描述了接口、接口測試為何物,通過對接口測試的基本概念了解,再掌握接口測試用例的設計方法及思路,最后借助優秀的工具,達到簡易、快速的工作效果;


個人看法,不喜勿噴:有些測試可能為了表現自己也是個開發人員,會寫代碼,便使用大量的代碼去寫自動化測試腳本,文中我也提到測試寫代碼是有很大成本的,當然不是說不建議測試會開發,


我們可以去開發一些測試工具來協助自己的測試工作,一來鍛煉開發能力,二來了解軟件運作原理,方便測試過程中,更清楚軟件內部結構;


項目通常給我們測試的時間不多,為了保障項目按質按量按時的完成,簡易、快速的工作狀態是我們所迫切的,所以我們可以借助一些優秀的工具去達到我們的目的。


END...

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女