测试用例设计:将软件测试的行为活动,作为一个科学化的组织归纳。
测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。
因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须从数量极大的可用测试数据精心挑选出具有代表性或者特殊性的测试数据来进行测试。
在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。在软件版本更新后只修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期。功能测试模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。
黑盒测试用例设计方法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。
一、等价类划分法1、定义:
等价类划分法是把所有可能输入的数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的、常用的黑盒测试用例设计方法。
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
2、等价类划分有两种不同的情况:有效等价类和无效等价类。
有效等价类,是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。
无效等价类,是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。
3、等价类的划分原则:
如果输入是一个取值范围或者值的个数,则划分成一个有效等价类和两个无效等价类;
如果输入是一个有限的集合或者必须如何的条件,则划分成一个有效等价类和一个无效等价类;
如果输入是一个布尔量,则划分成一个有效等价类和一个无效等价类;
如果输入已经划分等价类,针对具体的值处理方式会有所不同更加细化,则划分成多个有效等价类和一个无效等价类;
如果输入要同时满足多个条件,则划分成一个有效等价类和多个无效等价类;
4、等价类划分的使用步骤:
将需求规格划分成需求子片段;
分析需求子片段,找出输入条件;
分析输入条件,结合等价类划分原则进行等价类划分;
对划分的等价类进行编号;
从划分的等价类中选取数据结合测试用例写作规范生成最终的测试用例;
一条测试用例尽量覆盖多个有效等价类;一条测试用例只覆盖一个无效等价类。
5、等价类划分法例题:
(一)一个有效&两个无效
取值范围:驾照年龄18-65周岁
一个有效(18-65之间)
两个无效(17,66)
(二)一个有效&一个无效
取值范围:第三期学员
一个有效(第三期学员)
一个无效(非第三期学员)
(三)一个有效&一个无效
取值范围:男性
一个有效(男性)
一个无效(女性)
(四)多个有效&一个无效
英语考试,60以上合格(含60分)
一个有效:60分以上
60-79:合格
80-89:良好
90-100:优秀
一个无效:60分以下
(五)一个有效&多个无效
个人信息注册:身高,体重,年龄
一个有效:三个资料都填写
三个无效: 身高填写X
体重填写Y