软件质量保证与测试 课内实验指导书 第一章 白盒测试 1
1 白盒测试背景知识 结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行
结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致
2 逻辑覆盖 结构性测试力求提高测试覆盖率
逻辑覆盖是一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法
逻辑覆盖按覆盖程度由低到高大致分为以下几类: ①
语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次; ②
判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次; ③
条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次; ④
判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次; ⑤
条件组合覆盖:设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足⑤的测试用例也一定是满足②、③、④的测试用例
设计足够的测试用例,使程序的每条可能路径都至少执行一次
如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例
2 基本路径测试 如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试
它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法
设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次
① 程序的控制流图 控制流图是描述程序控制流的一种图示方法
符号○称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点