1、白盒测试:结构测试,对程序内部结构的分析、检测来寻找问题
原则:
- 保证一个模块中的所有独立路径至少被使用一次
- 对所有逻辑值均需测试True和False
- 在上下边界及可操作范围内进行所有循环
- 检查内部数据结构以确保其有效性
方法:基本路径测试法、逻辑覆盖法、代码检查法
代码检查法:桌面检查(程序员自查)、代码审查(审查小组)、走查(审查小组)
静态结构分析法、静态结构度量法
2、逻辑覆盖法
语句覆盖(SC):设计足够多的测试用例,使得程序中每一个语句至少被覆盖一次,语句覆盖无法判断&&和||的真假
判断覆盖(DC):设计足够多测测试用例,使得程序中的真分支和假分支都被执行一次
条件覆盖(CC):设计足够多的测试用例,使判定中每一个判断的真假值都出现一次
条件判断组合覆盖(CDC):同时满足条件覆盖、判断覆盖
多条件覆盖(MCC):设计足够多的测试用例,使得程序中判断各个条件各种组合至少出现一次,一定满足DCCC和CDC,有2^n个用例
修正判断条件覆盖(MCDC):首先实现条件覆盖、判断覆盖,在此基础上,对于每一个条件C,要求存在符合以下条件的两次计算
- 条件C所在判断内的所有条件,除条件C以外,其他条件的取值完全相同
- 条件C的取值相反
- 判断的计算结果相反
3、基本路径测试法
独立路径:指包括一组以前没有处理的语句或条件的一条路径
软件复杂度:指理解和处理软件的难易程度,程序复杂度是软件度量的重要组成部分
控制流程图:描述程序控制流的一种图示方法
4、不同阶段的测试重点
单元测试阶段:以代码检查、逻辑覆盖为主
集成测试阶段:需要增加静态结构分析、静态结构度量
系统测试阶段:应根据黑盒测试的结果,采取相应的白盒测试