首頁技術(shù)文章正文

接口測試:如何才能設(shè)計出更好的測試用例?

更新時間:2020-08-10 來源:黑馬程序員 瀏覽量:

當(dāng)我們拿到一個接口,怎么才能設(shè)計出更好的測試用例呢?從大的方面我們至少要考慮到以下三個方面。

第一:功能測試

第二:性能測試

第三:安全性測試

一、功能方面

在功能方面,我們要更多考慮的是如何通過不同的輸入覆蓋不同的業(yè)務(wù)邏輯。而這個業(yè)務(wù)邏輯也可以理解為代碼的每一個分支語句,所以,我們的測試就變?yōu)槿绾瓮ㄟ^輸入不同的參數(shù),然后讓代碼盡可能的執(zhí)行到每一個分支。 但是我們又不是做白盒測試,如何才知道覆蓋了不同的分支呢?這里面除了用到一些測試方法外,還需要對業(yè)務(wù)有足夠的了解,和開發(fā)不斷確認(rèn)其實現(xiàn)邏輯 。簡單的來說就是從:測試方法設(shè)計和發(fā)散測試方面去考慮。

1.測試方法設(shè)計:可分為正向測試和反向測試

? 正向用例:

只輸入所有必填參數(shù),驗證其結(jié)果;

輸入所有的參數(shù),包括非必填參數(shù),驗證其結(jié)果;

所有的必填參數(shù)和可選參數(shù)的組合,驗證其結(jié)果。

? 反向用例:

從請求參數(shù)考慮:缺少參數(shù),多參,無參,參數(shù)錯誤等;

從輸入數(shù)據(jù)考慮:數(shù)據(jù)類型錯誤,數(shù)據(jù)為空,數(shù)據(jù)越界。

2.發(fā)散測試:考慮完所有參數(shù)的組合外,為了避免遺漏,我們還的拋開用例,從不同角度去考慮,以下兩個方面就可以值得嘗試。

? 和開發(fā)確認(rèn)實現(xiàn)邏輯:在和開發(fā)確認(rèn)實現(xiàn)邏輯的時候,盡可能的問的詳細(xì)一些,問的過程中,也可以設(shè)定一些問題,比如可以問如果輸入這樣的參數(shù),那么他會有什么的輸出呢?最后把你沒有執(zhí)行到的邏輯列舉出來,通過設(shè)計一些數(shù)據(jù)進(jìn)行覆蓋 ;

? 深入的了解業(yè)務(wù):對業(yè)務(wù)再次熟悉,盡可能的確認(rèn)業(yè)務(wù)中的每一個細(xì)節(jié),然后根據(jù)這些細(xì)節(jié)考慮接口是否有對應(yīng)的實現(xiàn),并嘗試著進(jìn)行測試。

二、性能測試

性能測試主要從倆個方面去考慮,分別是單接口場景和放在某個場景中的性能測試。

單接口場景:

? 針對被測接口進(jìn)行性能測試,關(guān)注其是否滿足性能需求。

? 對被測接口不斷的增加壓力,關(guān)注其UV用戶數(shù)和TPS的曲線圖

? 針對被測接口進(jìn)行并發(fā)測試,關(guān)注其響應(yīng)時間

業(yè)務(wù)場景:就是基于某一個用戶經(jīng)常使用的場景進(jìn)行規(guī)劃,該場景中可能包含了多個接口,每個接口只是該場景中某一個業(yè)務(wù),所占的用戶量也只是一部分 。針對業(yè)務(wù)場景的性能測試,更多反應(yīng)實際業(yè)務(wù)的性能情況。

三、安全性測試

對于我們非專業(yè)的安全測試人員來說,我們更多的是關(guān)注業(yè)務(wù)方面的安全測試,針對接口的業(yè)務(wù)安全測試可以進(jìn)行如下考慮

? 接口是否使用了HTTPS協(xié)議

? 接口的請求數(shù)據(jù)是否加密處理

? 保存到庫的關(guān)鍵信息是否做過加密處理

? 是否對一些常用工具的請求做了限制

? 接口是否對同一IP的訪問次數(shù)做了限制

總結(jié)

最后,當(dāng)我們再拿到一個接口的時候,就可以嘗試著從以上三個方面進(jìn)行用例的設(shè)計了。


猜你喜歡:

怎樣設(shè)計出優(yōu)秀的測試用例 ,并且要用什么思路寫出來?

測試用例是什么?有什么作用?

如何快速編寫完整測試用例?

白盒測試:由淺入深學(xué)會白盒測試用例設(shè)計?

軟件測試培訓(xùn)V4.0課程

分享到:
在線咨詢 我要報名
和我們在線交談!