黑盒测试及其测试实例PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《黑盒测试及其测试实例PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试 及其 实例 PPT 课件
- 资源描述:
-
1、.1u测试的方法与技术测试的方法与技术软件测试的软件测试的策略和方法策略和方法静态测静态测试方法试方法动态测动态测试方法试方法人工测试方法人工测试方法计算机辅助静计算机辅助静态分析方法态分析方法白盒测试方法白盒测试方法黑盒测试方法黑盒测试方法.2.3软件输入输入不深入代码细节的测不深入代码细节的测试方法称为试方法称为动态黑盒动态黑盒测试。测试。软件测试员充当客户软件测试员充当客户来使用。来使用。输出输出测试对象测试对象一个黑盒子一个黑盒子动态黑盒测试动态黑盒测试 戴上眼罩测试软件戴上眼罩测试软件.4 1.等价分类法等价分类法 所谓等价分类,就是把所有可能的输入数据(有效的和所谓等价分类,就是把
2、所有可能的输入数据(有效的和无效的)划分成若干个无效的)划分成若干个等价类等价类( (等价类是指某个输入域的子等价类是指某个输入域的子集合。集合。 在该集合中,各个输入数据对于揭露程序中的错误在该集合中,各个输入数据对于揭露程序中的错误都是等价的都是等价的) )。 因此,可以把全部输入数据合理地划分为若因此,可以把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条干等价类,在每一个等价类中取一个数据作为测试的输入条件,这样就可以少量的代表性测试数据,来取得较好的测试件,这样就可以少量的代表性测试数据,来取得较好的测试结果。结果。.5WindowsWindows计算器
3、程序实例分析计算器程序实例分析(1 1)你测试了)你测试了1+11+1,1+2,1+31+2,1+3和和1+41+4之后,还有必要测试之后,还有必要测试1+51+5和和1+61+6吗?你能放心地认为它们正确吗?吗?你能放心地认为它们正确吗?(2 2)1+151+15与与1+999999999999999999999999999999991+99999999999999999999999999999999有有什么区别呢?什么区别呢?(3 3)测试计算器中)测试计算器中“菜单菜单”命令中的复制功能(单击命令中的复制功能(单击复制命令,在菜单弹出时键入复制命令,在菜单弹出时键入c c或者或者C C,
4、或者按,或者按Ctrl+c,Ctrl+c,这几种方法在设计测试用例时可以缩减为按这几种方法在设计测试用例时可以缩减为按Ctrl+cCtrl+c组组合键合键) )注意注意:在寻找等价类划分时,考虑把软件具有相似输入、:在寻找等价类划分时,考虑把软件具有相似输入、相似输出、相似操作的分在一组,这些组就是等价划分。相似输出、相似操作的分在一组,这些组就是等价划分。.6 是指对于程序的规格说明来说,是是指对于程序的规格说明来说,是合理的合理的 有意义的输入数据有意义的输入数据构成的集合。利用它可以检构成的集合。利用它可以检 验程序是否实现预先规定的功能和性能。验程序是否实现预先规定的功能和性能。 (1
5、)有效等价类)有效等价类 .7 是指对于程序的规格说明来说,是是指对于程序的规格说明来说,是不合理不合理 的的、无意义的输入数据无意义的输入数据构成的集合。程序员主构成的集合。程序员主 要利用这一类测试用例来检查程序中功能和性要利用这一类测试用例来检查程序中功能和性 能的实现是否能的实现是否不符合不符合规格说明要求。规格说明要求。 (2)无效等价类)无效等价类 .8n 划分等价类不仅要要考虑代表划分等价类不仅要要考虑代表“有效有效”输入值输入值 的有效等价类,还需考虑代表的有效等价类,还需考虑代表“无效无效”输入值的无输入值的无 效等价类。效等价类。 采用等价分类法要注意以下两点采用等价分类法
6、要注意以下两点: :n 每一无效等价类至少要用一个测试用例,不每一无效等价类至少要用一个测试用例,不 然就可能漏掉某一类错误,但允许若干有效等价然就可能漏掉某一类错误,但允许若干有效等价 类合用同一个测试用例,以便进一步减少测试的类合用同一个测试用例,以便进一步减少测试的 次数。次数。 .9如何划分等价类?如何划分等价类?有效等价类有效等价类( (合理等价类合理等价类) )无效等价类无效等价类( (不合理等价类不合理等价类) ) .10p划分等价类的规则划分等价类的规则 (5 5个个) )(1)(1)如果输入条件规定了如果输入条件规定了取值范围取值范围,可定义一个有效等价,可定义一个有效等价
7、类和两个无效等价类。类和两个无效等价类。例例1.1:1.1: 输入值是学生成绩,范围是输入值是学生成绩,范围是0 0100100。0 1000 100 有效有效等价类等价类00成绩成绩100100无效等价类无效等价类 成绩成绩100100 无效等价类无效等价类 成绩成绩01818岁,性别男,地区岁,性别男,地区河南河南的人的人。 答案答案: : 有效等价类:有效等价类:1 1个:年龄个:年龄1818岁岁andand性别男性别男andand地区地区河南河南 无效等价类:无效等价类:3 3个:年龄个:年龄=18=18岁,岁,or or 性别性别!男男,oror地区地区!河南河南.15p根据等价类创
8、建测试用例的步骤根据等价类创建测试用例的步骤建立等价类表,列出所有划分出的等价类:建立等价类表,列出所有划分出的等价类:.16(1)(1)为每一个等价类规定一个唯一编号;为每一个等价类规定一个唯一编号;(2)(2)设计一个新的测试用例,使其设计一个新的测试用例,使其尽可能多地覆盖尚未被尽可能多地覆盖尚未被覆盖的有效等价类,覆盖的有效等价类,重复这一步,直到所有的有效重复这一步,直到所有的有效等价类都被覆盖为止;等价类都被覆盖为止;(3)(3)设计一个新的测试用例,使其设计一个新的测试用例,使其仅覆盖一个尚未被覆盖仅覆盖一个尚未被覆盖的无效等价类,的无效等价类,重复这一步,直到所有的无效等价重复
9、这一步,直到所有的无效等价类都被覆盖为止。类都被覆盖为止。从划分出的等价类中按以下原则设计测试用例:从划分出的等价类中按以下原则设计测试用例:.17p常见等价类划分测试形式常见等价类划分测试形式针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。标准等价类测试标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。健壮等价类测试健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个无效值,其他值均取有效值。.18p使用等价类划分法测试的实例使用等价类划分法测试的实例例1 三角形问题分
10、析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。 在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=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 不能构成三角形标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。.19三角形问题的4个标准等价类测试用例.20三角形问题的7个健壮等价类测试用例.21例
11、例2:2:某报表处理系统要求用户输入处理报表的日期,日期某报表处理系统要求用户输入处理报表的日期,日期限制在限制在20052005年年1 1月至月至20092009年年1212月,即系统只能对该段期间月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的误信息。系统日期规定由年、月的6 6位数字字符组成,前位数字字符组成,前四位代表年,后两位代表月。四位代表年,后两位代表月。 如何用等价类划分法设计测试用例如何用等价类划分法设计测试用例, ,来测试程序的日期来测试程序的日期检查功能?检查功能?.
12、22第一步:等价类划分第一步:等价类划分第二步:为有效等价类设计测试用例。(多个有效等第二步:为有效等价类设计测试用例。(多个有效等价类可使用一个测试用例)价类可使用一个测试用例)第三步:为每一个无效等价类设至少第三步:为每一个无效等价类设至少 设计一个测试设计一个测试用例用例.23第一步:等价类划分第一步:等价类划分输入等价类输入等价类 有效等价类有效等价类 无效等价类无效等价类 报表日期的报表日期的类型及长度类型及长度6 6位数字字符位数字字符(1)(1)有非数字字符有非数字字符 (4)(4)少于少于6 6个数字字符个数字字符 (5)(5)多于多于6 6个数字字符个数字字符 (6)(6)年
13、份范围年份范围在在2005200520092009之间之间 (2)(2)小于小于2005 (7)2005 (7)大于大于2009 (8)2009 (8)月份范围月份范围在在1 11212之间之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于小于1 (9)1 (9)大于大于12 (10)12 (10).24第二步:为有效等价类设计测试用例对表中编号为第二步:为有效等价类设计测试用例对表中编号为1 1,2 2,3 3的的3 3个有效等价类用一个测试用例覆盖:个有效等价类用一个测试用例覆盖: 测试数据 期望结果 覆盖范围200705200705等价类等价类(1)(2)(3)
14、(1)(2)(3)输入有效输入有效.25第三步:为每一个无效等价类设至少设计一个测试用例第三步:为每一个无效等价类设至少设计一个测试用例 不能出现相同不能出现相同的测试用例的测试用例 测试数据测试数据 期望结果期望结果 覆盖范围覆盖范围001001MAYMAY等价类等价类(4)(4)输入无效输入无效2006520065等价类等价类(5)(5)输入无效输入无效20070052007005等价类等价类(6)(6)输入无效输入无效200420040505等价类等价类(7)(7)输入无效输入无效201020100505等价类等价类(8)(8)输入无效输入无效200820080000等价类等价类(9)(
15、9)输入无效输入无效200620061313等价类等价类(10)(10)输入无效输入无效 本例的本例的1010个等价类至个等价类至少需要少需要8 8个测试用例个测试用例.26例3.在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下: 用户名要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为616位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。分析如下:分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类),如表4-5所示。.27表4-5 等价类表.28根据上述等价类表,设计测试
16、用例如表4-6所示。表4-6 测试用例.29例4. 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为: 投保额保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:.30(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。年龄:一位或两位非零整数,值的有效范围为199性别:一位英文字符,只能取值M或F婚姻:字符,只能取值已婚或未婚抚养人数:空白或一位非零整数(19)点数 :一位或两位非零整数,值的范围为1
17、99(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。.31.32.332. 2. 边界值分析法(边界值分析法(Boundary Value AnalysisBoundary Value Analysis)软件边界与悬崖很类似软件边界与悬崖很类似测试内点测试内点测试外点测试外点被测试被测试子域子域.34v边界值分析法与等价类划分法区别边界值分析法与等价类划分法区别(1)(1)边界值分析不是从某等价类中随便挑一个作为边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为代表,而是使这个等价类的每个边界都要作为测试条件。测试条件。(2)(2)边界值分析不仅考
18、虑输入条件,还要考虑输出边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况(空间产生的测试情况(NextDateNextDate函数用例)。函数用例)。.35 采用边界值分析法来选择测试用例,可使采用边界值分析法来选择测试用例,可使 得被测程序能在得被测程序能在边界值及其附近边界值及其附近运行,从而更运行,从而更 有效地暴露出程序中潜藏的错误。有效地暴露出程序中潜藏的错误。边界值分析法边界值分析法.36 边界值分析法边界值分析法.37.381: Rem Creat a 10 element integer array2: Rem Initialize each element to -
19、13: Dim data(10) As Integer4: Dim i As Integer5: For i=1 To 106: data(i)= -17: Next I8: End演示边界条件缺陷的简单演示边界条件缺陷的简单BASIC程序程序.39 边界值设计原则边界值设计原则(1 1)如果输入条件规定了值的)如果输入条件规定了值的范围范围,则应取刚达到这个范,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。输入数据。 例如,例如,如果程序的规格说明中规定:如果程序的规格说明中规定:“重量在重量在1010公斤至公
20、斤至5050公斤范围内的邮件,其邮费计算公式为公斤范围内的邮件,其邮费计算公式为 ”。作为测。作为测试用例,我们应取试用例,我们应取1010及及5050,还应取,还应取10.01,49.99,9.9910.01,49.99,9.99及及50.0150.01等。等。.40 (2 2)如果输入条件规定了值的)如果输入条件规定了值的个数个数,则用最大个数、最,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数小个数、比最小个数少一、比最大个数多一的数作为测试数据。据。 例如,例如,一个输入文件应包括一个输入文件应包括1-2551-255个记录,则测试用例可个记录,则测试用例可取取1
21、 1和和255255,还应取,还应取0 0及及256256等。等。.41 3.3.将规则将规则1 1和和2 2应用于应用于输出条件输出条件,即设计测试用例使输,即设计测试用例使输出值达到边界值及其左右的值。出值达到边界值及其左右的值。 例如,例如,一程序属于情报检索系统,要求每次一程序属于情报检索系统,要求每次”最少显最少显示示1 1条、最多显示条、最多显示4 4条情报摘要条情报摘要”,这时我们应考虑的测,这时我们应考虑的测试用例包括试用例包括1 1和和4 4,还应包括,还应包括0 0和和5 5等。等。 再如,再如,一个学生成绩管理系统规定,只能查询一个学生成绩管理系统规定,只能查询95-98
22、95-98级大学生的各科成绩,可以设计测试用例,使得查询范级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询围内的某一届或四届学生的学生成绩,还需设计查询9494级、级、9999级学生成绩的测试用例(不合理输出等价类)。级学生成绩的测试用例(不合理输出等价类)。l由于输出值的边界不与输入值的边界相对应,所以要检查输出值的由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。但必要时还需试一试。.42(4 4)如果
23、程序的规格说明给出的输入域或输出域是)如果程序的规格说明给出的输入域或输出域是有序有序集合集合(如顺序文件、线性表等),则应选取集合的第一(如顺序文件、线性表等),则应选取集合的第一个元素和最后一个元素作为测试用例。个元素和最后一个元素作为测试用例。 (5 5)如果程序中使用了一个内部数据结构,则应当选择)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。这个内部数据结构的边界上的值作为测试用例。 例如,例如,如果程序中定义了一个数组,其元素下标的下如果程序中定义了一个数组,其元素下标的下界是界是0 0,上界是,上界是100100,那么应选择达到这个数组下标
24、边界,那么应选择达到这个数组下标边界的值,如的值,如0 0与与100100,作为测试用例。,作为测试用例。(6 6)分析规格说明,找出其他可能的边界条件。)分析规格说明,找出其他可能的边界条件。.43 程序中判断输入日期(年月)是否有效,假设使用如下语句:程序中判断输入日期(年月)是否有效,假设使用如下语句: IFIF(ReportDate=MaxDateReportDate=MinDateReportDate=MinDate) THEN THEN 产生指定日期报表产生指定日期报表 ELSE ELSE 显示错误信息显示错误信息ENDIFENDIF如果将程序中的如果将程序中的“=”误写为误写为“
25、 ”,则上例的等价类划分中所有,则上例的等价类划分中所有测试用例都不能发现这一错误,采用边界值分析法的测试用例测试用例都不能发现这一错误,采用边界值分析法的测试用例如下表所示。如下表所示。 n对上述报表处理系统中的报表日期输入条件,以下对上述报表处理系统中的报表日期输入条件,以下用边界值分析设计测试用例。用边界值分析设计测试用例。.44输入输入条件条件报表日报表日期的类期的类型及长型及长度度1 1个数字字符个数字字符5 5个数字字符个数字字符7 7个数字字符个数字字符有有1 1个非数字字符个非数字字符全部是非数字字符全部是非数字字符6 6个数字字符个数字字符显示出错显示出错显示出错显示出错显示
展开阅读全文