黑盒测试等价类划分._第1页
黑盒测试等价类划分._第2页
黑盒测试等价类划分._第3页
黑盒测试等价类划分._第4页
黑盒测试等价类划分._第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院软件测试第五讲第五讲 黑盒测试黑盒测试2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法总览总览n 1. 1.基于需求的测试基于需求的测试n 2.2.正面测试和负面测试正面测试和负面测试n 3.3.等价类划分等价类划分n 4.4.边界值分析边界值分析n 5.5.因果图分析法因果图分析法n 6.6.决策表决策表n 7.7.基于图基于图/ /状态的测试状态的测试n 8.8.正交数组测试正交数组测试n 2022年年7月月6日日Softw

2、are Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础等价类划分方法的产生背景:等价类划分方法的产生背景: l功能测试最主要的手段之一就是借助数据的输入输出功能测试最主要的手段之一就是借助数据的输入输出来判断功能能否正常运行来判断功能能否正常运行;l如果需要证明数据输入不会引起功能上的错误,或者如果需要证明数据输入不会引起功能上的错误,或者其输出结果在各种输入条件下都是正确的,就需要将其输出结果在各种输入条件下都是正确的,就需要将可输入数据域内的值完全尝试可输入数据域内的值完全尝试 通常无法实现通常无法

3、实现 选取少量具有代表性的输入数据,以期用较少的测选取少量具有代表性的输入数据,以期用较少的测试代价暴露出较多的软件缺陷试代价暴露出较多的软件缺陷2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础等价类划分方法的基本思想:等价类划分方法的基本思想:l试用一组有限的数据去代表近似无限的数据域试用一组有限的数据去代表近似无限的数据域l选择适当的数据子集来代表整个数据集,通过降低测选择适当的数据子集来代表整个数据集,通过降低测试的数目去实现试的数目去实现“合理的合理的”覆

4、盖(覆盖更多的可能数覆盖(覆盖更多的可能数据),以发现更多的软件缺陷,提高测试效率据),以发现更多的软件缺陷,提高测试效率2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院 等价类划分法是一种等价类划分法是一种重要的重要的、常用的常用的黑盒测试方法:黑盒测试方法:把所有可能的输入数据,即把所有可能的输入数据,即程序的输入域划分为若干部分(子程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测集),然后从每一个子集中选取少数具有代表性的数据作为测试用例试用例;将将不能穷举的测试过程进行合理分类不能穷举的测试过程进行合理

5、分类,保证设计出来的测试用,保证设计出来的测试用例具有完整性和代表性。例具有完整性和代表性。 优点:优点:采用少量测试用例就能实现不错的覆盖率,并最采用少量测试用例就能实现不错的覆盖率,并最大限度降低测试的冗余大限度降低测试的冗余黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院 所谓所谓等价类等价类是指是指某个输入域的子集合某个输入域的子集合 在该子集合中,各个输入数据在该子集合中,各个输入数据对于揭露程序中的错误对于揭露程序中的错误都是等效的都是等效的,它们具有

6、,它们具有等价性等价性,即每一类的代表性数据在,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。测试中的作用都等价于这一类中的其它数据。 因此,对于表征该类的数据输入将能代表整个子集合的因此,对于表征该类的数据输入将能代表整个子集合的输入。输入。 进而,可以合理的假定进而,可以合理的假定: 测试某等价类的代表值等效于这一类其它值的测试测试某等价类的代表值等效于这一类其它值的测试黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院 等价类是输入域的某个子集

7、合,而所有等价类的等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。并集就是整个输入域。 等价类对于测试有两个重要的特征等价类对于测试有两个重要的特征:完备性完备性并集为整个输入域并集为整个输入域无冗余性无冗余性等价类互不相交等价类互不相交黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(1 1)有效等价类)有效等价类 是指对软件规格说明而言,是指对软件规格说明而言,有意义的、合理的输有意义的、合理的输入数据入数据所组成的集合。利用有效等价类,能够检验

8、被测系所组成的集合。利用有效等价类,能够检验被测系统是否实现了规格说明中预先规定的功能和性能。统是否实现了规格说明中预先规定的功能和性能。(2 2)无效等价类)无效等价类 是指对软件规格说明而言,是指对软件规格说明而言,无意义的、不合理的无意义的、不合理的输入数据输入数据所构成的集合。利用无效等价类,可以鉴别被测所构成的集合。利用无效等价类,可以鉴别被测系统的容错性,如:异常输入处理的情况等。系统的容错性,如:异常输入处理的情况等。黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分等价类划分2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院

9、 (1 1)有效等价类()有效等价类(2 2)无效等价类)无效等价类 黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分等价类划分设计测试用例时,要同时考设计测试用例时,要同时考虑这两种等价类。因为软件虑这两种等价类。因为软件不仅要能接收合理的数据,不仅要能接收合理的数据,也要能经受意外的考验。经也要能经受意外的考验。经过正反的测试才能确保软件过正反的测试才能确保软件具有更高的可靠性。具有更高的可靠性。all inputsi1i4i2i32022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院如何划分?如何划分? 先从程序的规格说明书中找出各个输

10、入先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。形成若干的互不相交的子集。 (1 1)选择等价类)选择等价类划分准则划分准则 (2 2)确定等价类,列出等价类表)确定等价类,列出等价类表黑盒测试方法黑盒测试方法等价类划分等价类划分n 等价类划分方法基础等价类划分方法基础2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(1)按照区间划分)按照区间划分 在输入条件规定了取值范围或值的个数在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价

11、类和两个无效等价类。的情况下,可以确定一个有效等价类和两个无效等价类。黑盒测试方法黑盒测试方法等价类划分等价类划分n 划分准则划分准则in rangegreater than rangeless than rangevaluegreater than valueless than value例:例:程序输入条件为小于程序输入条件为小于100100大于大于1010的整数的整数x x则有则有效等价类为效等价类为1010 x x100100,两个,两个无效等价类为无效等价类为x10 x10和和x100 x100。2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计

12、算机学院例:例:程序输入程序输入x取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,15,且程序,且程序 中对这中对这4个数值分别进行了处理,个数值分别进行了处理,则则有效等价类为有效等价类为x=1、x=3、 x=7、x=15, 无效等价类为无效等价类为x1,3,7,15的值的集合的值的集合。(2)按照数值划分)按照数值划分 在规定了一组输入数据(假设包括在规定了一组输入数据(假设包括 n个个 输入值),并且程序要对每一个输入值分别进行处理的情况输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定下,可确定 n 个有效等价类(每个值确定一个有效等价类)个有效等价类(每个值确

13、定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。和一个无效等价类(所有不允许的输入值的集合)。黑盒测试方法黑盒测试方法等价类划分等价类划分n 划分准则划分准则2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(3)按照数值集合划分)按照数值集合划分 在输入条件规定了输入值的集合或在输入条件规定了输入值的集合或规定了规定了“必须如何必须如何”的条件下,可以确定一个有效等价类和的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。一个无效等价类(该集合有效值之外)。例:例:程序输入条件为取值为奇数的整数程序输入条件为取值

14、为奇数的整数x x,则则有效等价类为有效等价类为x x的值为奇数的整数的值为奇数的整数, 无无效等价类为效等价类为x x的值不为奇数的整数的值不为奇数的整数。黑盒测试方法黑盒测试方法等价类划分等价类划分n 划分准则划分准则not member of setmember of set2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(3)按照数值集合划分)按照数值集合划分 在输入条件是一个布尔量的情况在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类下,可确定一个有效等价类和一个无效等价类 黑盒测试方法黑盒测试方法等价类划分等价类划

15、分n 划分准则划分准则BooleanNon-Boolean2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院例:例:程序输入条件为以字符程序输入条件为以字符aa开头、长度为开头、长度为8 8的字符串,并且字符串不的字符串,并且字符串不包含包含a za z之外的其它字符,之外的其它字符,则则有效等价类为满足了上述所有条件的字符串有效等价类为满足了上述所有条件的字符串, 无效等价类为:不以无效等价类为:不以aa开头的字符串开头的字符串、长度不为长度不为8 8的字符串的字符串和和包含了包含了a za z之外其它字符的字符串之外其它字符的字符串。(4)按照

16、限制条件或规则划分)按照限制条件或规则划分 在规定了输入数据必须遵在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。合规则)和若干个无效等价类(从不同角度违反规则)。黑盒测试方法黑盒测试方法等价类划分等价类划分n 划分准则划分准则2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(5)细分等价类)细分等价类 在确知已划分的等价类中各元素在程序中在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步

17、划分为的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。更小的等价类,并建立等价类表。 黑盒测试方法黑盒测试方法等价类划分等价类划分n 划分准则划分准则2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法等价类划分等价类划分n 根据等价类创建测试用例的具体步骤根据等价类创建测试用例的具体步骤l1 1、建立等价类表,列出所有等价类:建立等价类表,列出所有等价类:l2 2、为每个等价类规定一个唯一的编号;、为每个等价类规定一个唯一的编号;l3 3、设计一个新的测试用例,、设计一个新的测试用例,使其尽

18、可能多地覆盖尚未使其尽可能多地覆盖尚未覆盖的有效等价类覆盖的有效等价类;l4 4、重复、重复3 3,使得所有有效等价类均被测试用例覆盖;,使得所有有效等价类均被测试用例覆盖;l5 5、设计一个新的测试用例,、设计一个新的测试用例,使其只覆盖一个无效等价使其只覆盖一个无效等价类类 ;l7 7、重复、重复5 5,使所有无效等价类均被覆盖,使所有无效等价类均被覆盖输入条件有效等价类无效等价类2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法等价类划分等价类划分n 实例实例1 1年龄段年龄段额外保险费额外保险费35岁以下岁以下1.6

19、535-592.8760岁以上岁以上6.00人寿保险费率(基本保险费人寿保险费率(基本保险费0.50)2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院黑盒测试方法黑盒测试方法等价类划分等价类划分n 实例实例1(粗略)(粗略)序号序号等价类等价类输入类型输入类型测试数据测试数据预期结果预期结果1低于低于35岁岁有效有效26,12月保险费月保险费=2.15235-59岁岁有效有效37月保险费月保险费=3.37360-99岁岁有效有效65,90月保险费月保险费=6.504负年岁负年岁无效无效-23警告信息警告信息50岁岁无效无效0警告信息警告信息人寿保

20、险费率对应等价类人寿保险费率对应等价类699岁以上岁以上无效无效158警告信息警告信息2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院 保险公司的人寿保险费率依保险公司的人寿保险费率依点数点数不同而有别,不同而有别,1010点及点及1010点点以上保险费为以上保险费为0.6%0.6%,1010点以下保险费率为点以下保险费率为0.1%0.1%;而点数又;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:具体规则如下:年龄年龄 性别性别婚姻婚姻抚养人数抚养人数 2039 4059

21、 其它其它 M F 已婚已婚 未婚未婚 1人扣人扣0.5点点 最多扣最多扣3点点(四舍五入取整)(四舍五入取整) 6点点 4点点 2点点 5点点 3点点 3点点 5点点黑盒测试方法黑盒测试方法等价类划分等价类划分n 实例实例2 2 人寿保险费率人寿保险费率2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院(1)分析程序规格说明中)分析程序规格说明中给出和隐含的给出和隐含的对输入条件的要求对输入条件的要求 年龄:一位或两位非零整数,值的有效范围为年龄:一位或两位非零整数,值的有效范围为199 性别:一位英文字符,只能取值性别:一位英文字符,只能取值M

22、或或F 婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚 抚养人数:空白或一位非零整数(抚养人数:空白或一位非零整数(19) 点数点数 :一位或两位非零整数,值的范围为:一位或两位非零整数,值的范围为199黑盒测试方法黑盒测试方法等价类划分等价类划分n 实例实例2 人寿保险费率人寿保险费率年龄年龄 性别性别婚姻婚姻抚养人数抚养人数 2039 4059 其它其它 M F 已婚已婚 未婚未婚 1人扣人扣0.5点点 最多扣最多扣3点点(四舍五入取整)(四舍五入取整) 6点点 4点点 2点点 5点点 3点点 3点点 5点点输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号

23、编号年龄年龄2039岁岁14059岁岁2119岁岁6099岁岁3小于小于111大于大于9912性别性别非单个字符非单个字符13非英文字符非英文字符14M4除除M和和F之外的之外的其它单个字符其它单个字符15F5婚姻婚姻已婚已婚6除除已婚已婚和和未婚未婚之外的其它字符之外的其它字符16未婚未婚7抚养人数抚养人数空白空白8除空白和数字之外除空白和数字之外的其它字符的其它字符1716人人9小于小于11879人人10大于大于919(2)等价类表)等价类表测试用例测试用例编号编号输入数据输入数据预期输出预期输出年龄年龄性别性别婚姻婚姻抚养人数抚养人数保险费率保险费率127F未婚未婚空白空白0.6%250

24、M已婚已婚20.6%370F已婚已婚70.1%40M未婚未婚空白空白无法推算无法推算5100F已婚已婚3无法推算无法推算699男男已婚已婚4无法推算无法推算71Child未婚未婚空白空白无法推算无法推算845N已婚已婚5无法推算无法推算938F离婚离婚1无法推算无法推算1062M已婚已婚没有没有无法推算无法推算1118F未婚未婚0无法推算无法推算1240M未婚未婚10无法推算无法推算(3 )依照等价类表设计能覆盖所有等价类的测试用例)依照等价类表设计能覆盖所有等价类的测试用例2022年年7月月6日日Software Testing软件测试软件测试南京师范大学 计算机学院在某网站申请免费信箱时,

25、要求用户必须输入在某网站申请免费信箱时,要求用户必须输入用户用户名名、密码密码及及确认密码确认密码,对每一项输入条件的要求如下:,对每一项输入条件的要求如下: 用户名用户名 要求为要求为4位以上,位以上,16位以下,使用英文字母、数字、位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;,并且首字符必须为字母或数字; 密码密码 要求为要求为616位之间,只能使用英文字母、数字以及位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。,并且区分大小写。黑盒测试方法黑盒测试方法等价类划分等价类划分n 实例实例3 免费信箱申请免费信箱申请输入输入条件条件有效等价类有效等价类编编号号无效等价类无效等价类编号编号用户名416位1少于4位10多于16位11首字符为字母2首字符为除字母、数字之外的其他字符12首字符为数字3英文字母、数字、“-”、“_”组合4组合中含有除英文字母、数字、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论