测试用例的设计方法不是单独存在的。
1)首先采用分类树或者等价类对函数的输入域进行划分,将无限测试变为有限测试,这是减少工作量和提高测试效率最有效的方法;
2)在任何情况下都必须使用边界值分析方法。经验表明,用这种方法分析出的测试用例发现程序错误的能力最强;
二值基本边界值分析:对应每个边界取二个值,边界上的值和等价划分边界外的增量距离(对应数据类型的最小有效值)。
在边界值测试中,常使用二值边界,再辅助一个正常值。
3)对于参数配置类的软件,要用组合测试技术选择较少的组合方式达到最佳效果,推荐工具PICT;
注:常用成对组合:输入条件为多参数组合,且参数之间相互作用(可通过其中一个参数的取值变化是否影响最终的结果来判断)时,任意二个参数的取值的组合,然后把所有二个参数的组合进行再次组合成每个组合中包含所有的参数的取值。(即每个用例中包含所有参数的一个取值)
用例数为:参数中取值数最大的二个数值的乘积。
研究表明:成对组合最多能发现95%的缺陷,平均缺陷检出率也达86%。
针对不同软件的可靠性要求,普通软件应至少保证其关键参数满足成对组合的覆盖测试。
另外,单一选择:所有参数的取值至少被一个用例覆盖;基本选择:任取一个所有参数的任一个取值的组合后, 利用控制变量法,只让一个参数变化遍历该参数的所有取值,其他参数取值保持与基本参数取值一致。
4)如果程序的功能说明中含有输入条件的组合情况,则一开始可选因果图法绘制判定表,然后采用判定表继续进行测试;
5)对于业务流清晰的系统,场景测试法可以贯穿整个测试案例过程,综合考虑主要业务流程、功能和错误处理能力。场景测试中可再综合考虑运运用等价类、边界值等方法进一步设计;
6)状态转移测试对明确存在不同状态转移的软件设计测试用例效果非常好,我们可通过不同状态间的转移条件的有效性设计不同的测试数据。