當然如果你那里有200個測試都是因為舊的結構導致的失敗,你就應該找到這個問題來維護你的測試。這就是為什么你應該總是移除你測試中的副本尤其是在生產代碼中。
測試覆蓋和測試Angles? 你如何知道是否你的新代碼是一個好的覆蓋?當試圖移動一個鏈接或者一個約束檢查后,如果所有的測試依然通過,那么你就沒有足夠的代碼復制然后你可能需要添加其他的測試單元。
確認你添加正確測試的最好方法就是測試一些最平常的行和檢查直到用非常的手段使它出錯。這個也許很難,但是如果你不能考慮出一個讓代碼出錯的方法,你就可能沒有好的理由在最初的地方寫下這行代碼。
你不知道什么時候下一個開發者會試圖運行你的程序,他可能優化或者錯誤的刪除一些包含本質的行。如果你沒有一個測試,它就會失敗,其他的開發者可能不會知道他們犯了錯誤。
你也可能試圖利用一些常量去替代一些已經通過了的測試中調用的各種各樣的參數,例如,看下面的方法:
Public Function Sum(ByVal x As Integer, ByVal y As Integer, _
?ByVal allowNegatives As Boolean) As Integer
If Not allowNegatives Then Throw New Exception()
Return x + y
End Function
你可以打亂代碼去測試覆蓋,這有一些關于如何測試的變化:
' Try this...
If Not True Then ' replace flag with const
?If x < 0 OrElse y < 0 Then Throw New Exception()
End If
' Or this...
If Not allowNegatives Then
?' replace check with const
If False OrElse y < 0 Then Throw New Exception()
End If
如果所有的測試依然通過,那么你缺少了一個測試,另外一個紅色標志是在你為多種相同值測試的檢查。如下:ssert.AreEqual(3, retval)
文章來源于領測軟件測試網 http://www.kjueaiud.com/