測試理論 Test Double

2022-01-11 14:03:06 字數 1507 閱讀 8154

概述

簡述 test double

mock, fake 之類的東西

背景最近在看 google 軟體測試之道

媽的 13 年的老書了

書裡有提到 mock, fake, stub

剛好, 我又不太會

上網找相關的東西

發現了乙個叫做 test double 的東西

概述測試替身

背景單元測試中, 總會對外界產生依賴

要麼依賴外界的引數

要麼依賴外界的服務

但是如果真的依賴起來了...

一傳十十傳百, 就得起一套環境

可我就想寫個 單元測試 啊喂...

於是, 有了 測試替身...

不是 jojo 的那個替身...

double 就是 替身的意思

test double

概述在測試中用來充數的物件

目的減少依賴

方便測試

分類dummy

名稱啞物件

本質乙個普通的物件

但是卻不會被使用...

場景通常用來做 引數列表 的填充

fake

名稱假物件

本質確實是乙個有邏輯的實現

但是這個實現僅僅為了完成測試, 所以會比較簡陋

跟生產環境肯定沒法比

場景比如需要用 資料庫 的時候,

我們可以用乙個 fake, 連線到 redis 裡取資料

stub

名稱樁物件

本質沒有邏輯

只有固定的返回值

作用域很小, 只有測試的地方...

場景測支付的時候, 需要返回成功

spy名稱

間諜物件

本質是乙個 樁物件

但是多了一些 記錄功能

場景有個 模擬發郵件 的 spy

每次呼叫它, 就會返回成功

這個 spy 會記錄你每次要傳送的內容

可能是 呼叫引數 之類的

mock

名稱模仿物件

本質預定義了一系列的呼叫返回

如果符合 預期, 就 正常返回

如果不符合 預期, 就會 報異常

感覺比 stab 要稍微複雜點...

簡單的說, 就是乙個 帶斷言 的 stub

然後你問我, 為啥不直接用 斷言...

其實, 我覺得...也可以...

而且用 mock 的話, 測試會更加真實, 自然...

場景通常用來模擬 可能會觸發異常, 的場景

這個用倒是用過, 可真的 一會半會 想不出來啥場景了...

ref**mock,fake和stub在測試中的應用

乙個相對靠譜的老哥

ref 真的很全

testdouble

這個是 martin fowler 的部落格

就是寫 重構, 分析模式 的老哥

test double

這是另一本書 xunit patterns 對這些的講解

後續找了些 mock 的學習資料, 有空自己 補一補...

測試理論小結

典型的測試步驟 1 計畫 確定目標,確定測試策略,測試方法 2 執行 建立測試環境,按測試計畫執行 3 檢查 一步步驗證,是否執行完畢 4 迴圈 如果沒有改正,繼續執行 測試職責 1 驗證在整個軟體開發周期中,各個階段的軟體質量是否合格 2 驗證最終交付給客戶的軟體系統是否是客戶想要的,滿足需求的 ...

測試理論二

1.軟體測試的分類 1 按測試策略分類 黑盒 白盒測試 動態 靜態測試 手工 自動測試 2 按測試階段分類 單元測試 整合測試 確認測試 系統測試 驗收測試 3 按測試方法分類 功能測試 效能測試 壓力測試 負載測試 易用性測試 安裝測試 介面測試 配置測試 文件測試 相容性測試 安全性測試 恢復測...

測試相關理論

1.概念 驗證軟體功能是否能夠滿足使用者的需求。找bug,驗證它沒有問題 1979年,軟體測試藝術 軟體測試是為了發現錯誤而執行程式或系統的過程。1983年,軟體測試完全指南 測試是以評價乙個程式或者系統屬性為目標的任何一種活動。測試是對軟體質量的度量。1983年,ieee軟體工程標準術語 使用人工...