什么是代码覆盖率以及如何衡量它?
有人问我这个关于我们的自动化测试代码覆盖率的问题。看起来,除了自动化工具之外,它更像是艺术而不是科学。有没有关于如何使用代码覆盖率的真实示例?
代码覆盖率是在自动化测试运行时执行代码的行数/块/弧数的度量。
代码覆盖率是通过使用专门的工具来检测二进制文件以添加跟踪调用并对所检测的产品运行全套自动化测试来收集的。一个好的工具不仅可以为您提供已执行代码的百分比,还可以让您深入研究数据并准确查看在特定测试期间执行了哪些代码行。
我们的团队使用Magellan- 一套内部代码覆盖工具。如果您是 .NET 商店,Visual Studio 具有用于收集代码覆盖率的集成工具。您还可以使用一些自定义工具,例如本文描述。
如果您是 C++ 商店,英特尔有一些tools可以在 Windows 和 Linux 上运行,尽管我没有使用过它们。我还听说 GCC 有 gcov 工具,但我对此一无所知,也无法给你链接。
至于我们如何使用它 - 代码覆盖率是我们每个里程碑的退出标准之一。我们实际上有三个代码覆盖率指标——单元测试的覆盖率(来自开发团队)、场景测试(来自测试团队)和组合覆盖率。
顺便说一句,虽然代码覆盖率是衡量您正在做多少测试的一个很好的指标,但它不一定是衡量您的产品测试情况的一个好指标。您还应该使用其他指标和代码覆盖率来确保质量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)