知识点
解释语句覆盖
解释判定覆盖
解释语句和判定覆盖的价值
代码覆盖的含义
白盒测试技术的基础是测试对象的代码,因此也称之为基于代码的测试技术或者基于结构的测试技术;
基于代码的测试技术,其代码覆盖可以基于不同的对象进行判断,比如基于语句的语句判断、基于分支的分支判断等;
白盒测试技术的测试期望结果应该是根据需求或规格说明来确定的,而不是代码本身来确定;
代码覆盖的步骤
第一步:源代码转换为控制流图。控制流图可以比较直观而详细地描述需要覆盖的语句
第二步:分析控制流图,根据测试对象的要求选择需要覆盖的代码;
第三步:根据第二步的结果确定测试数据,生成测试用例;
控制流图例子
语句覆盖(StatementCoverage)
语句覆盖的含义
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次;
语句覆盖的第一步是将源代码转换为控制流图。控制流图可以比较直观而详细地描述需要覆盖的语句;
语句覆盖例子
语句覆盖测试用例
语句覆盖测试完成准则=(被执行的语句数量/总的语句数量)×%
只要执行前面例子中的第四条路径(比如a=8,b=3作为输入)的测试用例,就可以达到%的语句覆盖率;
语句覆盖,有时候又叫作C0覆盖,是最弱的一种覆盖;
语句覆盖:练习
语句覆盖练习输出
选择通过哪些测试用例(或者哪条路径),可以达到%的语句覆盖?
分支覆盖(BranchCoverage)
分支覆盖的含义
控制流图中的边是分支覆盖