当涉及到代码覆盖时,您经常听说语句覆盖缺陷标准。我们被告知,该语句没有考虑到控制结构及其分支,因此与其他标准(如分支覆盖、条件覆盖,甚至功能覆盖)相比,这是不公平的。
但是,声明覆盖的实际好处是什么,它在工业中使用的程度(也许是在与其他标准的合作代理中)?语句覆盖标准是否满足了其他标准所不满足的需求?
发布于 2014-12-19 09:44:57
语句覆盖的唯一优点是它比其他覆盖变量更容易计算。您只需要知道是否执行了某一行代码,计算覆盖率就像计算已执行的语句和语句总数一样简单。
对于其他覆盖率变体,您必须在语句之前和之后考虑代码。您需要知道if的哪个分支被拿走了。如果实际执行了for循环。您还需要复杂地计算代码所采用的所有可能路径,并计算这些路径才能获得相对覆盖率。
语句覆盖也更容易可视化。您可以只显示用绿色和非红色覆盖的语句。但是对于其他覆盖变体,很难想象哪个分支语句被击中(或不命中)以及哪个测试。
现在它在工业中被大量使用的主要原因是,由于最简单,它是第一个被使用的。因此,用户没有理由转向更复杂的变体(或者甚至没有意识到它们的存在),这就造成了对实际复杂版本的低需求并进入人们的头脑。
https://softwareengineering.stackexchange.com/questions/266889
复制相似问题