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

資訊專欄INFORMATION COLUMN

接口測試巧用 “單一變量法”

Snailclimb / 2796人閱讀

摘要:測試與實驗單一變量法,咋這么熟悉的名字高中生物課化學物理,大學時代的各種實驗課中都有提及。就是這個單一變量法,也可用于軟件測試領域。

測試與實驗

“單一變量法”,咋這么熟悉的名字?
高中生物課、化學、物理,大學時代的各種實驗課中都有提及。
就是這個“單一變量法”,也可用于軟件測試領域。

示例

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)檢查各個參數進行非空校驗的測試用例

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

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

user=helloworld,type=1,queryStartDate=null

(2)檢查各個參數進行空字符串校驗的測試用例

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

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

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

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

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)補充測試用例

單一變量法檢查接口參數是否正常,可能會導致部分組合參數不能覆蓋,需要在測試過程中根據實際代碼覆蓋率情況補充測試用例。
舉例: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

相關文章

  • 巧用 `Promise.all` 實現函數:有一個 Promise 被 resolve 整個函數就被

    摘要:調用分布式服務接口時經常會遇到這樣的問題接口方提供多個供用戶調用,只要有一個返回成功就算成功。但是請注意不是等到有一個被時返回,而是只要有一個被時就會返回,不論這個是還是。 調用分布式服務接口時經常會遇到這樣的問題:接口方提供多個 IP 供用戶調用,只要有一個返回成功就算成功。 對于這樣的問題,一個比較簡單的方案是依次調用各個接口,如果前一個接口未成功返回再調用第二個接口。這樣做的好處...

    genefy 評論0 收藏0
  • PHP中巧用curl 并發減少獲取第三方網頁內容時間

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

    王巖威 評論0 收藏0
  • 正則表達式巧用 Unicode 匹配特殊字符

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

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

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

    entner 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<