黑盒测试方法汇编

上传人:我** 文档编号:117876784 上传时间:2019-12-11 格式:PPT 页数:34 大小:244KB
返回 下载 相关 举报
黑盒测试方法汇编_第1页
第1页 / 共34页
黑盒测试方法汇编_第2页
第2页 / 共34页
黑盒测试方法汇编_第3页
第3页 / 共34页
黑盒测试方法汇编_第4页
第4页 / 共34页
黑盒测试方法汇编_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《黑盒测试方法汇编》由会员分享,可在线阅读,更多相关《黑盒测试方法汇编(34页珍藏版)》请在金锄头文库上搜索。

1、浅谈黑盒测试 概览 n测试用例 n黑盒测试方法 n等价类划分 n边界值分析 n因果图与决策表法 n其他测试法 测试用例的概念 n测试用例的定义 (1)为特定目标而编制的一组测试输入、执行条件和预 期结果,其目的是测试程序中的路径,核实程序或软 件能否满足某个特定的需求。 (2)测试用例是执行的最小实体。 (3)对被测程序的测试通常需要多个测试用例 测试用例的主要元素 n测试名称:测试用例的编号和名称 n描述:测试用例的详细描述 n前提条件:测试用例执行的前提条件 n步骤描述、预期结果及实际结果 n状态:测试用例的状态(是否执行,是否通过) n设计人员和执行人员 n创建日期和执行日期 测试用例设

2、计单模版 测试用例的重要性 测试用例在测试活动中占有核心的作用 ,它是测试工作的指导。在测试执行过 程中,测试用例是软件测试必须遵守的 准则,可以把人为因素的影响减少到最 小。因此测试用例的设计和编制是软件 测试活动中最重要的。 测试用例的重要性(了解) 测试用例在测试活动中占有核心的作用,主要体 现在以下几个方面: n测试用例构成了设计和执行测试过程的基础。 n测试的“深度”与测试用例的数量呈比例。 n测试是否完全的依据。 n测试工作量与测试用例的数量呈比例 n测试设计和开发的类型及所需的资源主要都受 控于测试用例 测试用例的设计准则 由于穷举测试是不可能的,因此测试人员应设计有限 的、有代

3、表性或特殊性的测试用例。总之一句话,设 计尽可能少的用例去尽可能多的发现软件的缺陷。基 本准则如下: n测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和 环境设置等。稀有、极端、特殊的点需要测试人员重 点关注。 n测试用例的非重复性 测试用例不应是与原有测试用例重复的或等价效果的 ,应追求测试用例数目的精简 测试用例的设计准则 n测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测 试用例都应有相应的期望结果。 n测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相 同的。 好的测试用例集能花费最小的代价(人力

4、、物力 、财力、时间)做最好的测试。 测试用例的设计方法主要分为黑盒法和白盒法。 黑盒测试方法 n黑盒测试又称为功能测试,把被测软件 看成一个封闭的盒子,在完全不考虑软 件内部逻辑和内部结构的情况下进行的 测试。 黑盒测试常见的错误 1、功能不正确或者遗漏 2、界面错误。在接口上输入能否正确地接 受。能否输出正确的结果 3、数据库访问错误 4、性能上能否满足要求 5、是否有初始化或终止错误 黑盒测试的缺点 1、只能找到缺陷,难以查找错误的具体 原因。 2、没有清晰的需求规格说明书,测试用 例很难被设计。 3、相比白盒测试,测试用例产生遗漏或 冗余的可能性大大增加 黑盒测试的特点 从理论上讲,黑

5、盒测试只有采用穷举输 入测试,把所有可能的输入都作为测试 情况考虑,才能查出所有的错误。 实际上测试情况是无穷多的,完全测试 是不可能的。那么我们如何设计黑盒测 试用例满足“最尽可能少的测试用例去 发现尽可能多的软件缺陷”呢? 典型的黑盒测试方法 等价类划分法 边界值分析法 交互测试(场景法) 兼容性测试 压力测试 错误推测法 等价类划分法 等价类划分法是一种重要的、常用的黑盒测试方法, 它将不能穷举的测试过程进行合理分类,从而保证设 计出来的测试用例具有完整性和代表性。 n举例:设计这样的测试用例,来实现一个对所有实数 进行开平方运算( y = sqrt(x) )的程序的测试。 思考方向:

6、由于开平方运算只对非负实数有效,这时需要将 所有的实数(输入域x)进行划分,可以分成:正实 数、0 和 负实数。假设我们选定+1.4444代表正实数 ,-2.345代表负实数,则为该程序设计的测试用例的 输入为+1.4444、 0 和 -2.345。 等价类划分法(续) n等价类划分是将程序的输入域(较多见)或输出域 (较少见)的不同区间划分为不同的数据类,以便 导出测试用例 n每个等价类所揭示的程序错误都是等价的 n要求此方法的测试用例能各自发现一类错误,从而 减少必须开发的测试用例数 n测试某等价类的代表值就是等效于对于这一类其它 值的测试。 n例如:程序在输入小于4的数得到结果5,那么使

7、用 2还是3或者都是一样的 等价类分类 n有效等价类 n对于程序的需求说明来说是合理的,有意义的输入数 据所构成的集合 n利用它可以检验程序是否实现了预期的功能和性能 n无效等价类 n对于程序的需求说明来说是不合理的,没有意义的输 入数据所构成的集合 n利用它可以检验程序对于无效数据的处理能力 确立等价类的原则 n如果输入条件规定了取值范围,或者值 的个数,则可以确立一个有效等价类和 两个无效等价类,例如: n数据范围是150 n有效等价类为“=1&=50” n两个无效等价类为“50” 确立等价类的原则 n如果输入条件是一个布尔量,则可以确立一个 有效等价类和一个无效等价类 n如果规定了输入数

8、据的一组值,而且程序要对 每一个输入值分别进行处理,这时要对每一个 规定的输入值确立一个有效等价类,而对于这 组值之外的所有值确立一个无效等价类 n n 例:程序输入例:程序输入x x取值于一个固定的枚举类型取值于一个固定的枚举类型 1,3,7,151,3,7,15,且程序,且程序 中对这中对这4 4个数值分别进行了个数值分别进行了 处理,则有效等价类为处理,则有效等价类为x=1x=1、x=3x=3、 x=7x=7、x=15x=15 ,无效等价类为,无效等价类为x1,3,7,15x1,3,7,15的值的集合。的值的集合。 确立等价类的原则 n如果规定了输入数据必须遵守的规则,则可以 确立一个有

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

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

11、试用例使用每个等价类中的一个值。 健壮等价类测试主要的出发点是考虑了 无效等价类。对有效输入,测试用例从每个 有效等价类中取一个值; 对无效输入,一个 测试用例有一个“无效值”,其他值均取“ 有效值”。 边界值分析 n边界值分析法就是对输入或输出的边界值进行测试的一种 黑盒测试方法。通常边界值分析法是作为对等价类划分法 的补充,这种情况下,其测试用例来自等价类的边界。 n为什么使用边界值分析法? 无数的测试实践表明,大量的故障往往发生在输入定义域 或输出值域的边界上,而不是在其内部。因此,针对各种 边界情况设计测试用例,通常会取得很好的测试效果。 n怎样用边界值分析法设计测试用例? (1)首先

12、确定边界情况。通常输入或输出等价类的边界就是 应该着重测试的边界情况。 (2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试 数据,而不是选取等价类中的典型值或任意值。 举例 常见的边界值 n对16-bit 的整数而言 32767 和 -32768 是边界 n屏幕上光标在最左上、最右下位置 n报表的第一行和最后一行 n数组元素的第一个和最后一个 n循环的第 0 次、第 1 次和倒数第 2 次、最后一 次 边界值分析 n数学含义 A=x=B C=y=D 确立边界值的原则 n如果输入条件或输出条件规定了值的范围并且有效条 件包括了值的边界,可分别对边界和略超出边界取值 ,例如: n数据范围是1=

13、x=50正整数 n边界值取为:1、50、0、51 n如果输入条件或输出条件规定了值的范围并且有效条 件不包括了值的边界,可分别对边界和略处于边界内 取值,例如: n数据范围是1x50正整数 n边界值取为:1、50、2、49 确立边界值的原则 n如果输入或输出域是个有序的集合(如顺序文 件、表格等),应注意选取有序集的第一个和 最后一个元素以及集合外但靠近集合的元素作 为边界 ,例如: n输入文件名介于file0101file0120之间 n边界值取为file0100,file0101,file0120,file0121 边界值分析主题思想 n采用边界值分析测试的基本思想是:故障往往出 现在输入

14、变量的边界值附近。 因此,边界值分析法利用输入变量的最小值 (min)、略大于最小值(min+)、输入值域内的任意 值(nom)、略小于最大值(max-)和最大值(max)来 设计测试用例。 n因此,在边界值分析法中获取测试用例的方 法是: (1) 每次保留程序中一个变量,让其余的变量取正 常值,被保留的变量依次取min、min+、nom、 max-和max。 (2) 对程序中的每个变量重复 (1) 。 交互测试(场景法) n交合测试的理论基础 因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑 输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输 入

15、条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出 错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是 天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产 生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑 模型)。 测试方法举例:多利用打断工具如蓝牙,闹钟,来电等操作。使用浏览器下 载时来电或闹钟提醒,看是否中断(3g),使用wifi上网时蓝牙配对或 传输,发送电子邮件接收彩信等等 错误推测法 n错误推测法是基于经验和直觉推测程序 中所有可能存在的各种错误,从而有针 对性地设计测试用例 压力测试 n一、压力测试(Stress Testing)的概念 概念之一【压力测试】是指模拟巨大的工作负荷以查 看应用程序在峰值使用情况下如何执行操作。对每个 单独的组件进行压力测试后,应对带有其所有组件和 支持服务的整个应用程序进行压力测试。在一(任意 )定条件下软件系统的性能的变化情况。通过改变应 用程序的输入以对应用程序施加越来越大的负载(并 发,循环操作,多用户)并测量在这些不同的输入时 性能的改变,也就是通常说的概念:压力测试考察当 前软硬件环境下系统所能承受的最大负荷并帮助找出 系统瓶颈所在。其实这种测试也可以称为负载测试 。 错误推测法基本思想 n列举出程序中所有可能有的错误和容易 发生错误的特殊情况来设

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

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

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