2011-03-25 53 views
0

我有一些驗收測試用小黃瓜語法編寫,並使用SpecFlow自動化它們。方案的一個示例(儘管不是小黃瓜)是:如果您有一個功能的場景/測試,您是否必須測試相反的結果?

「當提交審查並且薪資增加百分比高於公司門檻值時,則」加薪審批人「需要批准審查。」

正如你所看到的,這是一個特殊情況的例子,導致一個額外的人必須批准審查。鑑於這個例子,是否有必要有一個場景:

「當審覈提交的公司門檻範圍內的薪水增長百分比時,那麼」薪酬增加審批人「不需要批准審查。 「

如果是這樣,哪裏是切斷線。顯然,這可能會導致每個場景有兩個場景 - 一個與您正在嘗試完成的內容有關,另一個只是驗證您沒有犯錯(例如,增加批准者最終不得不批准每個評論)

回答

1

測試的程度取決於各種因素,包括您擁有的時間和必要性,因此在決定盲目測試之前應考慮這些因素。

您指定的場景定義了兩個非常明顯的代碼路徑和2個不同的結果,因此它們通常都應該被測試。

理想情況下,你應該有一套現有的測試應該測試現有的功能,在這種情況下,它可能是門檻內的薪水增加,不需要'加薪批准者',在這種情況下,你可以回收這個測試(運行作爲一個迴歸測試),你只需要測試超過閾值的增加。當你建立你的迴歸測試套件時,這個測試變得更快。

注:我不熟悉您正在使用所以不能給一個相關的例子工具

1
> .. do you have to test the opposite? 

直到有業務需求我要說沒有,因爲也有可能是一個如果員工是經理或老闆的兒子,則不需要審批者工作流程。在這種情況下,如果沒有任何業務價值,簡單閾值相反測試將失敗。

+1

我想可以歸結爲語義學,但我相信這句話「當提交薪水增加百分比的審查超出公司門檻,那麼」加薪審批人「需要批准審查。」 「正如你所看到的,這是一個特殊情況的例子」推斷業務需求低於門檻而不會標記。但絕對是業務分析師的問題 – zode64 2011-03-25 15:38:14

相關問題