1. 程序控制流图
- 静态白盒测试主要包括:代码走查、静态结构分析
- 动态白盒测试主要包括:程序插桩、逻辑覆盖测试、基本路径测试、循环结构测试等。动态白盒测试方法是白盒测试中发现软件缺陷的主要手段。其中,逻辑覆盖测试和基本路径测试方法是实际工作中最常用到的两种动态白盒测试技术
- 白盒测试重视测试覆盖率的度量,被看做是“基于覆盖的测试”
- 白盒测试原则
1、保证程序模块中的所有独立路径都至少被使用一次;
2、保证程序中的所有逻辑值都能测试True和False两种情况;
3、在循环的边界和运行的界限内执行循环体;
4、测试程序内部数据结构的有效性以及完成边界数据取值情况下的测试 - 软件复杂度度量的参数
(1) 规模: 即总共的指令数, 或源程序行数。
(2) 难度: 通常由程序中出现的操作数的数目所决定的量来表示。
(3) 结构: 通常用与程序结构有关的度量来表示。
(4) 智能度: 即算法的难易程度。 - 软件复杂性的度量方法:代码行度量法、McCabe度量法
- McCabe度量法