總結:
一般原則:
測試任何可能失敗的地方。
測試任何已經失敗的地方。
對於新加的**,在被證明正確之前,都可能是有問題的。
至少編寫和產品**一樣多的測試**。
針對每次編譯都做區域性測試。
簽入**之前做全域性測試。
要回答的問題:
我如何知道**執行是否正確呢?
我要如何對它進行測試?
還有那些方面可能會發生錯誤?
這個問題是否會在其他的地方出現呢?
測試哪些方面:使用right-bicep
right------結果是否正確(right)?
b----------是否所有的邊界(boundary)條件都是正確的?
i-----------能查一下反向(inverse)關聯嗎?
c----------能用其他手段交叉檢查(cross-check)一下結果嗎?
e----------你是否可以強制錯誤條件(error condition)發生?
p----------是否滿足效能要求?
好的測試是乙個a-trip
自動化(automatic).
徹底的(thorough).
可重複(repeatable).
獨立的(independent).
專業的(professional).
correct邊界條件
conformance(一致性)--------------值是否和期望的一致。
ordering(順序性)-------------------值是否如應該的那樣,是有序或者無序的。
range(區間性)---------------------值是否位於合理的最小值和最大值之內。
reference(依賴性)-----------------**是否引用了一些不在**控制範圍之內的外部資源。
existence(存在性)-----------------值是否存在(是否是非null,非0,在乙個集合中)。
cardinality(基數性)----------------是否恰好有足夠的值?
time(相對或者絕對的時間性)-------所有事情的發生是否是有順序的?是否在正確時刻?是否恰好及時?
單元測試之道讀書筆記 七
1.通過使用面向測試的設計方法,更好地分離關注點 通過有意地設計出方便測試的 可以讓 具有更好的結構和可維護性。編寫 的時候要記住這個根本性問題 我要如何對 進行測試呢?如果答案不是顯而易見,編寫的看起來很醜陋或者難以編寫的話,就應該修改一些設計,直到易於測試為止。2.通過定義類不變形更好地產品設計...
單元測試之道讀書筆記 五
好的測試所具有的的品質 a trip 自動化 automatic 徹底的 thorough 可重複 repeatable 獨立的 independent 專業的 professional 1.自動化 呼叫測試自動化和檢查結果自動化。2.徹底的 測試所有可能出現問題的情況,覆蓋工具 ncover。3....
單元測試之道讀書筆記 二
編寫單元測試要點 1.引用nunit.dll 2.using nunit.framework 3.宣告public類,測試類新增 testfixture 屬性,此類必須有乙個public的 沒有引數的建構函式 預設建構函式就行 4.測試方法必須新增 test 屬性,測試方法必須是public 沒有返...