摘要:測試與實驗單一變量法,咋這么熟悉的名字高中生物課化學物理,大學時代的各種實驗課中都有提及。就是這個單一變量法,也可用于軟件測試領域。
測試與實驗
“單一變量法”,咋這么熟悉的名字?
高中生物課、化學、物理,大學時代的各種實驗課中都有提及。
就是這個“單一變量法”,也可用于軟件測試領域。
doSomething(req)表示為接口測試過程中的某個方法,Java示例代碼如下:
public DoSomethingRes doSomething(DoSomethingReq req) { // check params check(req); DoSomethingRes res= null; SomeRpc rpc = getSomeRpc(); SomeRpcReq rpcReq = build(req); rpc.doRpcMethod(rpcReq); // do something else return res; }
請求參數:
字段名稱 | 類型 | 取值范圍 | 必填項 | 備注 |
---|---|---|---|---|
user | String | 是 | ||
type | int | [0,1,2] | 是 | |
queryStartDate | String | 是 | 格式為yyyy-MM-dd |
返回結果:
字段名稱 | 類型 | 備注 |
---|---|---|
success | Bool | true表示成功,false表示失敗 |
message | String | |
data | Array | 對象數組 |
示例數據:
// 請求參數 { "user": "String", "type": "1", "queryStartDate": "2018-09-30" } // 返回結果 { "success": true, "message": "ok", "data":[ { ... }, { ... } ] }單一變量法實踐如下
選擇user、type、queryStartDate三個正確參數,保持其中2個參數不變,僅修改其中1個參數。
(1)檢查各個參數進行非空校驗的測試用例(2)檢查各個參數進行空字符串校驗的測試用例user=null,type=1,queryStartDate=2018-09-30
user=helloworld,type=null,queryStartDate=2018-09-30
user=helloworld,type=1,queryStartDate=null
(3)保持user、queryStartDate不變,遍歷type枚舉項的測試用例user=空字符串,type=1,queryStartDate=2018-09-30
user=helloworld,type=空字符串,queryStartDate=2018-09-30
user=helloworld,type=1,queryStartDate=空字符串
(4)補充測試用例user=helloworld,type=0,queryStartDate=2018-09-30
user=helloworld,type=1,queryStartDate=2018-09-30
user=helloworld,type=2,queryStartDate=2018-09-30
單一變量法檢查接口參數是否正常,可能會導致部分組合參數不能覆蓋,需要在測試過程中根據實際代碼覆蓋率情況補充測試用例。
舉例:doSomething內部針對特殊用戶,代碼執行了不同的業務代碼,此時需要對特殊用戶增加測試用例。
為何使用單一變量法進行接口測試?user=admin(特殊權限用戶),type=0,queryStartDate=2018-09-30
user=admin(特殊權限用戶),type=1,queryStartDate=2018-09-30
user=admin(特殊權限用戶),type=2,queryStartDate=2018-09-30
使用單一變量法,可以方便組織測試用例,甚至批量生成用例,并快速進行接口自動化測試。
代碼實踐由你來發揮,建議動手實踐。
申明本文由作者同步發布到segmentfault、知乎社區、testerhome。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8840.html
摘要:調用分布式服務接口時經常會遇到這樣的問題接口方提供多個供用戶調用,只要有一個返回成功就算成功。但是請注意不是等到有一個被時返回,而是只要有一個被時就會返回,不論這個是還是。 調用分布式服務接口時經常會遇到這樣的問題:接口方提供多個 IP 供用戶調用,只要有一個返回成功就算成功。 對于這樣的問題,一個比較簡單的方案是依次調用各個接口,如果前一個接口未成功返回再調用第二個接口。這樣做的好處...
摘要:老的訪問方式以及耗時統計耗時耗時秒并發訪問方式以及耗時統計耗時耗時秒帥氣吧整個頁面訪問后端接口的時間節省了一半 前言: 在我們平時的程序中難免出現同時訪問幾個接口的情況,平時我們用curl進行訪問的時候,一般都是單個、順序訪問,假如有3個接口,每個接口耗時500毫秒那么我們三個接口就要花費1500毫秒了,這個問題太頭疼了嚴重影響了頁面訪問速度,有沒有可能并發訪問來提高速度呢?今天就簡...
摘要:正則表達式巧用匹配特殊字符作者原文章首先聲明,本文所有的代碼都是在下面運行,需要修改之后才能運行,但是本文沒有涉及到太多的新特性,而且由于對修飾符不支持,最后的實現也基本是用的知識寫的代碼。 正則表達式巧用 Unicode 匹配特殊字符 作者 @zwhu 原文章 @github 首先聲明,本文所有的代碼都是在 ES6 下面運行,ES5需要修改之后才能運行,但是本文沒有涉及到太多的ES6...
摘要:并且,一些偽元素可以使開發者獲取到不存在于源文檔中的內容比如常見的還可以為偽元素定制樣式。。中新增加的偽元素必須用偽類使用一個冒號例如。就本文而言,我們將把我們探討的范圍限制在和這兩個偽元素的巧用上。 作為一門前端er,你肯定熟知 a:hover ? ??a:visited.....我還記得在小本本上記著訣竅:love 與 hate 糾纏不休,大家都懂的吧。。。。 ? ?????偽類和...
閱讀 1594·2021-11-22 15:33
閱讀 1737·2021-11-15 18:01
閱讀 674·2021-10-09 09:43
閱讀 2614·2021-09-22 16:03
閱讀 764·2021-09-03 10:28
閱讀 3558·2021-08-11 10:22
閱讀 2724·2019-08-30 15:54
閱讀 1766·2019-08-30 14:21