欢迎来到天天文库
浏览记录
ID:39819205
大小:2.43 MB
页数:42页
时间:2019-07-12
《黑盒测试之等价类测试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章黑盒测试第4章黑盒测试4.1边界值测试4.2等价类测试4.3基于判定表的测试4.4因果图4.5其他黑盒测试方法4.6综合案例4.7本章小结等价类测试测试的矛盾为保证软件产品的质量,我们需要进行完备(彻底)的测试;但这是不现实的,因为:输入量太大输出结果太多软件实现途径太多问题引入测试的矛盾从经济的角度来说,我们希望测试没有冗余;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。问题引入问题引入(1)你测试了1+1,1+2,1+3和1+4之后,还有必要测试1
2、+5和1+6吗?你能放心地认为它们正确吗?(2)1+15与1+99999999999999999999999999999999有什么区别呢?注意:在寻找等价类划分时,考虑把软件具有相似输入、相似输出、相似操作的分在一组,这些组就是等价划分。问题引入举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0和负实数。假设我们选定+1.4444代表正实数,-2.34
3、5代表负实数,则为该程序设计的测试用例的输入为+1.4444、0和-2.345。问题引入等价类方法可令测试事半功倍。举例:加法器加法器实例(1)加法器实例(2)——穷举测试加法器实例(3)——等价类划分法加法器实例(3)——等价类划分法加法器实例(3)——等价类划分法加法器实例(3)——等价类划分法加法器实例(3)——等价类划分法4.2等 价 类 测 试4.2.1等价类1.等价类的划分等价类的重要问题是它们构成集合的划分。划分是指互不相交的一组子集,这些子集的并是整个集合。划分可定义为:给定集合B,以
4、及B的一组子集A1、A2、…、An,这些子集是B的一个划分,当且仅当A1∪A2∪…∪An=B,且i≠j时,Ai∩Aj=Ø。划分在软件测试中的作用划分对于测试有非常重要的意义:(1)各个子集的并是整个集合,这提供了一种形式的完备性;(2)各个子集的交是空,这种互不相交保证了一种形式的无冗余性。因此采用划分可保证某种程度的完备性,并减少冗余。等价类的定义:等价类是输入域的某个子集合,而所有的等价类的并集是整个输入域。在子集合中,各个输入数据对于揭露程序中的错误是等效的。等价类测试等价类测试的假设:测试某等
5、价类的代表值,就等效于对这个等价类中其他值的测试。等价类测试的思想:把全部的输入数据划分成若干个等价类,在每一个等价类中取一个数据来进行测试。等价类测试有效等价类对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;无效等价类对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;等价类的分类在设计测试用例时,要同时考虑这两种等价类。因为用户在使用软件时,有意或无意输入一些非法的数据是常有的事情。软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可
6、靠性。2.划分等价类的方法等价类测试的思想就是把全部输入数据合理划分为若干等价类,在每一个等价类中取一个具有代表性的数据作为测试的输入条件,这样可以用少量的测试数据取得较好的测试效果。在等价类测试中,划分等价类是非常关键的。如果等价类划分合理,可以大大减少测试用例,并能保证达到要求的测试覆盖率。那么如何划分等价类呢?一般来讲,首先要分析程序所有可能的输入情况,然后按照下列规则对其进行划分。(1)按照区间划分。在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。例如:程
7、序的输入是学生成绩,其范围是0~100,则输入条件的等价类如图4-2-1所示。 其有效等价类为:0≤成绩≤100;无效等价类为:成绩<0,成绩>100。图4-2-1学生成绩的等价类(2)按照数值划分。例:在教师上岗方案中规定对教授、副教授、讲师和助教分别处理。那么可以确定4个有效等价类:教授、副教授、讲师和助教;1个无效等价类,它是所有不符合以上职称的人员构成的集合。例:输入条件要求:x==5,答案:有效等价类:1个x==5无效等价类:1个:x!=5例:程序输入x取值于一个固定的枚举类型{1,2
8、,4,12},且程序中对这4个数值分别进行了处理,请问等价类如何划分?有效等价类为x=1、x=3、x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。解:程序输入x取值于一个固定的枚举类型{1,2,4,12},并且程序中对这4个数值分别进行了处理,则有效等价类为x=1、x=2、x=4、x=12,无效等价类为1、2、4、12以外的值构成的集合。(3)按照数值集合划分。在输入条件规定了输入值的集合或者规定了“必须如何”的情况下,可确立一个有效等价类
此文档下载收益归作者所有