黑盒测试方法_第1页
黑盒测试方法_第2页
黑盒测试方法_第3页
黑盒测试方法_第4页
黑盒测试方法_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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) )的程序的测试。思考方向: 由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,

6、-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、 0 和 -2.345。等价类划分法(续)n等价类划分是将程序的输入域(较多见)或输出域(较少见)的不同区间划分为不同的数据类,以便导出测试用例n每个等价类所揭示的程序错误都是等价的n要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数 n测试某等价类的代表值就是等效于对于这一类其它值的测试。n例如:程序在输入小于4的数得到结果5,那么使用2还是3或者都是一样的等价类分类n有效等价类 n对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合n利用它可以检验程序是否实现了预期的功能和性能n无效等价类 n

7、对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 n利用它可以检验程序对于无效数据的处理能力确立等价类的原则 n如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如:n数据范围是150 n有效等价类为“=1&=50” n两个无效等价类为“50” 确立等价类的原则n如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类 n如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类确立等价类的原则n如果规定了输入数据必须遵守的规则,

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

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

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

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

12、界,可分别对边界和略处于边界内取值,例如:n数据范围是1x50正整数n边界值取为:1、50、2、49确立边界值的原则n如果输入或输出域是个有序的集合(如顺序文件、表格等),应注意选取有序集的第一个和最后一个元素以及集合外但靠近集合的元素作为边界 ,例如:n输入文件名介于file0101file0120之间n边界值取为file0100,file0101,file0120,file0121边界值分析主题思想n采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。 因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(m

13、ax-)和最大值(max)来设计测试用例。n因此,在边界值分析法中获取测试用例的方法是: (1) 每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-和max。 (2) 对程序中的每个变量重复 (1) 。交互测试(场景法)n交合测试的理论基础 因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论