黑盒测试及其测试实例.pptx
《黑盒测试及其测试实例.pptx》由会员分享,可在线阅读,更多相关《黑盒测试及其测试实例.pptx(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、黑盒测试及其测试实例 黑盒测试方法是在程序接口上进行测试,主要是黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:为了发现以下错误:是否有不正确或遗漏了的功能是否有不正确或遗漏了的功能?在接口上,在接口上,输入能否正确地接受输入能否正确地接受?能否输出正能否输出正确的结果确的结果?是否有数据结构错误或外部信息是否有数据结构错误或外部信息(例如数据文件例如数据文件)访问错误访问错误?性能上是否能够满足要求性能上是否能够满足要求?是否有初始化或终止性错误是否有初始化或终止性错误?第1页/共81页软件输入不深入代码细节的测不深入代码细节的测试方法称为试方法称为动态黑盒动态黑盒测试。测试。软
2、件测试员充当客户软件测试员充当客户来使用。来使用。输出这种方法是把这种方法是把测试对象看做看做一个黑盒子,测试人员完全不考虑程序,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。程序的功能是否符合它的功能说明。动态黑盒测试动态黑盒测试 戴上眼罩测试软件戴上眼罩测试软件第2页/共81页 1.等价分类法 所所谓谓等等价价分分类类,就就是是把把所所有有可可能能的的输输入入数数据据(有有效效的的和和无无效效的的)划划分分成成若若干干个个等等价价类类(等等价价类类是是指指某某个个输输
3、入入域域的的子子集集合合。在在该该集集合合中中,各各个个输输入入数数据据对对于于揭揭露露程程序序中中的的错错误误都都是是等等价价的的)。因因此此,可可以以把把全全部部输输入入数数据据合合理理地地划划分分为为若若干干等等价价类类,在在每每一一个个等等价价类类中中取取一一个个数数据据作作为为测测试试的的输输入入条条件件,这这样样就就可可以以少少量量的的代代表表性性测测试试数数据据,来来取取得得较较好好的的测测试试结果。结果。第3页/共81页WindowsWindows计算器程序实例分析计算器程序实例分析(1 1)你测试了)你测试了1+11+1,1+2,1+31+2,1+3和和1+41+4之后,还有
4、必要测试之后,还有必要测试1+51+5和和1+61+6吗?你能放心地认为它们正确吗?吗?你能放心地认为它们正确吗?(2 2)1+151+15与与1+999999999999999999999999999999991+99999999999999999999999999999999有有什么区别呢?什么区别呢?(3 3)测试计算器中)测试计算器中“菜单菜单”命令中的复制功能(单击命令中的复制功能(单击复制命令,在菜单弹出时键入复制命令,在菜单弹出时键入c c或者或者C C,或者按,或者按Ctrl+c,Ctrl+c,这几种方法在设计测试用例时可以缩减为按这几种方法在设计测试用例时可以缩减为按Ctrl
5、+cCtrl+c组合组合键键)注意注意:在寻找等价类划分时,考虑把软件具有相似输入、:在寻找等价类划分时,考虑把软件具有相似输入、相似输出、相似操作的分在一组,这些组就是等价划分。相似输出、相似操作的分在一组,这些组就是等价划分。第4页/共81页 是指对于程序的规格说明来说,是是指对于程序的规格说明来说,是合理的合理的 有意义的输入数据有意义的输入数据构成的集合。利用它可以检构成的集合。利用它可以检 验程序是否实现预先规定的功能和性能。验程序是否实现预先规定的功能和性能。(1)有效等价类 第5页/共81页 是指对于程序的规格说明来说,是是指对于程序的规格说明来说,是不合理不合理 的的、无意义的
6、输入数据无意义的输入数据构成的集合。程序员主构成的集合。程序员主 要利用这一类测试用例来检查程序中功能和性要利用这一类测试用例来检查程序中功能和性 能的实现是否能的实现是否不符合不符合规格说明要求。规格说明要求。(2)无效等价类 第6页/共81页 划分等价类不仅要要考虑代表划分等价类不仅要要考虑代表“有效有效”输入值输入值 的有效等价类,还需考虑代表的有效等价类,还需考虑代表“无效无效”输入值的无输入值的无 效等价类。效等价类。采用等价分类法要注意以下两点:每一无效等价类至少要用一个测试用例,不每一无效等价类至少要用一个测试用例,不 然就可能漏掉某一类错误,但允许若干有效等价然就可能漏掉某一类
7、错误,但允许若干有效等价 类合用同一个测试用例,以便进一步减少测试的类合用同一个测试用例,以便进一步减少测试的 次数。次数。第7页/共81页如何划分等价类?有效等价类(合理等价类)无效等价类(不合理等价类)第8页/共81页p划分等价类的规则划分等价类的规则 (5 5个个)(1)(1)如果输入条件规定了取值范围,可定义一个有效等价 类和两个无效等价类。例1.1:1.1:输入值是学生成绩,范围是0 0100100。0 1000 100 有效等价类00成绩100100无效等价类 成绩100100 无效等价类 成绩01818岁,性别男,地区岁,性别男,地区河南河南的人的人。答案答案:有效等价类:有效等
8、价类:1 1个:年龄个:年龄1818岁岁andand性别男性别男andand地区地区河南河南 无效等价类:无效等价类:3 3个:年龄个:年龄=18=18岁,岁,or or 性别性别!男男,oror地区地区!河南河南第13页/共81页p根据等价类创建测试用例的步骤根据等价类创建测试用例的步骤建立等价类表,列出所有划分出的等价类:建立等价类表,列出所有划分出的等价类:输入条件输入条件有效等价类有效等价类无效等价类无效等价类第14页/共81页(1)(1)为每一个等价类规定一个唯一编号;为每一个等价类规定一个唯一编号;(2)(2)设计一个新的测试用例,使其设计一个新的测试用例,使其尽可能多地覆盖尚尽可
9、能多地覆盖尚未被覆盖的有效等价类,未被覆盖的有效等价类,重复这一步,直到所有重复这一步,直到所有的有效等价类都被覆盖为止;的有效等价类都被覆盖为止;(3)(3)设计一个新的测试用例,使其设计一个新的测试用例,使其仅覆盖一个尚未被仅覆盖一个尚未被覆盖的无效等价类,覆盖的无效等价类,重复这一步,直到所有的无重复这一步,直到所有的无效等价类都被覆盖为止。效等价类都被覆盖为止。从划分出的等价类中按以下原则设计测试用例:从划分出的等价类中按以下原则设计测试用例:第15页/共81页p常见等价类划分测试形式常见等价类划分测试形式针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试
10、。标准等价类测试标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。健壮等价类测试健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。第16页/共81页p使用等价类划分法测试的实例使用等价类划分法测试的实例例1 三角形问题分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=
11、a,b,c:边为a,b,c 的等边三角形R2=a,b,c:边为a,b,c 的等腰三角形R3=a,b,c:边为a,b,c 的一般三角形R4=a,b,c:边为a,b,c 不能构成三角形标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。第17页/共81页例例2:2:某报表处理系统要求用户输入处理报表的日期,日期某报表处理系统要求用户输入处理报表的日期,日期限制在限制在20052005年年1 1月至月至20092009年年1212月,即系统只能对该段期间月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系
12、统日期规定由年、月的误信息。系统日期规定由年、月的6 6位数字字符组成,前位数字字符组成,前四位代表年,后两位代表月。四位代表年,后两位代表月。如何用等价类划分法设计测试用例如何用等价类划分法设计测试用例,来测试程序的日期来测试程序的日期检查功能?检查功能?第20页/共81页步骤:第一步:等价类划分第一步:等价类划分第二步:为有效等价类设计测试用例。(多个有第二步:为有效等价类设计测试用例。(多个有效等价类可使用一个测试用例)效等价类可使用一个测试用例)第三步:为每一个无效等价类设至少第三步:为每一个无效等价类设至少 设计一个测设计一个测试用例试用例第21页/共81页第一步:等价类划分第一步:
13、等价类划分输入等价类 有效等价类 无效等价类 报表日期的类型及长度6 6位数字字符(1)(1)有非数字字符 (4)(4)少于6 6个数字字符 (5)(5)多于6 6个数字字符 (6)(6)年份范围在2005200520092009之间 (2)(2)小于2005(7)2005(7)大于2009(8)2009(8)月份范围在1 11212之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于1 (9)1 (9)大于12(10)12(10)第22页/共81页第二步:为有效等价类设计测试用例对表中编号为1 1,2 2,3 3的3 3个有效等价类用一个测试用例覆盖:测试数据 期望结
14、果 覆盖范围200705200705等价类(1)(2)(3)(1)(2)(3)输入有效第23页/共81页第三步:为每一个无效等价类设至少设计一个测试用例 不能出现相同不能出现相同的测试用例的测试用例 测试数据测试数据 期望结果期望结果 覆盖范围覆盖范围001001MAYMAY等价类(4)(4)输入无效2006520065等价类(5)(5)输入无效20070052007005等价类(6)(6)输入无效200420040505等价类(7)(7)输入无效201020100505等价类(8)(8)输入无效200820080000等价类(9)(9)输入无效200620061313等价类(10)(10)输
15、入无效 本例的1010个等价类至少需要8 8个测试用例第24页/共81页例3.在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为616位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。分析如下:分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类),如表4-5所示。第25页/共81页输入条件有效等价类编号无效等价类编号用户名416位1少于4位8多于16位9首字符为字母2首字符为除字母、数字之外的其他字符10首字符为数字3英
16、文字母、数字、“-”、“_”组合4组合中含有除英文字母、数字、“-”、“_”之外的其他特殊字符11密码616位5少于6位12多于16位13英文字母、数字、“-”、“_”组合6组合中含有除英文字母、数字、“-”、“_”之外的其他特殊字符14确认密码内容同密码相同7内容同密码相同,但字母大小写不同15表4-5 等价类表第26页/共81页根据上述等价类表,设计测试用例如表4-6所示。测试用例用户名密码确认密码预期输出TC1abc_2000abc_123abc_123注册成功TC22000-abc123-abc123-abc注册成功TC3abc1234567812345678提示用户名错误TC4abc
17、defghijk1234561234567812345678提示用户名错误TC5_abc1231234567812345678提示用户名错误TC6abc&1231234567812345678提示用户名错误TC7abc_1231234512345提示密码错误TC8abc_123abcdefghijk123456abcdefghijk123456提示密码错误TC9abc_123abc&123abc&123提示密码错误TC10abc_123abc_123Abc_123提示密码错误表4-6 测试用例第27页/共81页例4.保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:投保额保险费
18、率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:年龄年龄 性别性别婚姻婚姻抚养人数抚养人数 20392039 40594059 其它其它 M M F F 已婚已婚 未婚未婚 1 1人扣人扣0.50.5点点 最多扣最多扣3 3点点(四舍五入取整)(四舍五入取整)6 6点点 4 4点点 2 2点点 5 5点点 3 3点点 3 3点点 5 5点点第28页/共81页(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。年龄:一位或
19、两位非零整数,值的有效范围为199性别:一位英文字符,只能取值M或F婚姻:字符,只能取值已婚或未婚抚养人数:空白或一位非零整数(19)点数:一位或两位非零整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。第29页/共81页2.2.边界值分析法(边界值分析法(Boundary Value AnalysisBoundary Value Analysis)软件边界与悬崖很类似软件边界与悬崖很类似测试内点测试内点测试外点测试外点被测试被测试子域子域第32页/共81页v边界值分析法与等价类划分法区别边界值分析法与等价类划分法区别(1)(1)边界值分析不是从某等价类中随
20、便挑一个作为边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为代表,而是使这个等价类的每个边界都要作为测试条件。测试条件。(2)(2)边界值分析不仅考虑输入条件,还要考虑输出边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况(空间产生的测试情况(NextDateNextDate函数用例)。函数用例)。第33页/共81页 采用边界值分析法来选择测试用例,可使采用边界值分析法来选择测试用例,可使 得被测程序能在得被测程序能在边界值及其附近边界值及其附近运行,从而更运行,从而更 有效地暴露出程序中潜藏的错误。有效地暴露出程序中潜藏的错误。边界值分析法边界值分析法
21、第34页/共81页 边界值分析法边界值分析法 边界值分析法是对等价类划分方法的补充。边界值分析法是对等价类划分方法的补充。边界值分析法是对等价类划分方法的补充。边界值分析法是对等价类划分方法的补充。人们从长期的测试工作经验得知,人们从长期的测试工作经验得知,人们从长期的测试工作经验得知,人们从长期的测试工作经验得知,大量的错误是发大量的错误是发大量的错误是发大量的错误是发生在输入或输出范围的边界上,而不是在输入范围生在输入或输出范围的边界上,而不是在输入范围生在输入或输出范围的边界上,而不是在输入范围生在输入或输出范围的边界上,而不是在输入范围的内部的内部的内部的内部。因此针对各种边界情况设计
22、测试用例,。因此针对各种边界情况设计测试用例,。因此针对各种边界情况设计测试用例,。因此针对各种边界情况设计测试用例,可可可可以查出更多的错误以查出更多的错误以查出更多的错误以查出更多的错误。边界值分析的边界值分析的边界值分析的边界值分析的基本思想基本思想基本思想基本思想是把测试的重点放在各个等是把测试的重点放在各个等是把测试的重点放在各个等是把测试的重点放在各个等价类的边界上,使用在价类的边界上,使用在价类的边界上,使用在价类的边界上,使用在最小值、略小于最小值、略最小值、略小于最小值、略最小值、略小于最小值、略最小值、略小于最小值、略高于最小值、正常值、最大值、略低于最大值和略高于最小值、
23、正常值、最大值、略低于最大值和略高于最小值、正常值、最大值、略低于最大值和略高于最小值、正常值、最大值、略低于最大值和略超过最大值处超过最大值处超过最大值处超过最大值处的值做为测试数据,并据此设计出相的值做为测试数据,并据此设计出相的值做为测试数据,并据此设计出相的值做为测试数据,并据此设计出相应的测试用例。应的测试用例。应的测试用例。应的测试用例。第35页/共81页 比如,在做三角形计算时,要输入三角形的比如,在做三角形计算时,要输入三角形的比如,在做三角形计算时,要输入三角形的比如,在做三角形计算时,要输入三角形的三个边长:三个边长:三个边长:三个边长:A A、B B和和和和C C。我们应
24、注意到这三个我们应注意到这三个我们应注意到这三个我们应注意到这三个数值应当满足数值应当满足数值应当满足数值应当满足 A A0 0、B B0 0、C C0 0、A AB BC C、A AC CB B、B BC CA A,才能构才能构才能构才能构成三角形。但如果把六个不等式中的任何一成三角形。但如果把六个不等式中的任何一成三角形。但如果把六个不等式中的任何一成三角形。但如果把六个不等式中的任何一个大于号个大于号个大于号个大于号“”错写成大于等于号错写成大于等于号错写成大于等于号错写成大于等于号“”“”,那就不能构成三角形。问题恰出现在容易被那就不能构成三角形。问题恰出现在容易被那就不能构成三角形。
25、问题恰出现在容易被那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。疏忽的边界附近。疏忽的边界附近。疏忽的边界附近。第36页/共81页1:Rem Creat a 10 element integer array2:Rem Initialize each element to -13:Dim data(10)As Integer4:Dim i As Integer5:For i=1 To 106:data(i)=-17:Next I8:End演示边界条件缺陷的简单演示边界条件缺陷的简单BASIC程序程序第37页/共81页 边界值设计原则边界值设计原则(1 1)如果输入条件规定了值的)如果输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试 及其 实例
限制150内