所有现有测试用例的代码覆盖率?
Posted
技术标签:
【中文标题】所有现有测试用例的代码覆盖率?【英文标题】:Is code coverage for all existing test cases? 【发布时间】:2017-07-20 05:38:15 【问题描述】:我对代码覆盖率有疑问。
考虑以下场景,
如果我有带有一些参数的方法 Sample() 并且我为该方法编写了示例 10 测试用例。
在运行代码覆盖时,如果代码的一部分(例如 if 条件)仍未被覆盖。
所以如果我要通过编写新的测试用例来覆盖 if 条件,
我可以通过单独使用有效参数来覆盖该代码(使用任何一个已经存在的测试用例)。我的疑问是,
单个测试用例是否足以用于未覆盖的代码?否则我必须通过重复该方法的所有现有 10 个测试用例来覆盖代码?
【问题讨论】:
我希望我的回答,解决你的问题,然后你可以将其标记为已回答;) 【参考方案1】:仅 100% 的代码覆盖率并不是一件容易的事。
以您的示例为例,这取决于您的上下文(功能) - 它可能是两个不同的场景。一个是,white box testing,您有两个现有路径 - IF = TRUE 或 FALSE。 然后给定的一组参数会在您的函数内部生成其他路径,但是如果您的函数是关于验证的,并且所有给定场景的测试用例测试相同的结果(有效/无效的参数集),那么所有案例的预期结果都是相同的。但如果你把成功和失败混为一谈,那么应该是分开的。
【讨论】:
以上是关于所有现有测试用例的代码覆盖率?的主要内容,如果未能解决你的问题,请参考以下文章