關於斷言與錯誤處理,以及測試用例的設計

錯誤處理:淨化從外部接口輸入的參數,它是用來處理預期會發生的情況;
斷言: 處理絕不應該發生的情況,用於子程序,系統內部的程序,用於調試開發中

如果在子程序接口入口處發生了斷言,則說明:調用了該子程序的外部程序存在錯誤,而不是子程序本身有錯誤!
如果在程序內部執行中發生了斷言,則說明:該程序在該斷言之前的代碼存在錯誤!

當然,這些說法的前提是:對斷言中條件的使用是合乎程序功能設計的。


所以,在設計測試用例時,內部子程序的測試用例中不需要包含非法的輸入參數,如NULL值的情況,只需要關心邏輯上的異常參數即可。
對於包含非法參數的測試用例,是用於對外接口函數的,以此來測試對外接口對外界輸入的魯棒性和健壯性。


對於何時使用異常處理,而何時使用斷言,有這樣一種判斷準則:
1:如果使用了異常處理,那麼如果異常發生,並且程序能夠捕捉到這種異常情況,程序就能夠很好的做出響應和反饋,就說明了程序設計良好,具有魯棒性
2:如果使用了斷言,那麼當斷言觸發時,它說明的是:程序的設計本身存在問題,需要修復,並重新編譯和發佈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章