- Right. 結果是否正確.
- 首先,我們需要知道什么是正確的結果.
- 對于有大量數據的測試,考慮使用單獨的外部文件來存儲測試數據.
- Boundary. 主要是CORRECT 原則.
- Conformance. 一致性.
- Ordering. 順序性.
- 有序或無序的.
- 一個很大的數據集合中某個數據的位置.
- Range. 值是否位于合理的最大最小值之間.
- Reference. 代碼是否引用了不在代碼本身控制范圍之外的外部資源.
- Existence. 值是否存在.
- Counting. 基數性.
- 是否恰好有足夠的值.
- Time. 時間性.
- 事情的發生是否有序,是否在正確的時間.
- InReverse. 相反性.
- 當原方法插入一條記錄到DB時,可反向用查詢語句來看結果.
- 有些Bug可能原和反方向方法中都出現,所以應使用不同的原理.
- Cross.
- 通常計算會有多個算法,考慮性能或其他因素選擇了一種,可用其它算法來驗證該算法的正確性.
- Error.
- 是否能夠強制錯誤發生
- Performance.
- 是否能夠滿足性能的要求.
- A-trip原則.
- Automatic. 測試所需的任何條件(網絡,DB),都應該成為測試自動化的一部分,如Mock對象.
-
測試必須能夠自己決定是否正確的通過
.
-
- Thorough.一個極端是所有代碼行,所有分支,所有異常都測試.
-
可行的是僅測試最可能的情況,如邊界測試等
.
-
- Repeatable. 測試應(使用Mock) 來?隔離其它測試和周圍的環境.
-
能夠多次執行,并且得到相同的結果
.
-
- Independent. 一個測試應只專注于一個函數,或一組函數.
-
每個方法和類都有自己的setup和tear down. 來保證全新的開始
.
-
- Professional.
實現代碼的規則,也適合于測試代碼
.
- Automatic. 測試所需的任何條件(網絡,DB),都應該成為測試自動化的一部分,如Mock對象.
單元測試的原則
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- //我所經歷的大數據平臺發展史(三):互聯網時代 ? 上篇http://www.infoq.com/cn/arti...