黑盒测试及其用例的设计课件

上传人:我*** 文档编号:139313720 上传时间:2020-07-21 格式:PPT 页数:124 大小:2.53MB
返回 下载 相关 举报
黑盒测试及其用例的设计课件_第1页
第1页 / 共124页
黑盒测试及其用例的设计课件_第2页
第2页 / 共124页
黑盒测试及其用例的设计课件_第3页
第3页 / 共124页
黑盒测试及其用例的设计课件_第4页
第4页 / 共124页
黑盒测试及其用例的设计课件_第5页
第5页 / 共124页
点击查看更多>>
资源描述

《黑盒测试及其用例的设计课件》由会员分享,可在线阅读,更多相关《黑盒测试及其用例的设计课件(124页珍藏版)》请在金锄头文库上搜索。

1、习题,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。程序如下,请按要求设计测试用例。 要求: 1、画出控制流图; 2、分析复杂性; 3、给出独立路径并设计测试用例; 4、画出N-S图; 5、计算要满足覆盖所需要的最少测试用例数; 6、设计满足条件覆盖的测试用例。,#include”stdio.h” main() char c; int letters=0,space=0,digit=0,other=0; printf(“请输入一行字符:n”); while(c=getchar()!=n) if(c=a ,1、流图; #include”stdio.h” main() char

2、 c; int letters=0,space=0,digit=0,other=0; printf(“请输入一行字符:n”); while(c=getchar()!=n) if(c=a ,1,2,3,5,7,4,6,8,9,10,11,(2)复杂性为:5 (3)独立路径为: ab acdfn acegin acehjln acehkmn 测试用例为:,(4) N-S图 (5) 最少测试用例数:5,(6) 条件覆盖测试用例 1:记c!=n为T1 2:-T1 3:记a=c为T2 4:-T2 5:记c=z为T3 6:-T3 7:记A=c为T4 8:-T4 9:记c=Z为T5 10:-T5 11:记c

3、= 为T6 12: -T6 13:记0=c为T7 14:-T7 15:记c=9为T8 16:-T8,第5章 黑盒测试及其用例的设计,5.1 黑盒测试法的概念 5.2 三角形问题与NextDate函数 5.3 等价类划分法 5.4 边界值分析法 5.5 因果图法 5.6 决策表法 5.7 错误推测法 5.8 测试方法的选择,本章教学目标,理论环节 学习理解黑盒测试方法的基本概念 学习理解黑盒测试的两个典型问题 学习掌握黑盒测试的等价类划分法 学习掌握黑盒测试的边界值分析法 学习掌握黑盒测试的因果图测试法和决策表法 实践环节 通过案例运用学习掌握运用方法解决实际问题的能力 运用等价类划分法与边界值

4、分析法进行实际程序测试 运用因果图测试法与决策表法进行实际程序测试,5.1 黑盒测试法的概念,黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。,黑盒测试的目的: 检查程序功能能否按需求规格说明书的规定正常使用 测试各个功能是否有遗漏 检测性能等特性要求是否满足。 检测人机交互是否错误 检测数据结构或外部数据库访问是否错误 程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性 检测程序初始化和终止方面的错误,黑盒测试可以回答以下问题: 如何测试功能的有效性? 何种类型的输入会产生好的测试用例? 系统是否对特定的输入值尤其

5、敏感? 如何分隔数据类的边界? 系统能够承受何种数据率和数据量? 特定类型的数据组合会对系统产生何种影响?,黑盒测试的优点: 比较简单,不需要了解程序内部的代码及实现 与软件的内部实现无关 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能 在做软件自动化测试时较为方便,运用黑盒测试方法,可以导出满足以下标准的测试用例集: 1)所设计的测试用例能够减少达到合理测试所需的附加测试用例数; 2)所设计的测试用例能够告知某些类型错误的存在或不存在,而不是仅仅与特定测试相关的错误。,黑盒测试的实施过程,测试计划阶段 测试设计阶段

6、依据程序需求规格说明书或用户手册,按照一定规范化的方法进行软件功能划分和设计测试用例。 测试执行阶段 按照设计的测试用例执行测试; 自由测试(作为测试用例测试的补充)。 测试总结阶段,5.2 三角形问题与NextDate函数,1、三角形问题 输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。 现在要求输入三个整数a、b、c,必须满足以下条件: 条件1 1a100 条件4 ab+ c 条件2 1b100 条件5 ba+ c 条件3 1c100 条件6 ca+ b,如果输入值a、b

7、、c不满足条件1、条件2和条件3 ,程序给出“边的取值超出允许范围”的信息。 如果输入值a、b、c 满足条件1、条件2和条件3,则输出下列四种情况之一: (1)如果不满足条件4、条件5和条件6中的一个,则程序输出为“非三角形”。 (2)如果三条边相等,则程序输出为“等边三角形”。 (3)如果恰好有两条边相等,则程序输出为“等腰三角形”。 (4)如果三条边都不相等,则程序输出为“一般三角形”。,结论:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。,2、NextDate函数 NextDate函数说明另一种复杂的关系,即输入变量之间逻辑关系的复杂性。 NextDate函数包含三个变量mont

8、h、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件: 条件1 1 month 12 条件2 1 day 31 条件3 1912 year 2050,5.3 等价类划分法,5.3.1 等价类的划分原则 5.3.2 等价类划分法的测试用例设计 5.3.3 常见等价类划分测试形式 5.3.4 使用等价类划分法测试的实例,等价类划分法,等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(

9、y = sqrt(x) )的程序的测试。 思考方向: 由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、 0 和 -2.345。,等价类划分法(续),等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。 所谓等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价

10、于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理的假定: 测试某等价类的代表值就是等效于对于这一类其它值的测试。,5.3.1 等价类的划分原则,等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类对于测试有两个重要的意义: 完备性整个输入域提供一种形式的完备性 无冗余性若互不相交则可保证一种形式的无冗余性,如何划分? 先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。 采用等价类划分法设计测试用例通常分两步进行: 确定等价类,列出等价类表。 确定测试用例。,划分等价类可分为两种

11、情况: (1)有效等价类 是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。 (2)无效等价类 是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。,等价类的划分原则(续),进行等价类划分的依据:,(1)按照区间划分 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类,例:程序输入条件为小于100大于10的整数x,则有效等价类为10 x100,两个无效等价类为x

12、10和x100。,例:程序输入x取值于一个固定的枚举类型1,3,7,15,且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x1,3,7,15的值的集合。,(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合),等价类的划分原则(续),(3)按照数值集合划分 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。,例:程序输入条

13、件为取值为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的整数。,例:程序输入条件为以字符a开头、长度为8的字符串,并且字符串不包含a z之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以a开头的字符串、长度不为8的字符串和包含了a z之外其它字符的字符串。,(5)细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。,(4)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则

14、),5.3.2 等价类划分法的测试用例设计,在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。 根据已列出的等价类表可确定测试用例,具体过程如下: (1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。 (2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。 (3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。,5.3.3 常见等价类划分测试形式,针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。 标准等价类测

15、试不考虑无效数据值,测试用例使用 每个等价类中的一个值。 健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个无效值,其他值均取 有效值。 健壮等价类测试存在两个问题: (1)需要花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入,5.3.4 使用等价类划分法测试的实例,实例1 三角形问题 分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。 在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形

16、和非三角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = : 边为a,b,c的等边三角形 R2 = : 边为a,b,c的等腰三角形 R3 = : 边为a,b,c的一般三角形 R4 = : 边为a,b,c不能组成三角形 ,等价类测试用例,等价类表,三角形问题等价类表,三角形问题等价类划分法测试用例,实例2 NextDate函数 请使用等价类划分法为NextDate函数列出输入域等价类表,并设计相应的测试用例。 NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件: 条件1 1 month 12 条件2 1 day 31 条件3 1912 year 2050,改进等价类划分测试NextDate函

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号