底下是我稍微玩一下Unit Testing的心得:
- Unit Testing的確是不錯的玩意,特別是在我要重構(Refactoring)的時候,重構完成馬上透過Unit Testing進行驗證,方便又快速。 :)
- boost unit testing framework感覺上蠻強的,使用上可以使用boost 的unit testing framework提供的main(),他會全自動的執行test case,如果使用自己的main()則要手動啟動測試程式。
- Unit Testing建立的成本,我感覺是很值得的。
- UI或是部分無法Unit Testing的程式碼,該如何測呢?花時間去建立simulation??
上課的時候,台上的講師有demo他使用Visual Studio 的Unit Testing,感覺功能還蠻足夠的,而且還可以算目前Unit Testing做到的Code Coverage(1),可惜的是只支援C#, VB.Net, C++/CLI,不提供我目前工作上最常用的Native C++,要不然在Unit Testing使用相同IDE,直接產生GUI的testing report,應該是挺不錯的事吧(2)。
補一下上課的筆記:
- Code Coverage至少有60%~80%
- Unit Testing的Pass Rate%至少要大於98% (為什麼不是100%呢,因為當有時候程式不release你就沒飯吃的時候,或是剩下的2%是不重要或是留待下次修正的bug)
- 先寫Unit Testing再寫code (Test Driven Development)
- good unit testing應該要automated, quickly, repeatable
- Unit Testing無法測試scenarios
- 如何說服你的同事或是上司開始使用Unit Testing呢
Note:
- Visual Studio 的Code Coverage是算block coverage,沒有branch coverage, boundary test
- Visual Studio我似乎只是拿來compiler而已,version control我們是用SVN。 XD
沒有留言:
張貼留言