接手APP測試的時間不長,對于我來說,APP測試目前涉及的內容暫時逃不出界面操作的UI兼容性測試,以及一些常見的功能性測試,而實際真正掌管APP功能的又是接口和后臺服務,因此,最近測試的重點還是在接口上。
題目是接口的功能測試,因此,這里也只是涉及到了的是功能,我呢,也主要說一下我目前的測試方法,有不好的需要改進的,大家及時提出來。
1.接口文檔
一個接口的定義,主要有以下幾點:接口,方法,入參,出參,具體實例等
2.環境部署
拿到接口文檔后,對提交的代碼進行部署。或者有些開發不提供接口文檔,那么就需要通過抓包來獲取接口,以及其入參和出參,在這里一定要跟開發人員溝通好,確定需求,明確接口返回值。抓包的工具我就不展開了,全世界聞名的fiddler,或者有同學喜歡用charles,都可以,避免用wireshark,對于移動端來說,不實用,且冗余信息太多。
3.驗證接口
我基本上通過jmeter來完成,一個詞,方便!一般接口的方法比較常用的是GET和POST,所有GET方法可實現的POST都可實現,POST可以以BODY形式傳參,BODY又可加密,因此安全等級提升了不少。當然各有千秋,完全取決于業務需要。
入參,form或者body居多,當然有不少接口都需要帶身份,因此會要求有cookies。出參,大部分都是json(作者只說自己的測試范圍)
這些工作準備的差不多后,即可根據需求通過jmeter進行功能測試,通過不同的入參,驗證出參結果的正確性。
出參主要驗證點,以json為例,
1.設置斷言包含state=1的即成功,其他值均失敗。
2.errmsg的值是否可全部覆蓋
3.data 返回值的驗證
(1)空
(2)各屬性返回值所對應的值是否有NULL或者非正常字段
(3)返回值是否正確,或者數據與數據庫查詢結果是否相同
(4)返回記錄數是否正確,是否做分頁處理,返回值是否正確等等。
暫時想到的只有這些,下次等我學的更多的時候再跟大家分享。
還有,之所以說jmeter方便,是因為jmeter提供了很多驗證手段,我比較常用的是用戶變量定義,可以通過導入CSV模擬多個參數值。可以一次執行驗證多個接口,模擬并發等,做個輕量級的性能測試很是方便。咱群里會用且用的不錯的人應該大有人在,沒用過的小伙伴可以問度娘,具體使用方法上面有很多教程,不再贅述。
#百人計劃# by 笑瞇瞇一號