1、黑盒测试(2)w等价类w等价类测试类型w用等价类设计测试用例w案例本节内容本节内容问题引入问题引入n测试的矛盾测试的矛盾为保证软件产品的质量,需要进行完备(彻底)的测试;但这是不现实的,因为:n输入量太大;n输出结果太多;n软件实现途径太多;如果决定不去测试所有的情况,就选择了风险。问题引入问题引入从经济的角度来说,我们希望测试没有冗余;n一个好的测试用例在于能发现至今未发现的错误;n一个成功的测试是发现了至今未发现的错误的测试。软件质量和投入的成本如何平衡?如何平衡?n等价类方法可令测试事半功倍。等价类方法可令测试事半功倍。n举例:举例:设计测试用例,实现一个对所有实数进行开方运算(f=sq
2、rt(x))的程序的测试。4.2 等价类测试等价类测试4.2.1 等价类等价类n等价类的划分n划分等价类的方法n等价类测试类型n用等价类设计测试用例1.等价类划分等价类划分n划分划分划分是指互不相交的互不相交的一组子集,这些子集的并是整个集合。划分的定义n给定集合B,以及B的一组子集A1、A2、An,这些子集是B的一个划分,当且仅当:A1A2AnB,且 ij有AiAj划分在软件测试中的作用划分在软件测试中的作用w划分对于测试的作用:完备性无冗余性w边界值分析方法的固有弱点是漏洞和冗余性。等价类测试的主要任务之一就是:找出合适的划分。n等价类划分等价类划分将输入定义域进行一个划分,并且划分的各个
3、子集是由等价关系等价关系决定的。此处的等价关系是指:在子集合中,各个输入数据对于揭露程序中的错误都是等效的。n等价类的分类等价类的分类有效等价类有效等价类n对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;无效等价类无效等价类n对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;n等价类测试的思想:把全部的输入数据划分成若干个等价类划分成若干个等价类,在每在每一个等价类中取一个数据一个等价类中取一个数据来进行测试。在子集合中,各个输入数据对于揭露程序中的错误是等效等效的。n等价类测试的假设:测试某等价类的代表值,就等效于对这个等价类中其他值的测试。2.等价类测试等
4、价类测试n等价类的特点完备性无冗余性等价性注意注意w设计测试用例时,要同时考虑有效等价类和无效等价类。3.划分等价类的方法划分等价类的方法n(1)按区间划分如果输入条件规定了取值范围或值的个数就可确定一个有效等价类和两个无效等价类。例如:n输入学生成绩,范围是0到100;n实验课一个班选课人数20至40人;n(2)按照数值划分如果规定了输入数据的一组值一组值,且程序要对每一个输入值分别进行处理,要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类。例:输入条件说明学历可为:专科、本科、硕士、博士四种之一。n(3)按照数值集合划分输入条件规定了输入值的集合集合或是
5、规定了“必必须如何须如何”的条件,则可确定一个有效等价类和一个无效等价类n例如:“文件名称必须以字母开头,文件名称必须以字母开头,”w(4)如果输入条件是一个布尔量布尔量,则可以确立一个有效等价类和一个无效等价类。w例如:用验证码登录网站。用验证码登录网站。w(5)进一步细分等价类如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。w例如:输入三条边,判断三角形的形状。输入三条边,判断三角形的形状。(首先判断是否能构成三角形,如果可以构成三角形,再进一步判断三角形的形状。)4.2.2 等价类测试类型等价类测试类型n单缺陷与多缺陷假设产生弱等价类弱等价类与强等价
6、强等价类类测试之分;n是否进行无效数据的处理产生健壮健壮与一般一般等价类测试之分;n等价类测试的分类:弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类测试n讨论对象一个具有两个自变量x1和x2的函数FF实现为一个程序且输入变量x1和x2的边界以及边界内的区间na x1 d,区间为a,b),b,c),c,dne x2 g,区间为e,f),f,gn讨论对象(续)1.弱一般等价类测试弱一般等价类测试n弱一般等价类测试的假设:“单缺陷单缺陷”假设假设失效极少是由两个或多个缺陷的同时发生引起的n测试用例设计:选取的测试用例覆盖所有的有效等价类覆盖所有的有效等价类。弱一般等价类测试用例2
7、.强一般等价类测试强一般等价类测试n基于多缺陷假设;n测试用例设计:将每个变量的有效等价类做笛卡尔积笛卡尔积,设计测试用例覆盖笛卡尔积的每个元素覆盖笛卡尔积的每个元素。有n个变量的函数,强一般等价类测试会产生多少个测试用例?思考:思考:强一般等价类测试用例3.弱健壮等价类测试弱健壮等价类测试n弱:基于单缺陷假设弱:基于单缺陷假设n健壮:考虑无效值健壮:考虑无效值n测试用例设计:对有效输入,覆盖每个有效等价类的一个值对无效输入,测试用例将拥有一个无效值,并保持其余的值都是有效的弱健壮等价类测试用例4.强健壮等价类测试强健壮等价类测试n强健壮等价类测试:基于多缺陷假设,从所有等价类的笛卡尔积的每一
8、个元素中获得测试用例强:多缺陷假设强:多缺陷假设健壮:考虑无效值健壮:考虑无效值强健壮等价类测试用例5.用等价类设计测试用例用等价类设计测试用例n(1)划分等价类,形成等价类表n(2)设计一新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;n(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;4.2.3 案例案例n三角形问题三角形问题以不同的角度划分等价类:输出值域等价类 输入条件(数据范围)的等价类 以“整数相等”关系划分的等价类 以两边之和与第三边之间的关系1.1.输出值域等价类输出值域等价类n输出值
9、域等价类R1=:有三条边a、b和c的等边三角形等边三角形R2=:有三条边a、b和c的等腰三角形等腰三角形R3=:有三条边a、b和c的一般三角形一般三角形R4=:三条边a、b和c不能构成三角形不能构成三角形2.2.输入条件的等价类输入条件的等价类n有效等价类:有效等价类:正整数;三个数;n无效等价类:无效等价类:零或负数;少于三个数;3.“3.“整数相等整数相等”关系划分等价类关系划分等价类nD1=:a b c nD2=:ab,a c nD3=:ac,a b nD4=:bc,a b nD5=:a b,a c,b c 4.4.以两边之和与第三边之间的关系划分等价类以两边之和与第三边之间的关系划分等
10、价类nD6:a b+cnD7:b a+cnD8:c a+bn等价类D6的进一步划分D6:a b+cD6:a b+c输入输入条件条件有效等有效等价类价类编编号号无效等价类无效等价类编号编号三三个个正正整整数数正整数正整数1 1一边为非正一边为非正整数整数a a为非正整数为非正整数1010b b为非正整数为非正整数1111c c为非正整数为非正整数1212两边为非正两边为非正整数整数a a,b b为非正整数为非正整数1313a a,c c为非正整数为非正整数1414b b,c c为非正整数为非正整数1515三边均为非正整数三边均为非正整数1616三个数三个数2 2只输入一个只输入一个数数只给只给a
11、 a1717只给只给b b1818只给只给c c1919只输入两个只输入两个数数只给只给a a,b b2020只给只给a a,c c2121只给只给b b,c c2222未输入数未输入数2323三三角角形形的的等等价价类类输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号编号构成一般三构成一般三角形角形a+b c,且且abc3a+b b,且且abc4a+c a,且且abc5b+c a28b+c=a29构成等腰三构成等腰三角形角形a=b,a c,且两边之和大,且两边之和大于第三边于第三边6a=c,a b,且两边之和大,且两边之和大于第三边于第三边7b=c,a b,且两边之和大,
12、且两边之和大于第三边于第三边8构成等边三构成等边三角形角形a=b=c9 三三角角形形的的等等价价类类n电话号码问题电话号码问题 某城市电话号码由三部分组成,分别是:地区码 空白或4位数字;前 缀为三位数字,但不能为“0”,“1”;后 缀4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。请用强一般等价类方法进行测试,设计测试用例。思思 考考nNextDate问题问题NextDate 函数包含三个变量 month、day和year,函数的输出为输入日期后面一天的日期。(1800year2050)用弱健壮等价类测试方法设计测试用例。练 习课堂练习课堂练习请设计测试
13、用例,测试登录功能。请设计测试用例,测试登录功能。等价类测试指导方针和观察等价类测试指导方针和观察n1.等价类测试的弱形式不如对应的强形式的测试全面。n2.如果实现语言是强类型,则没有必要使用健壮形式的测试。n3.如果错误条件非常重要,则进行健壮形式的测试是合适的。n4.如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当然也适用于如果变量值越界系统就会出现故障的系统。n5.通过结合边界值测试,等价类测试可得到加强。n6.如果程序函数很复杂,则等价类测试是被指示的。在这种情况下,函数的复杂性可以帮助标识有用的等价类。n7.强等价类测试假设变量是独立的,相应的测试用例相乘会引起冗余问题。如果存在依赖关系,则常常会生成错误测试用例。n8.在发现合适的等价关系之前,可能需要进行多次尝试。小小 结结w等价类w等价类分类弱一般等价类测试强一般等价类测试弱健壮等价类测试强健壮等价类测试作业作业:教材教材74页页4题题 教材教材74页页5题题 教材教材74页页6题题 教材教材74页页7题题
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。