白盒测试用例的设计方法主要包括逻辑覆盖法、路径测试、数据流测试:
- 逻辑覆盖包括:
–语句覆盖
–判定覆盖
–条件覆盖
–判定/条件覆盖
–条件组合覆盖
–路径覆盖。
路径测试:
- 执行路径测试时,需要进行路径分析,了解路径数目和基本路径数目。同时,要对循环进行考虑。
- 一般来说,循环测试的目标是检查循环结构的有效性。
- 循环分为简单循环和嵌套循环。
–对于简单循环(循环最大次数n),测试时可以考虑跳过整个循环;只循环一次;循环两次;循环m次,m<n;以及分别循环n-1、n、n+1次等情况。
–对于嵌套循环,可以考虑从内层开始,所有外层的循环次数为最小,内层循环按简单循环策略;或由内向外,外层仍取最小,内层取典型值。
数据流测试:
- 数据流分析和测试主要关注变量的赋值和使用。
- 变量的使用分为两种:分别为c-use(Computation Use)和p-use(Predicate Use)。
–如果在运算语句或输出语句中使用变量,则称为该变量的c-use;
–如果在谓词语句中使用变量,则称为该变量的p-use。
–对于c-use而言,变量的定义-使用链是指从定义语句到包含了计算使用的语句的路径;
–对于p-use而言,变量的定义-使用链是指从定义语句到对该变量进行判断使用的语句的两个后继语句的路径。
- 在数据流测试中,基于变量的定义-使用链来选择程序的测试路径,测试用例的覆盖标准可以帮助选择特定的定义-使用链作为测试用例。