目录
一、测试设计方法选择策略
在实际测试中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖度:
1、首先采用分类树或等价类对函数的输入域进行划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。
2、在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
3、对于参数配置类的软件,要用组合测试技术选择较少的组合方式达到最佳效果。
4、如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法绘制判定表,然后采用判定表法继续进行测试。
5、对于业务流清晰的系统,场景测试法可以贯穿整个测试案例过程,综合考察软件的主要业务流程、功能和错误处理能力。
6、状态转移测试对于明确存在不同状态转移的软件设计测试用例的效果非常好,我们可以通过不同状态间的转移条件的有效性设计不同的测试数据。
二、等价类划分法
把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性的数据作为测试用例。每一类的代表性数据在测试中的作用可以等价于这一类中的其他所有值,这就是“等价类”这个名字的由来。
如果某一类中的一个数据发现了错误,这一等价类中的其他数据也能发现同样的错误;反之,如果某一类中的一个数据没有发现错误,则这一类中的其他数据也不会查出错误(除非等价类中的某些数据同时还属于另一等价类,因为几个等价类之间是可能相交的)。
1、有效等价类和无效等价类
等价类划分有2种不同的情况:有效等价类和无效等价类。
有效等价类指的是对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类和有效等价类的定义恰好相反,是那些对于程序的规格说明来说是不合理的或无意义的输入数据所构成的集合。
2、划分等价类的方式
常见的划分等价类的方式包括按区间划分、按数值划分、按数值集合划分、按限制条件或规划划分、按处理方式划分等。
1、在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类(例如:程序输入条件为1-10)
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。(例如:输入条件规定x取值必须是偶数)
3、在输入条件是一个布尔值的情况下,可确定一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n 个有效等价类和一个无效等价类。(例如:销售奖金对第1,2,3名分别奖励)
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。(例如:输入规定必须为整数)
6、在确知己划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步划分为更小的等价类。
3、举例说明
需求如下:
按照等价类划分法设计测试用例如下:
三、边界值法
边界值测试是源于人们长期以来的测试工作经验所提出的一个关键假设: 错误更容易发生在输入域的边界或者说极值附近,而非输入域的中间部分。
边界值的选择可以分为二值边界测试和三值边界测试。
1、二值基本边界值分析
如果有一个n变量的软件输入域,使其中一个变量取略小于最小值、最小值、正常值、最大值、略大于最大值这样五种选择,其余的所有变量取正常值。如此对每个变量都重复进行之后,该n 变量软件输入域的边界值分析会产生4n+ 1个测试用例。
2、三值基本边界值分析
如果有一个n变量的软件输入域,使每个变量取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值这样七种选择,其余的所有变量取正常值。如此对每个变量都重复进行之后,该n 变量软件输入域的边界值分析会产生6n+ 1个测试用例。
3、举例说明
对于等价类划分法设计的用例进行补充得到用例如下:
四、分类树法
分类树是另一种对程序的输入域划分子集的方法。
它将输入域分割成若干个独立的分类,每个分类再根据一定的准则再次划分类和子类,直到将整个输入域分制成一些不可再分的子类的组合为止。每一次划分都会生成若干个独立而不重叠的类或子类,同时还应保证分类集的完整性,即所有输入域都被识别且被包括在了某个分类中。
五、场景测试法
场景测试应该包括以下场景:
“基本”场景,是被测软件的预期典型动作序列,或无典型动作序列时所采取的一个任意选择。
“可选”场景,表示被测软件可选择的(非基本)场景。备选的场景包括非正常的使用、极端或者压力条件和异常等。