回答
我不知道任何計算輸入範圍的COTS工具,所以我希望您必須構建一個能夠做到您想要的工具。
我的技術文章Branch Coverage for Arbitrary Languages Made Easy描述了一種使用Program transformation system爲任意語言構建測試覆蓋率工具以將任意探測器插入源代碼的方法。
本文主要關注構建代碼覆蓋率,但探針插入技術是一般性的,您可以決定探針的位置以及它們的功能。在你的情況下,你只想在方法入口處放置探測器,並且你希望探測器跟蹤輸入參數實例。本白皮書介紹瞭如何通過使用源代碼模式來指示插入點的位置探測器的位置;方法條目很容易被描述爲一種模式。
捕獲輸入實例比較笨拙但可行。你必須決定什麼是「輸入」;它只是參數值,還是參數的某種深層副本?可能你需要做的是創建一個對象類型(per-method instrumented),它的數據成員對應於這些參數,用一個副本實例化這個對象(適當的深度),然後將這個對象存儲在每個方法中哈希表。 (一旦你知道你想做的代碼成語,轉化規則就可以插入所有這些)。所有這些,在執行時,你的哈希表建立了參數集,這是你想要的關鍵。
您可以(連續)計數通過控制將重複項插入散列表時發生的情況來確定唯一的參數集實例;該計數(每個方法)可以在程序完成時導出的全局數組中進行管理。本文討論了這樣一個全局數組,以及一般導出/顯示的各種方法。
我們的線test coverage和profilers是使用本文中的技術構建的。分析器在這樣的全局數組中保持計數/次數(基本上就是你所需要的)並將它們導出到顯示引擎,該引擎繪製熱直方圖,顯示熱點的位置。這些顯示引擎是語言和探測數據源不可知的現成的,因爲它們都包含在我們的任何一個(探查器)工具中,包括Java探查器,因此您可以將其中一個工具用於顯示任務。
- 1. 如何測量測試覆蓋率
- 2. QUnit測試覆蓋率
- 3. 測試覆蓋率.NetCore
- 4. BDD和測試覆蓋率
- 5. 使用aqtime測量單元測試的代碼覆蓋率
- 6. 用黑匣子測試測量代碼覆蓋率
- 7. 在Sonar中,如何通過測試查看測試覆蓋率?
- 8. 使用PHPUnit和PDO測試覆蓋率
- 9. rails中的測試覆蓋率
- 10. Netbeans 8.1中缺少測試覆蓋率?
- 11. gyp中的覆蓋率測量操作
- 12. 在運行時測量python覆蓋率
- 13. 條件覆蓋率與決策覆蓋率測試
- 14. 使用eclEmma工具記錄每個測試用例的測試覆蓋率
- 15. 測量集成測試覆蓋率與Maven
- 16. 通過API測試測量C#.net代碼覆蓋率
- 17. 如何測量Golang集成測試覆蓋率?
- 18. Django項目中的CI測試和覆蓋率測試
- 19. Sonar中的Python測試/測試覆蓋率沒有顯示?
- 20. 使用Java寫入文本文件,覆蓋測試用例的輸出
- 21. VS 2017年的測試覆蓋率似乎測量測試代碼只
- 22. 計算C#硒代碼覆蓋率測試用例
- 23. Behat的行爲測試覆蓋率
- 24. APEX測試類0%代碼覆蓋率
- 25. JUnit測試與Cobertura覆蓋率報告
- 26. Spring XML bean定義測試覆蓋率
- 27. Ruby測試覆蓋率繪圖工具
- 28. Android測試代碼覆蓋率,Eclipse
- 29. IT測試覆蓋率是SONAR
- 30. maven單元測試代碼覆蓋率
當然,它的*可能*。測量代碼以收集所有輸入並對其進行計數。你在問一個這樣的工具嗎? –
我不知道Clover是否具有此功能,但它是編寫測試代碼的好插件http://www.atlassian.com/software/clover/ – WillHaack
@Ira我正在尋找一個工具。但我想這可以做到。我會檢查三葉草。我一直在使用EclEmma。 –