那裏有什麼工具可以在機器代碼級而不是源代碼級執行代碼覆蓋率分析?我正在尋找一種可能的解決方案來對我沒有源代碼訪問權限的軟件進行模糊測試。沒有源代碼的測試代碼覆蓋率?
1
A
回答
2
我覺得IBM Rational測試覆蓋工具的儀器對象代碼。
假設你有這樣的工具,但沒有訪問源,代碼覆蓋究竟意味着什麼,除了100%?
如果你沒有100%的覆蓋率,你會知道你沒有做過什麼。 但你無法知道什麼。
0
如果您有入口點數(公共方法),則可以測試覆蓋範圍。儘管如此,我還不知道任何工具。 否則,你將不得不測試彙編代碼覆蓋率,我不知道它是否可能。
2
對於編譯代碼(不是Java),try Valgrind。
1
舊帖子...但我的兩美分。
如果你有一堆罐子,並且你知道你正在使用的是什麼類/方法,你可以使用Emma來測試這些罐子,並運行你的示例應用程序對付這些罐子。
在我的情況下,我有我的公司用來構建它的網頁的實際專有組件(生成html代碼)的jar。我們有一個示例應用程序,利用這些組件以及針對示例應用程序運行的一組測試。我編寫了一個ant任務,將maven依賴關係複製到一個目錄中,對它們進行測試並對這些測試過的jar進行測試。這個任務是從Maven POM調用的,因此是構建過程的一部分。
此外,作爲構建過程的一部分,我們處理emma coverage數據以生成報告。此報告顯示了我們沒有源代碼的jar中的類和方法!希望這可以幫助。
相關問題
- 1. 由groovy代碼測試的java代碼的代碼覆蓋率
- 2. 測試代碼覆蓋率的JRuby
- 3. PHPUnit代碼覆蓋率顯示單元測試的代碼覆蓋率?
- 4. APEX測試類0%代碼覆蓋率
- 5. Android測試代碼覆蓋率,Eclipse
- 6. maven單元測試代碼覆蓋率
- 7. 我如何測試代碼覆蓋率?
- 8. 谷歌測試:代碼覆蓋率
- 9. 代碼覆蓋率的路由是100%沒有任何測試
- 10. 沒有運行測試的代碼覆蓋率報告
- 11. 沒有儀器的代碼覆蓋率
- 12. 「代碼覆蓋」與「代碼測試」?
- 13. 代碼覆蓋率 - 哪個代碼覆蓋哪個代碼?
- 14. IntelliJ 2017沒有代碼覆蓋率
- 15. 代碼覆蓋率:.NET代碼覆蓋率和SonarQube VSTS集成
- 16. 聲納代碼覆蓋率:%代碼覆蓋率不一致
- 17. 具有專有測試自動化的Windows代碼覆蓋率
- 18. rspec的代碼覆蓋率
- 19. PHPUnitSeleniumTestcase的代碼覆蓋率
- 20. EclEmma的代碼覆蓋率源代碼註釋
- 21. 如何測量TCL代碼覆蓋率?
- 22. .NET代碼覆蓋率監測
- 23. Sonarqube沒有測量來自TFS 2017的代碼覆蓋率Build
- 24. 代碼覆蓋率報告「代碼運行」,但不是由單獨文件單元測試「代碼覆蓋」
- 25. 差代碼覆蓋率
- 26. PHPUnit代碼覆蓋率0%
- 27. 代碼覆蓋率與SCCT
- 28. ESB代碼覆蓋率
- 29. 全部代碼覆蓋率
- 30. Xcode 8代碼覆蓋率
我有興趣使用模糊測試和代碼覆蓋率分析來查找安全漏洞。首先,我可以在正常操作條件下運行應用程序,並識別塵土飛揚的未使用代碼路徑。然後嘗試在假定最少覆蓋的代碼可能具有最多漏洞的情況下確定漏洞。 – 2010-09-13 19:50:28
但是當你沒有源時,究竟什麼是「塵土飛揚的未使用的路徑」?看起來你所擁有的只是「這條指令沒有被執行」,你必須自己追蹤(下游分支)路徑。即便如此,你也不知道這個路徑代表了什麼;與密碼相關的東西,或與打印「磁盤已滿」相關的內容?那麼你會怎麼做一個未執行的指令位置列表? – 2010-09-13 21:11:55
這是一個好點;我以某種方式相信自己,我可以通過檢查其他輸入如何映射到指令中,來了解如何形成輸入來運行未使用的代碼。現在我想更多了,看起來相當困難。 – 2010-09-14 15:04:56