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