前几日回顾白盒测试方法,竟想不起来,实例列举于此以备温习。
白盒测试是基于代码的单元测试,是软件测试金字塔的底层,是保证质量的重要方法,应重点加强。
白盒测试的 6 种方法
如图,共有分支 5 条:1,2,3,4,5。其中5为隐含分支,未明确说明具体动作。可能的分支:
说明:
遗留问题:
白盒覆盖 | 原则 | 用例 | x | y | a | ① | ② | 用例/分析 |
语句 | 执行每条语句 | 1-2-4 | 5 | 5 | 2 | 假真->假 | 真 | 优:每个语句块均被执行 劣:但输入条件和判定分支覆盖较少,弱覆盖 |
判定(分支) | 执行每个判定(真/假) | 1-2-4 | 5 | 5 | 2 | 假真->假 | 真 | 优:判定条件真、假值被执行 劣:判定语句的输入条件组合不全 不同判定真、假结果组合不全 |
1-3-5 | -5 | 5 | 5 | 真真->真 | 假 | |||
条件 | 执行每个判定条件 | 1-2-4 | 5 | 15 | 2 | 假假->假 | 真 | |
1-3-5 | -5 | 5 | 5 | 真真->真 | 假 | |||
判定/条件 | 执行判定+条件 | 1-2-4 | 5 | 15 | 2 | 假假->假 | 真 | |
1-3-5 | -5 | 5 | 5 | 真真->真 | 假 | |||
组合 | 执行判定、结果、组合 | 1-2-4 | 5 | 5 | 2 | 假真->假 | 真 | 优:判定条件所有组合被执行 判定语句结果组合被执行:真真、真假、假真、假假 劣:部分路径无覆盖 |
5 | 15 | 2 | 假假->假 | 真 | ||||
-5 | 15 | 2 | 真假->假 | 真 | ||||
1-3-5 | -5 | 5 | 5 | 真真->真 | 假 | |||
路径 | 执行所有可能路径组合 | 1-2-4 | 5 | 5 | 2 | 假真->假 | 真 | 优:考虑所有可能的路径(判定 or 条件 or 组合?) 劣:生成路径的可能条件组合未考虑 |
1-2-5 | 不可达 | |||||||
1-3-4 | ||||||||
1-3-5 | -5 | 5 | 5 | 真真->真 | 假 |