當我們拿到一個接口,怎么才能設計出更好的測試用例呢?從大的方面我們至少要考慮到以下三個方面。
第一:功能測試
第二:性能測試
第三:安全性測試
在功能方面,我們要更多考慮的是如何通過不同的輸入覆蓋不同的業務邏輯。而這個業務邏輯也可以理解為代碼的每一個分支語句,所以,我們的測試就變為如何通過輸入不同的參數,然后讓代碼盡可能的執行到每一個分支。 但是我們又不是做白盒測試,如何才知道覆蓋了不同的分支呢?這里面除了用到一些測試方法外,還需要對業務有足夠的了解,和開發不斷確認其實現邏輯 。簡單的來說就是從:測試方法設計和發散測試方面去考慮。
1.測試方法設計:可分為正向測試和反向測試
? 正向用例:
只輸入所有必填參數,驗證其結果;
輸入所有的參數,包括非必填參數,驗證其結果;
所有的必填參數和可選參數的組合,驗證其結果。
? 反向用例:
從請求參數考慮:缺少參數,多參,無參,參數錯誤等;
從輸入數據考慮:數據類型錯誤,數據為空,數據越界。
2.發散測試:考慮完所有參數的組合外,為了避免遺漏,我們還的拋開用例,從不同角度去考慮,以下兩個方面就可以值得嘗試。
? 和開發確認實現邏輯:在和開發確認實現邏輯的時候,盡可能的問的詳細一些,問的過程中,也可以設定一些問題,比如可以問如果輸入這樣的參數,那么他會有什么的輸出呢?最后把你沒有執行到的邏輯列舉出來,通過設計一些數據進行覆蓋 ;
? 深入的了解業務:對業務再次熟悉,盡可能的確認業務中的每一個細節,然后根據這些細節考慮接口是否有對應的實現,并嘗試著進行測試。
性能測試主要從倆個方面去考慮,分別是單接口場景和放在某個場景中的性能測試。
單接口場景:
? 針對被測接口進行性能測試,關注其是否滿足性能需求。
? 對被測接口不斷的增加壓力,關注其UV用戶數和TPS的曲線圖
? 針對被測接口進行并發測試,關注其響應時間
業務場景:就是基于某一個用戶經常使用的場景進行規劃,該場景中可能包含了多個接口,每個接口只是該場景中某一個業務,所占的用戶量也只是一部分 。針對業務場景的性能測試,更多反應實際業務的性能情況。
對于我們非專業的安全測試人員來說,我們更多的是關注業務方面的安全測試,針對接口的業務安全測試可以進行如下考慮
? 接口是否使用了HTTPS協議
? 接口的請求數據是否加密處理
? 保存到庫的關鍵信息是否做過加密處理
? 是否對一些常用工具的請求做了限制
? 接口是否對同一IP的訪問次數做了限制
最后,當我們再拿到一個接口的時候,就可以嘗試著從以上三個方面進行用例的設計了。
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281