開發(fā)完了,如何做產(chǎn)品的測試用例?

前言

如果你聽說過“測試驅(qū)動開發(fā)”(TDD:Test-Driven Development),單元測試就不陌生。

單元測試是用來對一個模塊、一個函數(shù)或者一個類來進(jìn)行正確性檢驗的測試工作。

比如對函數(shù)abs(),我們可以編寫出以下幾個測試用例:

輸入正數(shù),比如1、1.2、0.99,期待返回值與輸入相同;

輸入負(fù)數(shù),比如-1、-1.2、-0.99,期待返回值與輸入相反;

輸入0,期待返回0;

輸入非數(shù)值類型,比如None、[]、{},期待拋出TypeError。

把上面的測試用例放到一個測試模塊里,就是一個完整的單元測試。

如果單元測試通過,說明我們測試的這個函數(shù)能夠正常工作。如果單元測試不通過,要么函數(shù)有bug,要么測試條件輸入不正確,總之,需要修復(fù)使單元測試能夠通過。

單元測試通過后有什么意義呢?如果我們對abs()函數(shù)代碼做了修改,只需要再跑一遍單元測試,如果通過,說明我們的修改不會對abs()函數(shù)原有的行為造成影響,如果測試不通過,說明我們的修改與原有行為不一致,要么修改代碼,要么修改測試。

這種以測試為驅(qū)動的開發(fā)模式最大的好處就是確保一個程序模塊的行為符合我們設(shè)計的測試用例。在將來修改的時候,可以極大程度地保證該模塊行為仍然是正確的。

                                                 *廖雪峰 python3 教程-單元測試*

學(xué)python3看到這里的時候,想起之前做2.0上線測試用例,不斷完善用例時自己的心得,有種相見恨晚的感受。

產(chǎn)品的基礎(chǔ)架構(gòu)出來后,各類功能的開發(fā)和測試,如果都能夠從這個理念出發(fā),那么 開發(fā)和產(chǎn)品的溝通會順利很多,效率也會提高很多。

因此打算做做總結(jié),為接下來要做的2.2 做準(zhǔn)備。

測試用例一般包括以下幾個部分:

  1. 前置條件

  2. 輸入

  3. 預(yù)期結(jié)果

  4. 測試結(jié)果及描述

PM 在做產(chǎn)品設(shè)計的時候,就編寫好測試用例的1-3部分,不僅有利于之后的測試,還有助于開發(fā)團(tuán)隊精準(zhǔn)了解具體需求,提高需求的邏輯完備性。

針對比較重要的開發(fā)任務(wù),建議這樣做。


實例

在實際操作過程中,最容易發(fā)生遺漏的地方是 “輸入”部分。因此,我們從輸入的規(guī)則上,就應(yīng)該盡量做到遍歷所有情況,具有邏輯完備性。

遍歷規(guī)則:

有數(shù)據(jù)輸入
有效數(shù)據(jù)輸入:功能步驟1,功能步驟2,...
無效數(shù)據(jù)輸入
無數(shù)據(jù)輸入
再拿上面取絕對值函數(shù)abs()為例:

有數(shù)據(jù)輸入:
有效數(shù)據(jù)輸入:
輸入正數(shù)
輸入負(fù)數(shù)
無效數(shù)據(jù)輸入:
輸入非數(shù)值類型
無數(shù)據(jù)輸入:
應(yīng)用到我們客棧一個很小的功能測試用例,則體現(xiàn)如下:需求者確認(rèn)報價

需求者確認(rèn)報價

以這個規(guī)則,可以從方法上提升測試的質(zhì)量,反過來也能提升產(chǎn)品和開發(fā)的溝通效率。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容