国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

接口測(cè)試巧用 “單一變量法”

Snailclimb / 2800人閱讀

摘要:測(cè)試與實(shí)驗(yàn)單一變量法,咋這么熟悉的名字高中生物課化學(xué)物理,大學(xué)時(shí)代的各種實(shí)驗(yàn)課中都有提及。就是這個(gè)單一變量法,也可用于軟件測(cè)試領(lǐng)域。

測(cè)試與實(shí)驗(yàn)

“單一變量法”,咋這么熟悉的名字?
高中生物課、化學(xué)、物理,大學(xué)時(shí)代的各種實(shí)驗(yàn)課中都有提及。
就是這個(gè)“單一變量法”,也可用于軟件測(cè)試領(lǐng)域。

示例

doSomething(req)表示為接口測(cè)試過程中的某個(gè)方法,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;
}

請(qǐng)求參數(shù):

字段名稱 類型 取值范圍 必填項(xiàng) 備注
user String
type int [0,1,2]
queryStartDate String 格式為yyyy-MM-dd

返回結(jié)果:

字段名稱 類型 備注
success Bool true表示成功,false表示失敗
message String
data Array 對(duì)象數(shù)組

示例數(shù)據(jù):

// 請(qǐng)求參數(shù)
{
  "user": "String",
  "type": "1",
  "queryStartDate": "2018-09-30"
}

// 返回結(jié)果
{
  "success": true,
  "message": "ok",
  "data":[
    {
      ...
    },
    {
      ...
    }
  ]
}
單一變量法實(shí)踐如下

選擇user、type、queryStartDate三個(gè)正確參數(shù),保持其中2個(gè)參數(shù)不變,僅修改其中1個(gè)參數(shù)。

(1)檢查各個(gè)參數(shù)進(jìn)行非空校驗(yàn)的測(cè)試用例

user=null,type=1,queryStartDate=2018-09-30

user=helloworld,type=null,queryStartDate=2018-09-30

user=helloworld,type=1,queryStartDate=null

(2)檢查各個(gè)參數(shù)進(jìn)行空字符串校驗(yàn)的測(cè)試用例

user=空字符串,type=1,queryStartDate=2018-09-30

user=helloworld,type=空字符串,queryStartDate=2018-09-30

user=helloworld,type=1,queryStartDate=空字符串

(3)保持user、queryStartDate不變,遍歷type枚舉項(xiàng)的測(cè)試用例

user=helloworld,type=0,queryStartDate=2018-09-30

user=helloworld,type=1,queryStartDate=2018-09-30

user=helloworld,type=2,queryStartDate=2018-09-30

(4)補(bǔ)充測(cè)試用例

單一變量法檢查接口參數(shù)是否正常,可能會(huì)導(dǎo)致部分組合參數(shù)不能覆蓋,需要在測(cè)試過程中根據(jù)實(shí)際代碼覆蓋率情況補(bǔ)充測(cè)試用例。
舉例:doSomething內(nèi)部針對(duì)特殊用戶,代碼執(zhí)行了不同的業(yè)務(wù)代碼,此時(shí)需要對(duì)特殊用戶增加測(cè)試用例。

user=admin(特殊權(quán)限用戶),type=0,queryStartDate=2018-09-30

user=admin(特殊權(quán)限用戶),type=1,queryStartDate=2018-09-30

user=admin(特殊權(quán)限用戶),type=2,queryStartDate=2018-09-30

為何使用單一變量法進(jìn)行接口測(cè)試?

使用單一變量法,可以方便組織測(cè)試用例,甚至批量生成用例,并快速進(jìn)行接口自動(dòng)化測(cè)試。

代碼實(shí)踐

由你來發(fā)揮,建議動(dòng)手實(shí)踐。

申明

本文由作者同步發(fā)布到segmentfault、知乎社區(qū)、testerhome。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/8840.html

相關(guān)文章

  • 巧用 `Promise.all` 實(shí)現(xiàn)函數(shù):有一個(gè) Promise 被 resolve 整個(gè)函數(shù)就被

    摘要:調(diào)用分布式服務(wù)接口時(shí)經(jīng)常會(huì)遇到這樣的問題接口方提供多個(gè)供用戶調(diào)用,只要有一個(gè)返回成功就算成功。但是請(qǐng)注意不是等到有一個(gè)被時(shí)返回,而是只要有一個(gè)被時(shí)就會(huì)返回,不論這個(gè)是還是。 調(diào)用分布式服務(wù)接口時(shí)經(jīng)常會(huì)遇到這樣的問題:接口方提供多個(gè) IP 供用戶調(diào)用,只要有一個(gè)返回成功就算成功。 對(duì)于這樣的問題,一個(gè)比較簡(jiǎn)單的方案是依次調(diào)用各個(gè)接口,如果前一個(gè)接口未成功返回再調(diào)用第二個(gè)接口。這樣做的好處...

    genefy 評(píng)論0 收藏0
  • PHP中巧用curl 并發(fā)減少獲取第三方網(wǎng)頁內(nèi)容時(shí)間

    摘要:老的訪問方式以及耗時(shí)統(tǒng)計(jì)耗時(shí)耗時(shí)秒并發(fā)訪問方式以及耗時(shí)統(tǒng)計(jì)耗時(shí)耗時(shí)秒帥氣吧整個(gè)頁面訪問后端接口的時(shí)間節(jié)省了一半 前言: 在我們平時(shí)的程序中難免出現(xiàn)同時(shí)訪問幾個(gè)接口的情況,平時(shí)我們用curl進(jìn)行訪問的時(shí)候,一般都是單個(gè)、順序訪問,假如有3個(gè)接口,每個(gè)接口耗時(shí)500毫秒那么我們?nèi)齻€(gè)接口就要花費(fèi)1500毫秒了,這個(gè)問題太頭疼了嚴(yán)重影響了頁面訪問速度,有沒有可能并發(fā)訪問來提高速度呢?今天就簡(jiǎn)...

    王巖威 評(píng)論0 收藏0
  • 正則表達(dá)式巧用 Unicode 匹配特殊字符

    摘要:正則表達(dá)式巧用匹配特殊字符作者原文章首先聲明,本文所有的代碼都是在下面運(yùn)行,需要修改之后才能運(yùn)行,但是本文沒有涉及到太多的新特性,而且由于對(duì)修飾符不支持,最后的實(shí)現(xiàn)也基本是用的知識(shí)寫的代碼。 正則表達(dá)式巧用 Unicode 匹配特殊字符 作者 @zwhu 原文章 @github 首先聲明,本文所有的代碼都是在 ES6 下面運(yùn)行,ES5需要修改之后才能運(yùn)行,但是本文沒有涉及到太多的ES6...

    rubyshen 評(píng)論0 收藏0
  • CSS(一)偽元素的巧用

    摘要:并且,一些偽元素可以使開發(fā)者獲取到不存在于源文檔中的內(nèi)容比如常見的還可以為偽元素定制樣式。。中新增加的偽元素必須用偽類使用一個(gè)冒號(hào)例如。就本文而言,我們將把我們探討的范圍限制在和這兩個(gè)偽元素的巧用上。 作為一門前端er,你肯定熟知 a:hover ? ??a:visited.....我還記得在小本本上記著訣竅:love 與 hate 糾纏不休,大家都懂的吧。。。。 ? ?????偽類和...

    entner 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<