軟體測試
《建構之法》的第13章講的是軟體測試,測試就是為了找出Bug并且修改。Bug又可以分解為:症狀(Symptom)、程式錯誤(Fault)、根本原因(Root Cause)。測試方法也有很多,按測試設計的方法分類:黑箱(Black Box)和白箱(White Box),按測試的目的分類:功能測試和非功能測試,按測試的時機和作用分類:冒煙測試和随機進行的、探索性的測試等等。具體的測試方法有單元測試(Unit Test)、代碼覆寫率測試(Code Coverage Analysis)、建構驗證測試(Build Verification Test,BVT)、驗收測試(Acceptance Test)、探索式測試(Ad hoc Test)、回歸測試(Regression Test)、場景/內建/系統測試(Scenario/Integration/System Test)、夥伴測試(Buddy Test)、效能測試(Performance Test)、壓力測試(Stress Test)、内部/外部公開測試(Alpha/Beta Test)、易用性測試(Usability Test)和“小強”大掃蕩(Bug Bash)。
學習C++、Java等語言時,做的程式比較小,測試也就是運作一下,隻是看看程式是否正确、結果是否符合要求什麼的,測試用例也都是随機選取的,沒有什麼測試方法之說。測試不通過,就看程式哪兒出了問題就改哪兒。沒有寫過什麼記錄錯誤的測試文檔,也沒有交流過測試經驗,就是同學之間互相幫助修改程式。
由書看來,原來我所寫的程式運作通過了,并不一定代表程式就是成功的。因為測試方法與測試用例的選取也是很重要的,這關系到程式的成敗,而且大的軟體更是如此,更要進行單元測試。運用正确的、系統的測試方法,不僅能夠幫助程式員修改程式中錯誤,還能提高程式的綜合性能。
以後在寫程式時,注意進行單元測試以及測試用例的使用,時刻提醒自己運用合适的測試方法,測試自己的程式。