米利唐_后腰_乌克兰足球超级联赛_中国竞彩欧赔 - 足球竞彩分析

集團官網
  • 國家級全民數字素養與技能培訓基地
  • 河南省第一批產教融合型企業建設培育單位
  • 鄭州市數字技能人才(碼農)培養評價聯盟

如何針對接口設計測試用例 ?

編輯:云和數據 日期:2023-03-29 16:21

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

第一:功能測試

第二:性能測試

第三:安全性測試

一、功能方面

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

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

? 正向用例:

只輸入所有必填參數,驗證其結果;

輸入所有的參數,包括非必填參數,驗證其結果;

所有的必填參數和可選參數的組合,驗證其結果。

? 反向用例:

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

從輸入數據考慮:數據類型錯誤,數據為空,數據越界。

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

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

? 深入的了解業務:對業務再次熟悉,盡可能的確認業務中的每一個細節,然后根據這些細節考慮接口是否有對應的實現,并嘗試著進行測試。

二、性能測試

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

單接口場景:

? 針對被測接口進行性能測試,關注其是否滿足性能需求。

? 對被測接口不斷的增加壓力,關注其UV用戶數和TPS的曲線圖

? 針對被測接口進行并發測試,關注其響應時間

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

三、安全性測試

對于我們非專業的安全測試人員來說,我們更多的是關注業務方面的安全測試,針對接口的業務安全測試可以進行如下考慮

? 接口是否使用了HTTPS協議

? 接口的請求數據是否加密處理

? 保存到庫的關鍵信息是否做過加密處理

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

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

總結

最后,當我們再拿到一個接口的時候,就可以嘗試著從以上三個方面進行用例的設計了。

相關內容

搶先一步 鴻蒙(HarmonyOS)應用開發者高級認證 免費考! 適合人群計算機相關專業在校生(技師、中職、高職、本科、研究生)對鴻蒙(HarmonyOS)有興趣的非計算機相關專業在校生目前正在從事移動應用的開發者目前正在從事計算機行業相關的人計算機專業高校老師所有對鴻蒙(HarmonyOS)有興趣的人 培訓方案掌握鴻蒙的核心概念和端云一體化開發、... 什么是Java的多態性(polymorphism)?它有哪些不同的形式? 多態性是Java面向對象編程的一個重要概念,它允許不同的對象以一致的方式響應同一個方法調用,具體表現為對象在運行時可以表現出多個不同的形態。多態性主要有兩種不同的形式:編譯時多態性(靜態多態性)和運行時多態性(動態多態性)。1. 編譯時多態性(靜態多態性):   ... 如何學習和搭建Hadoop開發環境? Hadoop是大數據處理領域的重要平臺,能夠處理和分析大量數據。為了有效地利用Hadoop,我們需要學習其基礎知識,并正確搭建開發環境。下面是詳細的學習和搭建指南。一、學習Hadoop基礎掌握基礎概念和原理Hadoop主要由HDFS和MapReduce兩部分組成。HDFS是分布式文件系統,Ma... UI 設計學習如何進階成為高手 我總結了六種方法,幫助你走出舒適區,提高技能,成長為自信且經驗豐富的UI設計高手一位經驗豐富的 UI 設計師,往往十分看中應用程序界面的吸引力和視覺刺激,確保滿足用戶期望和需求。但是,如果你已經在 UI 設計圈摸爬滾打多年,仍然沒有出色的作品,那你極有可能是因為陷入了一個舒適圈,UI技能一直原... 在Java中Executor和Executors的區別? 在Java中,Executor和Executors都與線程池和并發執行有關,但它們是不同的概念和類。1.ExecutorExecutor是一個接口,位于java.util.concurrent包中,用于表示一個執行任務的執行器。它只定義了一個方法:void execute(Runnable c... String類型的常見命令有哪些? String類型,也就是字符串類型,是Redis中最簡單的存儲類型。其value是字符串,不過根據字符串的格式不同,又可以分為3類:string是普通字符串,int整數類型,可以做自增、自減操作,float浮點類型,可以做自增、自減操作。String的常見命令有:SET:添加或者修改已經存在的...