1.白盒测试的基本原理
2.关注的对象
-
源代码
措施:阅读源代码,检验代码的规范性,并对照函数功能查找代码的逻辑缺陷、内存管理缺陷、数据定义和使用缺陷等。
-
程序结构
措施:使用与程序设计相关的图表(例如:程序调用图、算法流程图等),找到程序设计的缺陷,或评价程序的执行效率。
3.优势
- 针对性强,便于快速定位缺陷
- 在函数级别开始测试工作,缺陷修复的成本低
- 有助于了解测试的覆盖程度
- 有助于代码优化和缺陷预防
4.不足和弊端
-
对测试人员要求高
测试人员需要具备一定的编程经验,白盒测试工程师需要具备广博的知识面
-
成本高
白盒测试准备时间较长
5.白盒测试的经济学问题
-
通过测试无法证明,被测软件系统是没有缺陷的。
-
软件测试的经济学问题
-
应对策略二:白盒测试
-
对每一种可能的执行路径进行测试(穷尽测试),这可行吗?(答案:不可行)
-
无论是黑盒测试还是白盒测试,都是不可能做到穷尽测试的。即:软件测试是不完备的。
-
软件测试是有风险的。
-
测试设计应达到的目标:
- 提高效率
- 降低风险
- 代码级别上提高软件质量
6.控制流分析技术
- 线性结构
- 条件判定结构
-
While-do循环结构
-
Do-while循环结构
-
常见的程序结构
-
嵌套和串联
- 控制流分析的内容