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

下载本文档

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

文档简介

1、ECJTU软软 件件 测测 试试 技技 术术bugs 第第2 2讲讲 黑盒测试技术黑盒测试技术 1 1软件工程 吕敬钦创新大楼 西楼403-2-ECJTU黑盒测试技术 仅需:被测对象的输入、预期输出 无需:程序的结构、实现逻辑、源代码撰写 测试需求-3-ECJTU黑盒测试技术 优势对测试人员的技术要求相对较低。只要对照SRS或用户手册来开展测试。不需要了解程序实现的细节,测试团队与开发团队可以并行完成各自的任务。SRS确定后,即可开始制定测试计划和测试设计,缩短产品开发时间。简单有效,可以整体测试系统行为。 局限性测试结果的覆盖率不容易度量,测试的潜在风险较高,需要通过白盒测试来评估其覆盖率。

2、-4-ECJTU黑盒测试技术适用阶段 当被测对象为函数时完成对函数功能的测试无需查看函数代码,只需了解函数接口和返回值。对应单元测试阶段。 当被测对象为功能时完成对整个软件系统功能和易用性等的测试无需看各功能点如何编程实现,只需要了解SRS中关于输入和输出的规定。对应系统测试,或有用户共同参与的验收测试阶段。-5-ECJTU黑盒测试技术常用测试方法 边界值测试、等价类测试、基于决策表的测试和基于正交表的测试主要从数据优选的角度展开测试,适用于单元测试阶段,用于对函数或类的方法进行测试 基于场景的测试从业务流程优选的角度展开测试,适用于系统测试阶段,用于对功能、界面等进行测试-6-ECJTU黑盒

3、测试技术评价测试方法的质量 测试用例对被测对象的覆盖率 测试用例的冗余 测试用例的数量 测试用例对缺陷的定位能力 测试用例设计的复杂度不的方法有不同的适用场合和阶段,可产生不同的测试效果。结合多种方法能保证整体的测试效果。同测试最怕漏洞。对被测对测试最怕漏洞。对被测对象的覆盖程度越高,遗漏象的覆盖程度越高,遗漏缺陷的风险就越低缺陷的风险就越低测试方法都是对某个关键问题或方面的测试方法都是对某个关键问题或方面的简化建模,得到的用例可能存在冗余。简化建模,得到的用例可能存在冗余。数量虽多,但缺陷的发现率无法提高。数量虽多,但缺陷的发现率无法提高。在无漏洞和无冗余的前提下,在无漏洞和无冗余的前提下,

4、某测试方法的用例数量越少,某测试方法的用例数量越少,对应的测试工作量越低对应的测试工作量越低用例都对应着某类数据或缺陷。用例都对应着某类数据或缺陷。好的测试方法能确保用例失败时,好的测试方法能确保用例失败时,可快速隔离和定位相应的缺陷。可快速隔离和定位相应的缺陷。复杂度越低,设计越简单,复杂度越低,设计越简单,对测试人员的经验要求就对测试人员的经验要求就低,工作量也低低,工作量也低-7-ECJTU黑盒测试技术 1 边界值测试 2 等价类测试 3 基于决策表的测试 4 基于正交表的测试 5 基于场景的测试-8-ECJTU边界值测试 人们从长期的测试工作中总结出一个实践经验:大量缺陷发生在被测对象

5、的输入域或输出域的边界(即极值)上。如果开发阶段导致缺陷,在边界处出现错误的可能性要远大于非边界处。 例如:循环条件可能在应该判断=时判断了n,将得到用例集(CX1,CY1), ,(CXn,CYn), (CXn+1,CY1),(CXm,Cym-n)测试用例集不唯一确定,对应的测试效果也不同。-54-ECJTU等价类测试弱组合方式 任意m,n m=3,n=2 2无法对整个有效输入域进行覆盖,无法对整个有效输入域进行覆盖,并非真正意义上的完备测试。一并非真正意义上的完备测试。一般情况,采用强组合方式般情况,采用强组合方式-55-ECJTU等价类测试针对无效等价类的测试用例设计 单缺陷假设:一个测试

6、用例仅覆盖一个输入条件的某一个无效等价类。每个测试用例不能同时覆盖多个无效等价类。实际上,可以将每个无效等价类看作一种可能的缺陷,应针对每类可能的缺陷单独进行测试。-56-ECJTU等价类测试无效等价类的测试用例 任意m,n m=3,n=2 2假设假设 x,y 分别有两个无效等价类分别有两个无效等价类CXm+1,CXm+2和和CYn+1和和CYn+2,则将得到则将得到2(m+n)个个测试用例。测试用例。-57-ECJTU等价类测试捉虫实践3:NextDate的等价类测试 针对个体输入域每个输入条件的等价类划分 c2_3.png-58-ECJTU等价类测试 针对无效等价类,可得到测试用例 c2_

7、4.png 较好地考察了系统的容错能力(健壮性)。-59-ECJTU等价类测试 针对有效等价类,可得到测试用例 250年的范围内只有 1个测试用例 具有典型性,代表普通日期(非月末),占全年日期的 96.7%。ID输入数据操作步骤预期输出ND-EP-0071925-6-15略1925-6-16等价类年份月份日期有效Y1:1800年份2050Y1:1月份12D1:1日期31-60-ECJTU等价类测试 占全年日期的 96.7%。有漏洞,没达到前面所说的完备性。然而,测试最怕漏洞,未覆盖的3.3%对应着最复杂的日期,存在缺陷的风险极高。 回顾一下回顾一下:输入域的确定:个体输入域基于“独立性假设”

8、,将整体输入域拆分成由各个输入条件分别构成的个体输入域进行等价划分。 然而,日期的三个输入条件之间并不独立,有关联性。NextDate对多种月末的处理方式不同于一般日期,等价类划分不合理,需要改进划分方法。-61-ECJTU等价类测试 等价类的划分通常需要结合领域知识,即充分利用被测系统的业务特性来划分。 特殊日期主要在于月末日期,而不同月份的月末日期也有不相同。因此得到新的日期划分:-62-ECJTU等价类测试 可以得到30个(2x3x5)测试用例。 c2_p57_2.png c2_p57_3.png-63-ECJTU等价类测试测试分析 完备性方面:覆盖了 3类情况,普通日期,31号,30号

9、,和2月末。年末日期未覆盖到。 经济性方面:30个用例,可以接受。 冗余性方面:多个日期对应普通日期等冗余情况严重在M1中,选取了7月作为典型值设计用例,如果取12月,就可以覆盖年末日期,避免漏洞了。但是,当等价类划分合理时,等价类中取任何值都不会影响覆盖程度。其实类别划分不够合理,应增加一个等价类来覆盖年末日期:月份M4:12。输入间有关联性,个体输入域方法输入间有关联性,个体输入域方法将导致测试冗余。如何消除冗余呢?将导致测试冗余。如何消除冗余呢?在在基于决策表的测试基于决策表的测试中可以解决。中可以解决。-64-ECJTU等价类测试 针对整体输入域的测试 等价类划分的简便方法 (1)将某

10、个输入条件所有可能的取值划分为一个有效等价类,其余取值划分为一个无效等价类 (2)针对有效等价类,通过不断施加规则,将满足规则和不满足规则的数据划分为不同的有效等价类 (3)重复该步骤,将有效等价类中不断划分为更多的子等价类,直至无法继续划分为止。最终得到的每个有效等价类代表了被测对象的一种特定的处理方式-65-ECJTU等价类测试 针对整体输入域的测试 等价划分从最小值和最大值开始1800.1.1-2050.12.31 然后继续划分有效等价类:c2_p59.png-66-ECJTU等价类测试 最后将整体有效输入划分为6个有效等价类,对应6个测试用例。合理有效地进行了等价划分。合理有效地进行了

11、等价划分。无冗余、具有完备性无冗余、具有完备性。用例数。用例数量少,有效。量少,有效。-67-ECJTU等价类测试测试分析 无论是基于个体域还是整体域,都必须严格保证等价类所有项的等价特性,否则,都将造成测试漏洞。方法的关键在于选择等价关系,进行合理的划分。 直接基于整体输入域划分,不会产生冗余,但要求测试人员对被测对像充分了解,且能对对象进行合理的等价划分。如本例中有合理的规则,和合理的规则应用的秩序。-68-ECJTU等价类测试捉虫实践4:佣金问题的等价类测试 针对输出域的等价类测试关注的是某一个输出,一般不需要考虑等价类的组合,且关注的重点是有效输出。因此,测试用例应集中于有效等价类。输

12、出域的无效等价类,实质上对应到无效输入域,一般可不必考虑。-69-ECJTU等价类测试 销售员的佣金计算方法如下:2万元以下(含):4%;2万元(不含)4.5万元(含):1%;4.5万元以上(不含):0.5%。选择销售额来划分,已知有4个边界点-70-ECJTU等价类测试 有效等价类 c2_p61_1.png 测试用例 c2_p61_2.png-71-ECJTU等价类测试 要点回顾 原理:通过等价划分的方式等价划分的方式来将数据分片,从中抽取典型数据展开测试,以满足测试的完备性和无冗余性。 (b)月份,销售额,处理方式相同处理方式相同-72-ECJTU等价类测试用例设计 选择被测对象 有效等价

13、类和无效等价类 等价类的划分 针对有效等价类的测试用例设计 针对无效等价类的测试用例设计-73-ECJTU等价类测试 个体输入域(独立性假设) :有效等价类(强组合方式,弱组合方式)无效等价类(单缺陷假设) 整体输入域 输出域(与输入域不相似)-74-ECJTU等价类测试捉虫实践3:NextDate的等价类测试 个体输入域的等价类划分 处理方式相同 或者具有等价意义-75-ECJTU等价类测试弱组合方式 任意m,n m=3,n=2 2无法对整个有效输入域进行覆盖,无法对整个有效输入域进行覆盖,并非真正意义上的完备测试。一并非真正意义上的完备测试。一般情况,采用强组合方式般情况,采用强组合方式-

14、76-ECJTU等价类测试个体输入域 强组合方式 任意m,n m=3,n=2能达到对有效输入域的覆盖,能达到对有效输入域的覆盖,满足有效域的完备性满足有效域的完备性-77-ECJTU等价类测试无效等价类的测试用例 任意m,n m=3,n=2 2单缺陷假设:单缺陷假设:一个测试用例仅覆盖一个一个测试用例仅覆盖一个输入条件的某一个输入条件的某一个无效等价类无效等价类。每个测。每个测试用例不能同时覆盖多个无效等价类。试用例不能同时覆盖多个无效等价类。得到得到2(m+n)个个测试用例。测试用例。-78-ECJTU等价类测试 针对整体输入域的测试 等价划分从最小值和最大值开始1800.1.1-2050.

15、12.31 然后多次有序划分有效等价类:处理方式相同处理方式相同 c2_p59.png-79-ECJTU等价类测试 小结 目标是从理论上追求测试的完备性和无冗余性 基于:独立性假设(个体域)和单缺陷假设(无效) 当等价划分不合理(即存在漏洞时),将导致测试用例的漏洞;如漏掉年末日期。 当输入条件之间存在关联时,若基于个体输入域进行测试,将导致测试用例的冗余。-80-ECJTU等价类测试测试实践:三角形问题 三角形软件接受三个整数a、b和c作为输入,用作三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。 整数a、b和c必须满足以下条件: C1.

16、1 a 200 C4. a b+c C2. 1 b 200 C5. b c+a C3. 1 c 200 C6. c -84-ECJTU等价类测试分析输出结果间的关系,提出规则进行划分 是否是三角形 否 VEC1是否是等腰三角形 否 EC1是否是等边三角形 否 EC2是 EC3是否满足C1-3, 否 VEC2-85-ECJTU等价类测试 得到VEC1 = :a、b和c不构成三角形VEC2 = :a、b和c不完全满足C123EC1 = :a、b和c构成不等腰三角形EC2 = :a、b和c构成等腰三角形EC3 = :a、b和c构成等边三角形 还没有具体的条件来设计用例的输入值?需要用输入条件来表示等价类。-86-ECJTU等价类测试 EC1 D1 = :ab, ac, bc,且满足C1-6EC2 D

温馨提示

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

评论

0/150

提交评论