軟件測試框架
程序最重要的是
穩定性
,而不是花銷的算法,或是性能,或是節省空間多少。
如何保證程序的穩定性?
代碼規模越大,越容易產生bug,這裏的bug分兩種, 一是邏輯上的bug,二是程序掛掉。通常避免系統的bug辦法是做單元測試。
單元測試是保證每一個模塊,每一個函數運行正確,不管輸入什麼參數,都應該正確的輸出結果。只要每個子模塊都運行正確,那麼集成系統的時候就是正確的。核心公式:
輸入 -> 輸出 = 預期輸出?. 統計成功次數
軟件框架:
模塊化設計:每個模塊是一個文件,測試也是一個文件,測試文件調用模塊文件的api。
測試框架:
編寫CHECK_EQ函數,這個函數的功能是校驗輸入的值經過要測試的函數輸出值,以後跟預期的值有沒有一樣,然後統計結果。
在構建系統中加入 -ftest-coverage -fprofile-arcs 可以做覆蓋性測試。
具體參考 unittest