2011-09-02 156 views
0

有什麼方法或任何工具可以在黑匣子測試期間測量代碼覆蓋率? 我必須測量運行在網絡源代碼上的web應用程序的代碼覆蓋率。用黑匣子測試測量代碼覆蓋率

+0

用什麼?代碼覆蓋工具具體針對他們的目標。例如,Python代碼覆蓋工具不會對C代碼做任何事情。 –

+0

這也是非常有用的 - http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers –

回答

1

有幾種代碼覆蓋工具可能適用於.NET。但是針對正在運行的應用程序運行的代碼覆蓋範圍而不是針對單元/自動化測試的運行代碼受到由於用戶錯誤而導致的問題(不一致的報告)的影響,並且還有問題,因爲您必須讓應用程序與分析器交談。商業產品在這方面可能會更好(因爲這是他們可以銷售的功能)。

你應該確實運行測試套件的覆蓋範圍,即nunit/mstest - 我個人發現使用代碼覆蓋工具對用戶(測試者/ dev/real)控件下的實際運行的應用程序沒有什麼好處。

商業

NCover - IIS and NCover說明

Semantic Designs

開源

PartCover - 不支持,但你可以使用iisexpress(序列和IL報道)。

OpenCover - 支持集成到IIS中;但是你可以使用它來抵禦iisexpress(序列和分支覆蓋)。

我相信上述所有內容都使用profiler API來測試代碼 - 以獲得代碼覆蓋率。同樣爲了檢查你的代碼覆蓋範圍(.cs/.vb文件),你可能需要PDB文件(因爲這是所有IL偏移量 - >源代碼行信息所在的地方)。