是否有用于手动测试的代码覆盖率工具?例如,如果我写了30行新代码,编译,然后运行,有没有办法快速验证所有30行都运行了?
另外,当我将代码签入正式版本后,有什么方法可以验证测试部门在进行独立测试时是否命中了所有 30 行代码?
我知道有很多工具可以验证测试部门是否测试了所有需求,但我还没有找到一个工具可以验证测试人员是否测试了所有代码行。
我对 .NET / C# 工具最感兴趣。
获得 100% 的覆盖率可能有点矫枉过正——在某些情况下,即使所有行都被覆盖,该工具也可能不会显示。话虽这么说,您应该查看 Visual Studio Team System 中的代码覆盖率工具或任何外部覆盖率工具,例如 nCover。 Team System 允许您定义与测试相关的签入策略,这些策略可以让您执行您想要的操作,以确保签入的代码已经过测试。
是的,请查看 AutomatedQA 的工具。他们可以通过手动测试来进行代码覆盖率并且他们拥有用于自动化手动测试的工具,这些工具也可以与代码覆盖率相结合。
这里有更详细的答案,而不仅仅是链接:
要对 IIS Express 应用程序执行此操作:
检测您想要查看覆盖范围的 dll。所以在你的 bin 目录中运行这个
vsintr /coverage yourapp.dll
不幸的是,我还没有弄清楚如何让它使用通配符。
启动应用程序
vsperfcmd /start:coverage /output:run.coverage
C:\Users\<your user>\Documents\IISExpress\config\applicationhost.config
运行手动测试, 然后完成
vsperfcmd /shutdown
粘贴在这里,以防万一丢失。我还没有测试过解决方案
由于灵活的团队系统测试基础设施设计,您可以按照与要检测的其他测试进行设置的方式进行设置: 双击解决方案项下的“localtestrun.testrunconfig”文件,打开“测试运行配置”。您只需导航到代码覆盖率并添加/标记您想要检测的程序集。
然后开始测试,然后确保在添加/标记期间定义的程序集路径中启动您正在测试的应用程序,通常是
现在开始测试应用程序以满足手动测试。在应用手动测试之前,请务必关闭应用程序,以便保存代码覆盖率结果。
我已经使用 dotnet-coverage 工具实现了,能够在手动或自动化测试期间捕获所有覆盖率%
先决条件:需要安装dotnet。 要安装 dotnet-coverage NuGet 包的最新发行版本,请使用 dotnet 工具安装命令:
dotnet tool install --global dotnet-coverage
dotnet tool install -g dotnet-reportgenerator-globaltool
导航到“\从项目位置执行以下行。这将根据 .coverage 文件中的项目和 pdb 函数收集数据
dotnet-coverage collect dotnet run
在 localhost :5000 中启动应用程序
执行一些场景在执行一些操作后,或者您可以运行任何自动化脚本,然后单击 ctrl+C 关闭运行 – 将创建output.coverage
After executing the scripts output.coverage is getting generated so we need to merge this output.coverage to .xml with below function
dotnet-coverage merge -o output.xml -f xml output.coverage
从output.xml使用报告生成器创建html报告 ReportGenerator -reports:C:\Analytics_Application nalyticscoredev\Temenos.Insight\Temenos.InsightWeb\output.xml -targetdir:C:\SampleAppPlus\CoverageReports\html -sourcedirs:C:\SampleAppPlus
Visual Studio 有一个控制台应用程序,可用于手动代码覆盖,请参阅 https://learn.microsoft.com/en-us/visualstudio/test/microsoft-code-coverage-console-tool?view=vs-2022
总而言之,您可以通过四个步骤获得手动覆盖:
Microsoft.CodeCoverage.Console instrument --session-id 73c34ce5-501c-4369-a4cb-04d31427d1a4 MyApplication.exe
Microsoft.CodeCoverage.Console collect --session-id 73c34ce5-501c-4369-a4cb-04d31427d1a4 --server-mode
Microsoft.CodeCoverage.Console shutdown 73c34ce5-501c-4369-a4cb-04d31427d1a4
这将输出一个文件,默认名为
output.coverage
,您可以在 VS 中打开该文件来查看您的覆盖范围!