假設我們現在遇到一個問題:
小明是個主管,手中的產品已經做完了,準備要開開心心的釋出你的產品。而你的上頭老闆突然問了你一句話:
[小明阿,要怎麼證明你這產品交到客戶手中不會出現問題啊...= =?] 老闆露出疑惑的表情~
[我們有很多測試案例(Test Case) !!! 都跑過了,不會出現問題!!] 小明拍著胸脯保證著。
[恩....不過這麼多測試案例,好像也不能保證什麼啊... ( ̄▽ ̄#)﹏﹏] 老闆再度的露出了疑惑的表情....
[恩....好像是耶......◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣]
恩,對阿。要怎麼去證明那一堆的測試案例真的有用呢? 總不能說我列出了上千的測試案例,然後就說,我把所有的東西都測完了!!! (鬼才相信你...)
目前專案上遇到了這個問題,經由同事們之前的研究和實際測試以後,發現了VSTS自帶提供的VSPerfMon tool 可以有效的解決這個問題。
我們先來看看什麼是 Code Coverage
http://en.wikipedia.org/wiki/Code_coverage
It describes the degree to which the source code of a program has been tested. (代碼覆蓋率可以說明到底測試案例涵蓋了多少程度的代碼)
假設我們可以產生出一份報告,說明出這次的測試到底涵蓋了多少的 Code Coverage,這就可以實際的證明出:這份測試案例是很有效的!!
好的,那換我們來說說做法。
1. 首先,開啟 Visual Studio Command Prompt (2010) http://msdn.microsoft.com/en-us/library/ms229859.aspx
// 有的時候,你開啟IDE不見得會看到這個東西。請從 開始->所有程式->VSTS 2010 去找
最後要注意一項, .coverage file 是可以Merge的。只要DLL都是步驟2操作的那個即可。