else
statement2;
但是对于很多嵌入式应用程序,像上面这个例子表明的,覆盖技术必须扩充到条件覆盖。条件覆盖能使每一个判断逻辑表达式的结果为真和假,这些判断逻辑表达式通过逻辑与或逻辑或连接起来。条件覆盖测试条件中的每个判断。
在除安全苛刻性应用系统以外的其它所有情况下,分析单个的条件将可以有效的涵盖其它的覆盖所能达到的状况。考虑一下在真实测试中使用“白盒测试”技术,在错误预防方面所能带来的益处。
如何到达充分的覆盖
在我们以加快上市时间、快速改善产品品质为目的进行生产力提升的同时,怎样才能进行彻底的覆盖呢?
通常不需要太多的努力便能实现语句覆盖和分支覆盖的一致(尽管不可行分支和代码可能没被发现),但是路径测试覆盖率经常会滞后于语句和分支覆盖率,这是因为需要有苛刻的测试策略才能实现路径测试覆盖的最大化。
如果,路径测试覆盖能达到一致,这将大大的减少保留在程序中的未发现的错误。最大限度的路径测试覆盖对于一个程序的测试是比较彻底的,而且路径测试覆盖非常擅长发现存在于循环结构中的错误。实行对每一个语句的覆盖并不需要实现对整个循环的覆盖——而只需要一个直接贯穿的路径。对每个分支的测试能保证循环至少被执行了一次,但是如果要对每个路径进行测试却需要循环至少被执行两次。对于高可靠性代码,推荐路径测试覆盖的最大化。
文章来源于领测软件测试网 https://www.ltesting.net/