- 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對象.
作者:滬上最強亞巴頓
鏈接:https://www.jianshu.com/p/c81fc5d550fa
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。