• 针对于代码测试
基本概念
• 它是一种验证技术,软件工程师可以使用它来检查他们的代码是否按照预期工作。
• 它考虑了系统或组件的内部机制。
它也被称为结构测试、透明盒测试和玻璃盒测试。(structural testing, clear box
testing, and glass box testing)
•
• 它表明您完全可以看到软件产品的内部工作,特别是代码的逻辑和结构。
白盒测试:静态测试和动态测试。
○ 静态白盒测试方法:代码检查、静态结构分析、静态质量度量方法等。
○ 动态白盒测试是基于覆盖的,尽可能覆盖测试程序的结构特征和逻辑路径。
○ 动态白盒测试方法:逻辑覆盖、循环覆盖、基路径覆盖等。
•
• 主要用于单元测试。
白盒测试需要遵循的原则:
○ 模块中的所有独立路径必须至少实现一次。
○ 所有逻辑值都需要测试两种情况:true和false。
○ 内部数据结构的检查程序,并保证其结构的有效性。
○ 在操作范围内运行所有循环
•
为什么不能进行穷举测试:
路径穷举测试方法不能检测出程序本身是否违反了设计规范,它是否是一个错误的
程序。
○
○ 由于路径遗漏,路径穷举测试程序无法检测错误。
○ 路径穷举测试不能发现与数据相关的一些错误。
•
四代白盒测试:(了解)
○ 第一代白盒测试:
测试开发初始阶段。
调试、断言和打印语句。
○ 第二代白盒测试:
用正式语言操作。(测试脚本)
测试脚本被组合成测试用例,测试用例被组合成测试集,使用测试工程来管理测试
集。
使用代码覆盖率评估测试结果。
RTRT、代码测试、可视化测试、c++测试等。
○ 第三代白盒测试:
解决了这个问题的重复测试,测试模式的变化从一次性转换继续测试模式。
○ 第四代白盒测试:
2逻辑覆盖
• 是以程序内部的逻辑结构为基础的测试用例设计方法。
• 白盒测试作为逻辑测试方法,是以程序内部逻辑驱动的单元测试方法。
逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。
语句覆盖
设计测试用例时要求 所有可执行的语句至少执行一次
判断中可能找不到逻辑操作错误
决定/判定覆盖
运行测试程序,使每个判断的真分支和假分支可以通过至少一次。
判定分支覆盖更一般的含义是:使每个判定获得一种可能的结果至少一次。
条件覆盖
使每个条件的真值和假值都走过。
判定覆盖的更细致的情况
设计多个测试用例,运行测试程序,使程序中每个条件的可能值(真假)至少可以实现一次。