版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黑盒测试黑盒测试黑盒测试:已知产品的功能设计规格和用户手册,可以黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是进行测试证明每个功能是否实现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求。否符合要求,以及产品的性能是否满足用户的要求。客户需求事件驱动输入输出n黑盒测试主要是为了发现以下几类错误:黑盒测试主要是为了发现以下几类错误:n 1. 是否有不正确或遗漏的功能? 2. 在接口上,输入是否能正确的接受?能否输出正确的结果? 3. 是否有数据结构错误或外部信息(例如数据文件)访问错误? 4. 性能上是否能够满足要求? 5. 是否
2、有初始化或终止性错误? 黑盒测试黑盒测试黑盒测试黑盒测试黑盒测试的优点有:黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;哪些功能;5)在做软件自动化测试时较为方便。)在做软件自动化测试时较为方便。黑盒测试的缺点有:黑盒测试的缺点有:不可能
3、覆盖所有的代码,覆盖率较低,大概只能达到总代不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的码量的30%;黑盒测试技术黑盒测试技术使用白盒法设计测试用例时,只需要选择一个覆盖标准,而使用黑盒使用白盒法设计测试用例时,只需要选择一个覆盖标准,而使用黑盒法进行测试,则应该同时使用多种黑盒测试方法,才能得到较好的测试效法进行测试,则应该同时使用多种黑盒测试方法,才能得到较好的测试效果。果。测试方法有:测试方法有:决决策策表表边边界界值值分分析析法法等等价价类类分分析析法法错错误误推推测测法法正正交交法法均均匀匀表表法法等价类测试等价类测试等价类是指某个输入域的等价类是指某个输入域的子集合子集
4、合。在该子集合中。在该子集合中,各个输入数据对于揭露程序各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它某等价类的代表值就等于对这一类其它值的测试值的测试,因此,因此,可以把全部输入数据合理划分为若干等价类可以把全部输入数据合理划分为若干等价类,在每一个等价类中取在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性一个数据作为测试的输入条件就可以用少量代表性 的测试数据取得较好的测试结果。的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:等价类划分可有两种不同的情况:有效等价类有效等价类和
5、和无效等价类无效等价类。 等价分类法是一种典型的黑盒测试方法,也是一种非常实用的重要的等价分类法是一种典型的黑盒测试方法,也是一种非常实用的重要的测试方法。测试方法。等价类分为:等价类分为:有效等价类有效等价类对于程序的规格说明,是合理的、有意义的输入数据构成的集合。对于程序的规格说明,是合理的、有意义的输入数据构成的集合。无效等价类无效等价类对于程序的规格说明,是不合理的、没有意义的输入数据构成的对于程序的规格说明,是不合理的、没有意义的输入数据构成的集合。集合。等价类测试等价类测试n在分析在分析需求规格说明需求规格说明的基础上划分等价类,列出等价类的基础上划分等价类,列出等价类表。表。 n
6、将程序可能的输入数据分成将程序可能的输入数据分成若干个子集若干个子集,从每个子集选,从每个子集选取取一个一个代表性的数据作为测试用例,等价类是某个输入代表性的数据作为测试用例,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的。域的子集,在该子集中每个输入数据的作用是等效的。所有输入i1i4i2i3等价类划分方法等价类划分方法在输入条件规定了取值范围或值的个数的情况下在输入条件规定了取值范围或值的个数的情况下,则可以确立则可以确立一个有一个有效等价类和两个无效等价类效等价类和两个无效等价类。如:输入值是学生成绩,范围是如:输入值是学生成绩,范围是0100;等价类划分方法等价类划分方
7、法2)在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规定了必须如何必须如何的条件的条件的情况下的情况下,可确立可确立一个有效等价类和一个无效等价类一个有效等价类和一个无效等价类;合法集合合法集合3)在输入条件是一个布尔量的情况下在输入条件是一个布尔量的情况下,可确定可确定一个有效等价类和一个无一个有效等价类和一个无效等价类效等价类。BooleanBoolean取反取反等价类划分方法等价类划分方法4)在规定了输入数据的一组值(假定在规定了输入数据的一组值(假定n个)个),并且程序要对每并且程序要对每一个输入值分别处理的情况下一个输入值分别处理的情况下,可确立可确立n个有效
8、等价类和一个有效等价类和一个无效等价类个无效等价类。 例:输入条件说明学历可为例:输入条件说明学历可为:专科、本科、硕士、博士专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。另外把四种学历之外的任何学历作为无效等价类。等价类划分方法等价类划分方法5) 在规定了输入数据必须遵守的规则的情况下在规定了输入数据必须遵守的规则的情况下,可确立可确立一个有效等一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则价类(符合规则)和若干个无效等价类(从不同角度违反规则); 例
9、如:输入一个字符串,长度不得大于例如:输入一个字符串,长度不得大于4,首字母必须大写,首字母必须大写有效等价类有效等价类字符串第一字符为大写字母,字符串第一字符为大写字母,1=长度长度3无效等价类无效等价类字符串第一字符为小写字母,字符串第一字符为小写字母, 1=长度长度=3无效等价类无效等价类字符串第一字符为数字,字符串第一字符为数字, 1=长度长度 d 或或 x1 g 或或 x2 e等价类划分举例等价类划分举例确立等价类,建立等价类表,列出所有划分出的等价类。输入条件有效等价类无效等价类x11) a=x1b2) b=x1c3) c=x1=d6) x1dx24) e=x2f5) f=x2=g
10、8) x2g弱一般等价类弱一般等价类准则:变量的有效子集合至少出现一次准则:变量的有效子集合至少出现一次 覆盖1,4覆盖2,5覆盖3,4有效等价类无效类x1 1) a=x1b2) b=x1c3) c=x1=d6) x1dx2 4) e=x2f5) f-x2g8) x2g弱一般等价类弱一般等价类准则:变量的有效子集合至少出现一次准则:变量的有效子集合至少出现一次 强一般等价类强一般等价类准则:所有变量的有效子集合的笛卡尔乘积准则:所有变量的有效子集合的笛卡尔乘积弱健壮等价类弱健壮等价类(传统等价类传统等价类)准则:准则:对于有效输入,变量的有效子集合至少出现一次对于有效输入,变量的有效子集合至少
11、出现一次 对于无效输入,一个变量值无效,其它值都有效对于无效输入,一个变量值无效,其它值都有效强健壮等价类强健壮等价类准则:所有变量有效子集合和无效子集合的笛卡尔乘积准则:所有变量有效子集合和无效子集合的笛卡尔乘积等价类举例等价类举例n设有一个档案管理系统,要求用户输入以年月设有一个档案管理系统,要求用户输入以年月表示的日期。表示的日期。n假设日期限定在假设日期限定在19901990年年1 1月月20492049年年1212月,并规月,并规定日期由定日期由6 6位数字字符组成,前位数字字符组成,前4 4位表示年,后位表示年,后2 2位表示月。位表示月。n现用等价类划分法设计测试用例,来测试程序
12、现用等价类划分法设计测试用例,来测试程序的的“日期检查功能日期检查功能”。等价类举例等价类举例1)划分等价类并编号)划分等价类并编号下表等价类划分的结果下表等价类划分的结果输入等价类输入等价类有效等价类有效等价类无效等价类无效等价类日期的类型及长日期的类型及长度度6 6位数字字符位数字字符有非数字字符有非数字字符少于少于6 6位数字字符位数字字符多于多于6 6位数字字符位数字字符年份范围年份范围在在1990204919902049之之间间小于小于19901990大于大于20492049月份范围月份范围在在01120112之间之间等于等于0000大于大于1212等价类举例等价类举例日期的类型及长
13、度:有效类日期的类型及长度:有效类1,1,无效类无效类2,3,42,3,4年份范围:有效类年份范围:有效类5,5,无效类无效类6,76,7月份范围:有效类月份范围:有效类8,8,无效类无效类9,109,10弱一般准则:弱一般准则:变量的有效子集合至少出现一次变量的有效子集合至少出现一次设计的测试用例如下:设计的测试用例如下:测试数据测试数据 期望结果期望结果 覆盖的有效等价类覆盖的有效等价类200211 200211 输入有效输入有效 、由于每个等价类的有效区域只有一个,所由于每个等价类的有效区域只有一个,所以强一般准则强一般准则与弱一般准则相同与弱一般准则相同等价类举例等价类举例3 3)弱健
14、壮准则:弱健壮准则:测试数据测试数据 期望结果期望结果 覆盖等价类覆盖等价类200211 200211 输入有效输入有效 、95June 95June 无效输入无效输入 20036 20036 无效输入无效输入 2001006 2001006 无效输入无效输入 198912 198912 无效输入无效输入 200401 200401 无效输入无效输入 200100 200100 无效输入无效输入 200113 200113 无效输入无效输入 n4 4)强健壮准则)强健壮准则11,2 2,3 3,44* *55,6 6,77* *88,9 9,1010等价类举例等价类举例-电话号码电话号码n某城
15、市的电话号码由三部分组成,这三部分的某城市的电话号码由三部分组成,这三部分的名称和内容分别是:名称和内容分别是:地区码:空白或地区码:空白或3位数字;位数字;前缀:非前缀:非“0”和非和非“1”开头的开头的3位数字;位数字;后缀:后缀:4位数字位数字假定被测程序接受一切符合上述规定的电话号码,假定被测程序接受一切符合上述规定的电话号码,拒绝所有不符合的号码,就可用等价分类法来拒绝所有不符合的号码,就可用等价分类法来设计它的测试用例。设计它的测试用例。等价类举例等价类举例-电话号码电话号码第一步第一步 划分等价类。包括划分等价类。包括4个有效等价类,个有效等价类,11个无效等价类个无效等价类输入
16、条件输入条件有效等价类有效等价类无效等价类无效等价类地区码地区码空白空白 , 3位数字位数字有非数字字符有非数字字符 ,少于三位数字少于三位数字 , 多于三位数字多于三位数字 前前 缀缀200-999之间的之间的三位数字三位数字 有非数字字符有非数字字符 ,起始位为起始位为0 ,起始位为起始位为1 ,少于三位数字少于三位数字 11,多于三位数字多于三位数字 12后后 缀缀4位数字位数字 有非数字字符有非数字字符 13,少于少于4位数字位数字 14,多于多于4位数字位数字 15等价类举例等价类举例-电话号码电话号码地区码地区码:有效类有效类1,2,无效类,无效类5,6,7前前 缀缀: 有效类有效
17、类3,无效类,无效类8,9,10,11,12后后 缀:有效类缀:有效类4,无效类,无效类13,14,151)1)弱一般准则:弱一般准则:变量的有效子集合至少出现一次变量的有效子集合至少出现一次设计的测试用例如下:设计的测试用例如下:测试数据测试数据 期望结果期望结果 覆盖的有效等价类覆盖的有效等价类()276-2345 输入有效输入有效 、 、(635)805-9321 输入有效输入有效 、 、等价类举例等价类举例-电话号码电话号码2)2)强一般准则:强一般准则:所有变量的有效子集合的笛卡尔乘积所有变量的有效子集合的笛卡尔乘积设计的测试用例如下:设计的测试用例如下:测试数据测试数据 期望结果期
18、望结果 覆盖的有效等价类覆盖的有效等价类n()276-2345 输入有效输入有效 、 、n(635)805-9321 输入有效输入有效 、 、3 3)弱健壮准则:弱健壮准则:n对于有效输入,变量的有效子集合至少出现一次对于有效输入,变量的有效子集合至少出现一次 n对于无效输入,一个变量值无效,其它值都有效对于无效输入,一个变量值无效,其它值都有效n地区码:有效类地区码:有效类 、无效类无效类 , , n前前 缀:有效类缀:有效类,无效类,无效类 , , ,11,12 n后缀:有效类,无效类后缀:有效类,无效类13,14,1513,14,15有效用例有效用例(1,3,4)(2,3,4)(1,3,
19、4)(2,3,4)无效用例无效用例(5,3,4),(6,3,4),(7,3,4),(5,3,4),(6,3,4),(7,3,4), (1,8,4),(1,9,4), (1,10,4), (1,11,4), (1,12,4) (1,8,4),(1,9,4), (1,10,4), (1,11,4), (1,12,4) (1,3,13), (1,3,14), (2,3,15) (1,3,13), (1,3,14), (2,3,15)等价类举例等价类举例-电话号码电话号码3 3)强健壮准则:强健壮准则:n所有变量有效子集合和无效子集合的笛卡尔乘积所有变量有效子集合和无效子集合的笛卡尔乘积n地区码:有效
20、类地区码:有效类 、无效类无效类 , , n前前 缀:有效类缀:有效类,无效类,无效类 , , ,11,12 n后缀:有效类,无效类后缀:有效类,无效类13,14,1513,14,15n举例举例n有效有效(1,3,4), (2,3,4)无效无效(5,3,4), (6,3,4), (7,3,4)n无效无效(1,8,4), (1,9,4), (1,10,4) ,(1,11,4), (1,12,4)n等价类举例等价类举例-保费保费n例:保险公司计算保费费率的程序例:保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:某保险公司的人寿保险的保费计算方式为: 投保额投保额保险费率保险费率
21、其中,保险费率依点数不同而有别,其中,保险费率依点数不同而有别,10点及点及10点以上保险费率为点以上保险费率为0.6%,10点以下保险费率为点以下保险费率为0.1%;而点数又是由;而点数又是由 投保人的年龄、投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下性别、婚姻状况和抚养人数来决定,具体规则如下:年龄 性别婚姻抚养人数 2039 4059 其它 M F 已婚 未婚 1人扣0.5点 最多扣3点(四舍五入取整) 6点 4点 2点 5点 3点 3点 5点对其保险费率的计算进行测试对其保险费率的计算进行测试等价类举例等价类举例-保费保费(1)分析程序规格说明中给出和隐含的对输入条件的要
22、求,列)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。出等价类表(包括有效等价类和无效等价类)。n年龄:一位或两位非零整数,值的有效范围为年龄:一位或两位非零整数,值的有效范围为199n性别:一位英文字符,只能取值性别:一位英文字符,只能取值M或或Fn婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚n抚养人数:空白或一位非零整数(抚养人数:空白或一位非零整数(19)n点数点数 :非零正整数:非零正整数(2)根据()根据(1)中的等价类表,设计能覆盖所有等价类的)中的等价类表,设计能覆盖所有等价类的 测试测试用例用例输入条件输入条件有效等
23、价类有效等价类编号编号无效等价类无效等价类编号编号年龄年龄2039岁岁14059岁岁2119岁岁6099岁岁3小于小于111大于大于9912性别性别M4除除M和和F之外的之外的其它单个字符其它单个字符13F5包含包含M和和F的多个的多个字符字符14婚姻婚姻已婚已婚6除除已婚已婚和和未婚未婚之外的其它字符之外的其它字符15未婚未婚7抚养人数抚养人数0人人8负数负数1616人人9大于大于6人人10等价类举例等价类举例-保费保费n课堂练习课堂练习n根据弱一般,强一般,弱健壮,强健壮准则设根据弱一般,强一般,弱健壮,强健壮准则设计测试用例计测试用例等价类举例等价类举例三角形三角形三角形分分类程序输入:
24、三个正整数A,B,C输出:判断A,B,C属于何种三角形假设三个等价类之间独立R1:等边三角形 有效类有效类三边相等三边相等,无效类,无效类(三边相等,都为负三边相等,都为负)R2:等腰三角形 有效类二边相等 无效类(二边相等,存在边为负),(二边相等,不构成三角形)R3: 不等边三角形 有效类三边不相等 无效类(三边不相等,不构成三角形), (三边不相等,存在边为负)等价类举例等价类举例三角形三角形弱一般等价类测试用例:测试用例abc有效等价类W1555等边三角形W2223等腰三角形W3345不等边三角形由于a,b,c不能划分有效区间,所以强一般等价类和弱一般等价类相同等价类举例等价类举例三角
25、形三角形弱健壮弱健壮等价类测试用例:测试用例abc针对等价类WR1-1-1-1R1WR25-15R2WR351005R2WR4100510R3WR55-110R3注意:这里未给出有效测试用例强健壮强健壮等价类测试用例 三个边的等价类集合的笛卡尔积等价类举例等价类举例三角形三角形等价类举例等价类举例三角形三角形输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否三角形的三条边是否三角形的三条边(A0A0),), (1 1)(B0B0),), (2 2)(C0C0),), (3 3)(A+BCA+BC),), (4 4)(B+CAB+CA),), (5 5)(A+CBA+CB),), (6
26、 6)(A0A0),), (7 7)(B0B0),), (8 8)(C0C0),), (9 9)(A+BCA+BC),), (1010)(B+CAB+CA),), (1111)(A+CBA+CB),), (1212)是否等腰三角形是否等腰三角形(A=BA=B),), (1313)(B=CB=C),), (1414)(C=AC=A),), (1515)(ABAB)andand(BCBC)andand(CACA) (1616)是否等边三角形是否等边三角形(A=BA=B)andand(B=CB=C)andand(C=AC=A) (1717)(ABAB),), (1818)(BCBC),), (191
27、9)(CACA),), (2020)作业作业例:例:NextDate 函数包含三个变量:函数包含三个变量:month 、 day 和和 year ,函数的输出为输入日期后一天的日期。,函数的输出为输入日期后一天的日期。 例如,例如,输入为输入为 2006年年3月月 7日,则函数的输出为日,则函数的输出为 2006年年3月月8日日 。要求输入变量要求输入变量 month 、 day 和和 year 均为整数值,均为整数值,并且满足下列条件:并且满足下列条件:(1)1month12(2)1day31(3)1920year2050 边界值测试边界值测试边界值测试边界值测试边界边界 相当于输入等价类和
28、输出等价类而言,稍高于其相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况边界值及稍低于其边界值的一些特定情况n为什么使用边界值分析法?为什么使用边界值分析法?无数的测试实践表明,大量的故障往往发生在输入无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的定义域或输出值域的边界边界上,而不是在其内部。上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果取得很好的测试效果。边界值测试举例边界值测试举例n对对16-bit 16-bit 的整数而言的整数而言 32767 32767 和和 -3
29、2768 -32768 是边界是边界n屏幕上光标在最左上、最右下位置屏幕上光标在最左上、最右下位置n报表的第一行和最后一行报表的第一行和最后一行n数组元素的第一个和最后一个数组元素的第一个和最后一个n循环的第循环的第 0 0 次、第次、第 1 1 次和倒数第次和倒数第 2 2 次、最后一次、最后一次次边界值测试边界值测试n与等价划分的区别与等价划分的区别n一般来说,边界值分析使用与等价类划分法相同的划分,一般来说,边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用
30、例。此在等价类的边界上以及两侧的情况设计测试用例。n边界值分析不是从某等价类中随便挑一个作为代表,而是边界值分析不是从某等价类中随便挑一个作为代表,而是使这个使这个等价类的每个边界都要作为测试条件等价类的每个边界都要作为测试条件。n边界值分析不仅考虑输入条件,还要考虑输出空间产生的边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。测试情况。边界值测试边界值测试n边界值分析的基本思想边界值分析的基本思想n使用在最小值、略高于最小值、正常值、略低使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。于最大值和最大值处取输入变量值。n边界值分析的假设边界值分析的假设n“单
31、缺陷单缺陷”假设。即,失效极少是由两个(或假设。即,失效极少是由两个(或多个)缺陷的同时发生引起的。多个)缺陷的同时发生引起的。边界值测试边界值测试所有输入i1i4i2i3可能的数据类型可能的数据类型 数据类型可能是数据类型可能是: :数值数值字符字符位置位置数量数量速度速度地址地址尺寸尺寸还要考虑数据类型的特征还要考虑数据类型的特征: :第一个第一个/ /最后一个最后一个最小值最小值/ /最大值最大值开始开始/ /完成完成空空/ /满满最慢最慢/ /最快最快相邻相邻/ /最远最远超过超过/ /在内在内边界值测试边界值测试-选择测试用例的原则选择测试用例的原则1)如果输入条件规定了)如果输入条
32、件规定了值的范围值的范围,则应取刚达到则应取刚达到这个范围的边界的值这个范围的边界的值,以及刚刚超越这个范围边以及刚刚超越这个范围边界的值作为测试输入数据。界的值作为测试输入数据。例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。边界值测试边界值测试-选择测试用例的原则选择测试用例的原则2)如果输入条件规定了值的个数)如果输入条件规定了值的个数,则用最大个数则用最大个数,最小个数最小个数,比最小个数少一比最小个数少一,比最大个数多一的数比最大个数多一的数作为测试数据
33、。作为测试数据。比如,一个输入文件应包括1255个记录,测试用例可取1和255,还应取0及256等。边界值测试边界值测试-选择测试用例的原则选择测试用例的原则3)将规则)将规则1)和)和2)应用于输出条件,即设计测)应用于输出条件,即设计测试用例使试用例使输出值达到边界值输出值达到边界值及其左右的值。及其左右的值。 例如,某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元”,其测试用例可取0.00及1165.25、还可取一0.01及116526等。再如,一程序属于情报检索系统,要求每次”最少显示1条、最多显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等。
34、 边界值测试边界值测试-选择测试用例的原则选择测试用例的原则4)如果程序的规格说明给出的输入域或输出域是有序集)如果程序的规格说明给出的输入域或输出域是有序集合合(如有序表、顺序文件等)(如有序表、顺序文件等),则应选取集合的则应选取集合的第一个元第一个元素和最后一个元素素和最后一个元素作为测试用例。作为测试用例。5)如果程序中使用了一个内部数据结构)如果程序中使用了一个内部数据结构,则应当选择这个则应当选择这个内部数据结构的边界上的值内部数据结构的边界上的值作为测试用例。作为测试用例。 比如一个枚举类型比如一个枚举类型6)分析规格说明)分析规格说明,找出其它可能的边界条件找出其它可能的边界条
35、件。边界值测试边界值测试2、边界值一般每个变量取五个点,分别是:min,min+,nom,max-,max3、对于n变量函数,测试用例的数量为4n+1输入变量x1,x2ax1 bc x2 d边界值测试边界值测试健壮性测试健壮性测试健壮性测试健壮性测试是边界值测试边界值测试的一种简单扩展,除了五个取值外,再加一个max+的值和一个min-的值,共6n+1个。边界值测试边界值测试最坏情况测试最坏情况测试最坏情况测试最坏情况测试:每个变量的五个取值为一个集合min,min+,nom,max-,max对这些集合进行笛卡尔运算。对于n变量的最坏情况测试,产生5n个测试用例边界值测试边界值测试健壮最坏情况
36、测试健壮最坏情况测试每个变量的七个取值为一个集合min-,min,min+,nom,max-,max,max+,对这些集合进行笛卡尔运算。边界值测试边界值测试-举例举例n例:有二元函数f(x,y),其中x1,12,y1,31。 n边界值测试产生用例,共4n+1个: , , , , , , , , n健壮性边界值测试产生用例,共6n+1个: 多增加 , , 边界值测试边界值测试-举例举例n最坏情况边界值测试产生用例:nX取值(1,2,6,11,12)nY取值(1,2,15,30,31)nX与Y的笛卡尔乘积,共25个边界值测试边界值测试-举例举例n健壮最坏情况边界值测试产生用例:nX取值(0,1,
37、2,6,11,12,13)nY取值(0,1,2,15,30,31,32)nX与Y的笛卡尔乘积,共49个测试用例边界值测试边界值测试-举例举例n练习:有函数练习:有函数f(x,y,x),其中,其中x1900,2100,y1,12,z1,31的。的。n请写出该函数采用边界值分析法设计的测试用例。请写出该函数采用边界值分析法设计的测试用例。共13个 , , , , , , , , , , , , 边界值测试边界值测试-举例举例现有一个学生标准化现有一个学生标准化考试批阅试卷考试批阅试卷,产生成产生成绩报告的程序。其规绩报告的程序。其规格说明如下格说明如下: 程序的输入文件由程序的输入文件由一些有一些
38、有80个字符的记个字符的记录组成录组成,如图所示,所如图所示,所有记录分为有记录分为3组:组:边界值测试边界值测试-举例举例 标题:标题: 这 一 组 只 有 一这 一 组 只 有 一个记录,其内容个记录,其内容为输出成绩报告为输出成绩报告的名字。的名字。边界值测试边界值测试-举例举例试卷各题标准答案记试卷各题标准答案记录:录: 每个记录均在第每个记录均在第80个个字符处标以数字字符处标以数字“2”。该组的第一个记录的该组的第一个记录的第第1至第至第3个字符为题个字符为题目编号(取值为目编号(取值为1一一999)。第)。第10至第至第59个字符给出第个字符给出第1至第至第50题的答案(每个合题
39、的答案(每个合法 字 符 表 示 一 个 答法 字 符 表 示 一 个 答案)。该组的第案)。该组的第2,第,第3个记录相应为第个记录相应为第51至第至第100,第,第101至至第第150,题的答案。题的答案。边界值测试边界值测试-举例举例边界值测试边界值测试-举例举例每个学生的答卷描每个学生的答卷描述:述: 该组中每个记录该组中每个记录的第的第80个字符均为个字符均为数字数字“3”。每个学。每个学生的答卷在若干个记生的答卷在若干个记录中给出。如甲的首录中给出。如甲的首记录第记录第1至第至第9字符字符给出学生学号,第给出学生学号,第10至第至第59字符列出字符列出的是甲所做的第的是甲所做的第1
40、至至第第50题的答案。若题的答案。若试题数超过试题数超过50,则,则第第2,第,第3纪录纪录分别给出他的第分别给出他的第51至第至第100,第,第101至至第第150题的解答。题的解答。然后是学生卷记录。然后是学生卷记录。乙的答乙的答学生人数不超过学生人数不超过200,试题数不超过,试题数不超过999。 边界值测试边界值测试-举例举例程序的输出有程序的输出有4个报告:个报告:a)按学号排列的成绩单,列出每个学生的成绩、名次。按学号排列的成绩单,列出每个学生的成绩、名次。b)按学生成绩排序的成绩单。按学生成绩排序的成绩单。c)平均分数及标准偏差的报告。平均分数及标准偏差的报告。d)试题分析报告。
41、按试题号排序,列出各题学生答对的百试题分析报告。按试题号排序,列出各题学生答对的百分比。分比。 解答:分别考虑输入条件和输出条件,以及边界条件。给解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。出下表所示的输入条件及相应的测试用例。边界值测试边界值测试-举例举例边界值测试边界值测试-举例举例边界值测试边界值测试-举例举例边界值测试边界值测试三角形举例三角形举例假设边的最小值是1,最大值是200,中间值为100编号ABC预期输出11001001等腰21001002等腰3100100100等边4100100199等腰5100100200非三角形边界值测试边界
42、值测试三角形举例三角形举例编号ABC预期输出61001100 等腰71002100 等腰8100100100 等边9100199100 等腰10100200100 非三角形编号ABC预期输出111100100 等腰122100100 等等等非三角形边界值测试边界值测试三角形举例三角形举例最坏情况测试用例 每个边取5个值,共有53个用例 太多,这里不列举,回去自己做。边界值测试边界值测试-nextdate函数函数nNextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取
43、值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050 。 边界值测试边界值测试-nextdate函数函数测试用例测试用例mouthdayyear预期输出预期输出Test1Test2Test3Test4Test5Test6Test766666661515151515151519111912191319752049205020511911.6.161912.6.161913.6.161975.6.162049.6.162050.6.162051.6.16Test8Test9Test10Test11Test12Test13666666012303132200
44、120012001200120012001day超超1312001.6.22001.6.32001.7.1输入日期超界输入日期超界day超超131Test14Test15Test16Test17Test18Test19012111213151515151515200120012001200120012001Mouth超超1122001.1.162001.2.162001.11.162001.12.16Mouth超超112边界值测试边界值测试-nextdate函数函数NextDate函数问题的最坏情况测试有:函数问题的最坏情况测试有:5x5x5=125种测试用例。种测试用例。N个变量的最坏情况测
45、试会产生个变量的最坏情况测试会产生5n个测试用例个测试用例N个变量的健壮最坏情况测试会产生个变量的健壮最坏情况测试会产生7n个测试用例个测试用例作业作业n找零钱最佳组合找零钱最佳组合 假设商店货品价格假设商店货品价格(R) 都不大于都不大于100元(且为整元(且为整数),若顾客付款数),若顾客付款(P)在在100元内,现有一个程序能在元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。币张数最少)。 假定此商店的货币面值只包括:假定此商店的货币面值只包括:50元元(N50)、10元元(N10)、 5元元(N5)、1元元
46、(N1) 四种。四种。 请结合等价类划分法和边界值分析法为上述程序设请结合等价类划分法和边界值分析法为上述程序设计计 出相应的测试用例。出相应的测试用例。错误推测法错误推测法前提前提A、深度熟悉被测系统的业务、需求。、深度熟悉被测系统的业务、需求。B、对被测系统或类似系统之前的缺陷分布情况进行过系、对被测系统或类似系统之前的缺陷分布情况进行过系统的分析。包括功能缺陷,数据缺陷,接口缺陷和界统的分析。包括功能缺陷,数据缺陷,接口缺陷和界面缺陷等等。面缺陷等等。n该方法依赖于测试人员的素质,测试人员必须具备丰该方法依赖于测试人员的素质,测试人员必须具备丰富的编程经验、领域知识等富的编程经验、领域知
47、识等n举例:日期函数测试举例:日期函数测试如果是闰年,则。如果是闰年,则。 现在让你去做打印机破坏性测试,请设计测试用例。现在让你去做打印机破坏性测试,请设计测试用例。错误推测法错误推测法n例如,采用错误推测法还可补充设计一些测试用例:1、 程序是否把空格作为回答2、 在回答记录中混有标准答案记录3、 除了标题记录外,还有一些的记录最后一个字符即不是2也不是34、 有两个学生的学号相同5、试题数是负数。 错误推测法错误推测法n测试一个对线性表(比如数组)进行排序的程测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:序,可推测列出以下几项需要特别测试的情况:1)输
48、入的线性表为空表;)输入的线性表为空表;2)表中只含有一个元素;)表中只含有一个元素;3)输入表中所有元素已排好序;)输入表中所有元素已排好序;4)输入表已按逆序排好;)输入表已按逆序排好;5)输入表中部分或全部元素相同)输入表中部分或全部元素相同。决策表决策表(Decision Table) 前面介绍的前面介绍的等价分类法和边值分析法都没有考虑这样一个问题:输等价分类法和边值分析法都没有考虑这样一个问题:输入条件之间的联系(各种组合情况),对输出结果的影响。而决策法解入条件之间的联系(各种组合情况),对输出结果的影响。而决策法解决了这个问题。决了这个问题。决策表:表示和分析复杂的逻辑关系。决
49、策表:表示和分析复杂的逻辑关系。决策表的表示决策表的表示“”是指是指“不关心不关心”:条件无关或条件不适用。:条件无关或条件不适用。如果所有条件的值为:真或假,则称为有限条目决策表,否则为扩展条目决策表如果所有条件的值为:真或假,则称为有限条目决策表,否则为扩展条目决策表条条件件行行动动如果所有条件为真,则采取行动如果所有条件为真,则采取行动a1和和a2决策表举例决策表举例n下表是一张关于科技书阅读指南的判定驱动表:下表是一张关于科技书阅读指南的判定驱动表:3个问题个问题8种情况种情况 1 2 3 4 5 6 7 8 你觉得疲倦吗? Y Y Y Y N N N N 你对内容感兴趣吗? Y Y
50、N N Y Y N N 问 题 书中内容使你胡涂吗? Y N Y N Y N Y N 请回到本章开头重读 x x 继续读下去 x x 跳到下一章去读 x x 建 议 停止阅读,请休息 x x ”读书指南”判定表 规则合并举例规则合并举例两规则动作项一样,两规则动作项一样,条条件项类似,在件项类似,在1 1、2 2条件条件项分别取项分别取Y Y、N N时,无论时,无论条件条件3 3取何值,都执行同取何值,都执行同一操作。即要执行的动一操作。即要执行的动作与条件作与条件3 3无关。于是可无关。于是可合并。合并。“- -”表示与取值表示与取值无关。无关。规则合并举例规则合并举例两规则动作项一样,两规
51、则动作项一样,条条件项类似,在件项类似,在1 1、2 2条件条件项分别取项分别取Y Y、N N时,无论时,无论条件条件3 3取何值,都执行取何值,都执行同一操作。即要执行的同一操作。即要执行的动作与条件动作与条件3 3无关。于无关。于是可合并。是可合并。“- -”表示与表示与取值无关。取值无关。规则合并举例规则合并举例无关条件项无关条件项“-”可可包含其他条件项取包含其他条件项取值,具有相同动作值,具有相同动作的规则可合并的规则可合并 1 2 3 4 5 6 7 8 你觉得疲倦吗? Y Y Y Y N N N N 你对内容感兴趣吗? Y Y N N Y Y N N 问 题 书中内容使你胡涂吗?
52、 Y N Y N Y N Y N 请回到本章开头重读 x x 继续读下去 x x 跳到下一章去读 x x 建 议 停止阅读,请休息 x x ”读书指南”判定表 1 2 3 4 你觉得疲倦吗? - - Y N 你对内容感兴趣吗? Y Y N N 问 题 书中内容使你胡涂吗? Y N - - 请回到本章开头重读 x 继续读下去 X 跳到下一章去读 x 建 议 停止阅读,请休息 x 化减后的”读书指南”判定表 决策表举例决策表举例n问题要求:”对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义
53、 。请建立判定表。决策表举例决策表举例n解答:确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。列出所有的条件和动作:决策表举例决策表举例 1 2 3 4 5 6 7 8 功 率 大 于50马 力 吗 ? Y Y Y Y N N N N 维 修 记 录 不 全 吗 ? Y Y N N Y Y N N 条 件 运 行 超 过10年 吗 ? Y N Y N Y N Y N 进 行 优 先 处 理 x x X X X 动 作 作 其 他 处 理 X x x 初 始 判 定 表 得到形如图的初始判定表 1 2 3 4 5 6 7 8 功率大于50马力吗? Y Y Y Y
54、N N N N 维修记录不全吗? Y Y N N Y Y N N 条 件 运行超过10年吗? Y N Y N Y N Y N 进行优先处理 x x X X X 动 作 作其他处理 X x x 初始判定表 1 2 3 4 5 功率大于 50 马力吗? Y Y Y N N 维修记录不全吗? Y N N - - 条 件 运行超过 10 年吗? - Y N Y N 进行优先处理 x x X 动 作 作其他处理 x x 化减后的判定表 决策表举例决策表举例o 用判定表驱动测试方法测试以下程序。用判定表驱动测试方法测试以下程序。 程序的规格说明要求:输入的第一个字符必须是程序的规格说明要求:输入的第一个字
55、符必须是#或或*,第二,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是个字符不是#或或*,则给出信息,则给出信息N,如果第二个字符不是数字,如果第二个字符不是数字,则给出信息则给出信息M。条件动作 c1:第一个字符是# e1:给出信息N c2:第一个字符是* e2:修改文件 c3:第二个字符是一个数字 e3:给出信息M决策表举例决策表举例12345678条件:条件:C1( # )C2( * )C3(数数)111110101100011010001000动作:动作:e1( N)e2(改改)e3(M)不可能不可能测试用例测
56、试用例#3#A*6*BA1GT 表中8种情况的左面两列情况中,原因C1和原因C2不可能同时为1,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 决策表举例决策表举例测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M测试用例:决策表举例决策表举例售货机售货机n例:有一个处理单价为例:有一个处理单价为5角钱的饮料的自动售角钱的饮料的自动售货机软件测试用例的设计。货机软件测试用例的设计。 其规格说明如下其规格说明如下:若投入:若投入5角钱或角钱或1元钱的硬币,押下元钱的硬币,押下橙汁橙汁或
57、或啤酒啤酒的按钮,则相应的饮料就送出来。的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示若售货机没有零钱找,则一个显示零钱找完零钱找完的红灯亮,这时在投入的红灯亮,这时在投入1元硬币并押下按钮元硬币并押下按钮后,饮料不送出来而且后,饮料不送出来而且1元硬币也退出来;若元硬币也退出来;若有零钱找,则显示有零钱找,则显示零钱找完零钱找完的红灯灭,在的红灯灭,在送出饮料的同时退还送出饮料的同时退还5角硬币。角硬币。决策表举例决策表举例售货机售货机分析这一段说明,列出条件和动作分析这一段说明,列出条件和动作条件:条件:1.售货机有零钱找售货机有零钱找2.投入投入1元硬币元硬币3.投入投入5
58、角硬币角硬币 4.押下橙汁按钮押下橙汁按钮5.押下啤酒按钮押下啤酒按钮 动作:动作: 21. 售货机售货机零钱找完零钱找完灯亮灯亮 22. 退还退还1元硬币元硬币23. 退还退还5角硬币角硬币 24. 送出橙汁饮料送出橙汁饮料25. 送出啤酒饮料送出啤酒饮料决策表举例决策表举例售货机售货机决策表举例决策表举例三角形三角形n例:以三角形问题给出构造决策表的5个步骤。 (1) 确定规则个数。例如,三角形问题的决策表有 4 个条件:c1:a、b、c构成三角形? c2:a=b? c3:a=c? c4:b=c?每个条件可以取两个值,故有 24 =16种规则。 (2) 列出所有的条件桩和动作桩。 (3)
59、填入输入项。 (4) 填入动作项,得到初始决策表。 (5) 化简。合并相似规则后得到三角形问题的决策表 决策表举例决策表举例三角形三角形规则规则选项选项规则规则1-8规则规则9规则规则10规则规则11规则规则12规则规则13规则规则14规则规则15规则规则16条件:条件:c1: a,b,c构成构成 三角形?三角形?c2: a=b?c3: a=c?c4: b=c? N- YYYY YYYN YYNY YYNN YNYY YNYN YNNY YNNN动作:动作:a1: 非三角形非三角形a2: 一般三角形一般三角形a3: 等腰三角形等腰三角形a4: 等边三角形等边三角形a5: 不可能不可能 决策表举
60、例决策表举例三角形三角形n如将上页如将上页c1: a,b,c构成三角形?构成三角形?扩展为三个不扩展为三个不等式表示等式表示C1: a b + cC2: b a + cC3: c a + b决策表变成如下:决策表变成如下:决策表举例决策表举例三角形三角形条件 规则 1 2 3 4 5 6 7 8 91011C1: a b + cFTTTTTTTTTTC2: b a + cFTTTTTTTTTC3: c a + bFTTTTTTTTC4: a = b ?TTTTFFFFC5: a = c ?TTFFTTFFC6: b = c ?TFTFTFTF规则条数统计3216811111111a1: 非三角
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川九洲电器集团有限责任公司招聘市场开发2人笔试考试参考题库及答案解析
- 2026年消防设施操作员之消防设备高级技能考试题库300道含答案【研优卷】
- 2026年科尔沁艺术职业学院单招职业技能测试模拟测试卷附答案
- 上港集团船长岗位技能考试题集含答案
- 2025云南怒江福贡县机关事务服务中心招聘行政中心安保人员1人考试笔试模拟试题及答案解析
- 2025年哈尔滨华德学院辅导员招聘考试真题汇编附答案
- 人工智能行业机器学习运维管理人员面试题
- 2026年重庆科技大学单招职业适应性考试题库附答案解析
- 2026年教师资格之小学教育学教育心理学考试题库500道(培优a卷)
- 2026湖南港航水利集团招聘面试题及答案
- 开放系统10862人文英语(4)期末机考真题及答案
- GB/T 4957-2003非磁性基体金属上非导电覆盖层覆盖层厚度测量涡流法
- GB/T 27806-2011环氧沥青防腐涂料
- GB/T 12618.1-2006开口型平圆头抽芯铆钉10、11级
- FZ/T 52051-2018低熔点聚酯(LMPET)/聚酯(PET)复合短纤维
- 设备吊装方案编制受力计算
- 食品工程原理概述经典课件
- 养老院机构组织架构图
- 财经法规与会计职业道德
- 会计学本-财务报表分析综合练习
- 《中国传统文化心理学》课件第五章 传统文化与心理治疗(修)
评论
0/150
提交评论