《软件黑盒测试》ppt课件

上传人:xiao****1972 文档编号:73783873 上传时间:2019-01-26 格式:PPT 页数:111 大小:1.72MB
返回 下载 相关 举报
《软件黑盒测试》ppt课件_第1页
第1页 / 共111页
《软件黑盒测试》ppt课件_第2页
第2页 / 共111页
《软件黑盒测试》ppt课件_第3页
第3页 / 共111页
《软件黑盒测试》ppt课件_第4页
第4页 / 共111页
《软件黑盒测试》ppt课件_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《《软件黑盒测试》ppt课件》由会员分享,可在线阅读,更多相关《《软件黑盒测试》ppt课件(111页珍藏版)》请在金锄头文库上搜索。

1、软件黑盒测试,软件测试,概览,在本章中,我们将学习: 功能性概述 等价类划分 边界值分析 因果图与决策表法 其他测试法,目标,完成此课程之后,学员将具备以下能力: 理解功能性测试的含义 使用等价类划分的方法设计测试用例 使用边界值分析的方法设计测试用例 使用因果图的方法设计测试用例 使用决策表的方法设计测试用例,课程目录,功能性测试概述 功能分解 等价类划分 边界值分析 因果图法 决策表法 其他测试方法,功能性测试概述,任何程序都可以看作是将从输入定义域取值映射到输出值域的函数 将系统看成黒盒,又称为黒盒测试 黒盒的实现是不需要了解的,只需要知道输入和预期输出 软件功能性测试就是通过大量的测试

2、用例来检验软件的运行效果。,功能性测试模型,输入,输出,黒盒,内部实现不可见,测试用例,测试用例定义,测试用例的定义: (1)测试用例是为特定的目的而设计的一组测试输入、 执行条件和预期的结果。 (2)测试用例是执行的最小实体。 测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。,测试用例定义,测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结

3、果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。,功能性测试的优点,功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用(可重用性,面向回归测试) 测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件的用例(use case)就可以设计出大部分功能性测试用例,功能性测试的缺点,测试用例数量较大 测试用例可能产生很多冗余 功能性测试的覆盖范围不可能达到100%,功能性测试的方法,黑盒测试主要是通过将“功能分解”,然后再按照以下方法来设计测试用例。 等价类划分 边界值分析 因果图法 决策表法 其他测试方法,黑盒测试方法,课程目录,功能性测试概

4、述 功能分解 等价类划分 边界值分析 因果图法 其他测试方法,功能分解,含义 把软件分解为相对独立的功能单元 目的 通过功能分解可以明确软件功能性测试的内容 使软件功能性测试可度量,有利于测试监督和管理,功能分解,功能分解应把握好度 不能分解得过粗 不能分解得过细 可提高软件功能性测试度量的准确性 最好按照功能的需求程度分解,要求高的分解的细一点,要求低的,可以测试的粗糙一点。,课程目录,功能性测试概述 功能分解 等价类划分 边界值分析 因果图与决策表法 其他测试方法,等价类划分,等价类是指某个输入域的子集合 在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,子集合中包含的元素要么全部

5、被正确处理,要么全部都没有被正确处理。因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。,等价类划分,等价类划分是将程序的输入域(较多见)或输出域(较少见)的不同区间划分为不同的数据类,以便导出测试用例 每个等价类所揭示的程序错误都是等价的 要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数 测试某等价类的代表值就是等效于对于这一类其它值的测试。 例如:程序在输入小于4的数得到结果5,那么使用2还是3或者都是一样的,等价类划分,等价类划分法是一种重要的、常用的黑盒测试方法,它将不

6、能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算( y = sqrt(x) )的程序的测试。 思考方向: 由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、 0 和 -2.345。,等价类分类,有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合 利用它可以检验程序是否实现了预期的功能和性能(确认过程) 无效等价类 对于

7、程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 利用它可以检验程序对于无效数据的处理能力(验证过程),等价类划分,数学含义 A=x=B C=y=D,问题1:例子中共有多少个等价类?有效的几个,无效的几个? 问题2:写出这些等价类,这些等价类是否可以合并? 问题3:最好用多少个数据来测试?测试数据是否可以减少?,确立等价类的原则,严格的,可以按照变量来划分有效和无效等价类。即: -1-先按照X来划分有效等价类和无效等价类,然后再按照Y来划分有效等价类和无效等价类 -2-最后再形成相应的测试用例。 X: 有效等价类为: A=x=B ; 无效等价类为:xA和Bx两个无效等价类 Y: 有

8、效等价类为:C=y=D ; 无效等价类为:yC和Dy两个无效等价类,确立等价类的原则,如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如: 数据范围是150 有效等价类为“=1&50”,确立等价类的原则,如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类 如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类,例:程序输入x取值于一个固定的枚举类型1,3,7,15,且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、

9、x=15,无效等价类为x1,3,7,15的值的集合。,确立等价类的原则,如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如: 测试密码域,要求密码必须是数字或字母 有效等价类为“密码是数字和字母的组合”(还可以细分) 无效等价类为“密码包括中文”、“密码包括其它符号”等 如果确知已划分的等价类中的各元素在程序中的处理方式不同(例如字母还要区分大小写等),则应进一步划分成更小的等价类,等价类测试用例设计,分析输入输出 划分有效等价类、无效等价类 设计测试用例,使其尽可能多的覆盖有效等价类 设计测试用例,使其尽可能多的覆

10、盖无效等价类,等价类测试用例设计,在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。 根据已列出的等价类表可确定测试用例,具体过程如下: (1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。 (2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。 (3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。 ?3的顺序是否可以和2颠倒? ?123好还是132好?为什么?,等价类测试用例设计,针对是否对无效数据进行测试,可以将等价类测试分为 标准等价

11、类测试和健壮等价类测试。 标准等价类测试不考虑无效数据值,测试用例使用 每个等价类中的一个值。 健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个“无效值”,其他值均取“有效值”。 健壮等价类测试存在两个问题: (1)需要花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测。,举例1(保险费率计算),按照输入域划分等价类的例子。 某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0

12、.1% 点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和 输入:年龄、性别、婚姻、抚养人数 输出:保险率,输入数据说明,第一步:输入和输出变量确认,按照输入域划分等价类的例子。 输入:年龄、性别、婚姻、抚养人数 输出:保险率 等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类),第二步:等价类划分,是否可以有更多无效等价类?,第二步:等价类划分,第三步:设计测试用例,按照输入域划分等价类的例子。 1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。 (1)(8)(10)(12) (2)(9)(11)(13) (3)(8)(10)(14) 2、设计测试用俐,使得每一个新设计的

13、测试用例只包含一个无效等价类,其他的选择有效等价类。 (4)(8)(10)(12) (5)(9)(11)(13) (6)(8)(10)(14) (7)(8)(10)(14) (1)(8)(10)(15) (2)(9)(11)(16) (3)(8)(10)(16) 说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。,第四步:选取测试用例,思考,1、是否可以按照输出域来设计测试用例? 2、按照输入域设计的结果和按照输出域设计的结果会有何不同?,举例2(三角形问题),按照输出域划分等价类的例子。 1、输入3个整数变量a、b、c 2、a、b和c均在1100之间 3、a、b和c任意2个

14、加起来大于第三个 4、测试是否为等边三角形、等腰三角形、一般三角形和非三角形。,第一步:输入和输出变量确认,按照输入域划分等价类的例子。 输入:三个变量(a、b、c);a、b和c都在1到100之间。 输出:是否为三角形或各类三角形? 分析:输入域较为复杂,很难明晰界定。输出域则较为清晰。 等价类划分原则:按照输出变量来确认等价类(有效等价类和无效等价类),第二步:等价类划分,增加的测试用例,思考,1、什么情况下按照输入域来设计测试用例?什么情况下按照输出域来设计测试用例? 2、等价类划分在我们编程过程中对哪些模块比较有效?为什么? A、录入模块;B、查询模块;C、报表模块;D、算法模块;E、逻

15、辑处理模块。,课堂实际应用:,有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括: 1、编号:必须有,系统自动编号; 2、姓名:必须有,要求为不超过5个汉字; 3、身份证:必须有,长度为15或18位置,末尾为数字或X,注意大小写; 4、邮箱:要么为空白,输入必须包含和. 5、年龄:18-80之间的数字 6、住址:可以空白 注意:如果录入正确,则提示录入成功,录入错误,则提示数据不对。 要求:1、确认输入域和输出域;2、划出有效等价类和无效等价类;3、给出测试用例的个数。4、请大家上来介绍自己的划分。,课程目录,功能性测试概述 功能分解 等价类划分 边界值分析 因果图与决策表法 其他

16、测试方法,边界值分析,边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 为什么使用边界值分析法? 无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。 怎样用边界值分析法设计测试用例? (1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。 (2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。,举例 常见的边界值,对16-bit 的整数而言 32767 和 -32768 是边界 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次,边界值分析,数学含义 A=x=B C=y=D,确立边界值的原则,如果输入条件或输出条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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