软件工程-第八章 软件测试_第1页
软件工程-第八章 软件测试_第2页
软件工程-第八章 软件测试_第3页
软件工程-第八章 软件测试_第4页
软件工程-第八章 软件测试_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程软件工程第第8章章 软件测试软件测试8.1 软件测试概论8.2 软件测试模型8.3 黑盒测试方法8.4 白盒测试方法8.5 灰盒测试方法8.6 测试过程与测试文档8.1 软件测试概论 为了发现程序中的错误而执行程序的过程称为测试。软件开发的前几个阶段是构建软件系统,而软件测试则尽力找出软件的失败和不足之处,表面上看设计是建设性的,测试是破坏性的。事实上这两个过程都是为了提高软件的质量。测试是保证软件质量的重要手段之一。8.1.1 测试的目的 软件测试是对软件计划、软件设计和软件编码进行差错和纠错的活动,测试的目的是找出软件开发整个周期中各个阶段的错误,分析错误的性质和位置而加以纠正。8

2、.1 软件测试概论8.1.2 测试的基本原则测试人员在进行程序测试时,应该遵循一些测试原则:测试前要认定被测试的软件有错,不要认为被测试的程序是正确的。尽量避免测试自己编写的程序。测试时要考虑合理的输入和不合理的输入数据。测试时应以软件需求规格说明书中的需求为标准。要确定找到的新错与已找到的旧错成正比。G.Myers认为“一个或多个模块中存在错误的概率与其中已经发现的错误个数成正比”,因此,应该对已经发现错误集中的模块进行重点测试,以找出相关的可能错误,提高测试效率。所有的测试用例,应该记录下来,以供后来的测试和维护使用。8.1 软件测试概论 1. V模型:最广为人知的模型,和瀑布开发模型有着

3、一些共同的特征,它从左到右,描述了基本开发过程和测试行为。8.2 软件测试模型 1. V模型优缺点: 优点:明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各个阶段的对应关系。 缺点:它把测试作为编码后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能被发现。8.2 软件测试模型 2. W模型:比V更科学,强调测试伴随着整个软件开发周期。8.2 软件测试模型 W模型局限性:把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代自发性以及变更调整。8.2 软件测试模型 3. X模型:对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编

4、码和测试,此后通过频繁地交接,通过集成最终合成可执行的程序。8.2 软件测试模型 4. H模型:软件测试过程活动完全独立,贯穿于整个产品周期,与其他流程并发地进行,当某个测试点准备就绪时,就可以从测试准备阶段进入测试执行阶段。8.2 软件测试模型 4. H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发执。8.2 软件测试模型 5. 前置测试模型8.2 软件测试模型 5. 前置测试模型特点: (1)、开发和测试相结合; (2)、对每一个交付内容进行测试; (3)、在设计阶段进行计划和测试设计; (4)、测试和开发结合在一起; (5)、让验收测试和技术测试保持相

5、互独立; (6)、反复交替的开发和测试; (7)、发现内在价值。8.2 软件测试模型 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。8.3 黑盒测试方法8.3.1 等价类划分法 等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。8.3 黑盒测试方法8.3.2

6、边界值分析法 长期的测试工作经验证明,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。8.3 黑盒测试方法8.3.3 错误推测法 错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。8.3 黑盒测试方法8.3.4 因果图法 因果图(也称逻辑模型)方法最终生成的判定表,它适合检查程序输入条件的各种组合情况。 步骤:1、分析软件规格说明描述; 2、分析软件规格说明描述; 3、为表明一些特殊情况,应在因果图上用一些记号标明约束条件或限制条件; 4、把因果图转换为判定表; 5、把判

7、定表的每一列拿出来作为依据,设计测试用例。8.3 黑盒测试方法 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。8.4 白盒测试方法8.4.1 逻辑覆盖 语句覆盖:设计若干测试用例,运行要测试的程序,使得每一个可执行的语句至少执行一遍。 判定覆盖:设计若干测试用例,运行被执行程序,使得程序中每判定的取真分支和取假分支至少被评价一次。 条件覆盖:选择足够的测试用例,使得运行这些测试用例后,要使每个判定中每个条件的可能取值至少满足一次。8.4 白盒测试方法8.4.1

8、逻辑覆盖 判定/条件覆盖:单独使用判定或条件覆盖,测试结果都不够全面,将二者结合,会起到补充的作用。 条件组合覆盖:应选择足够的测试用例,使得每个判定条件中的各种可能组合都至少出现一次。 路径覆盖:覆盖了程序中所有可能的路径。8.4 白盒测试方法8.4.2 基本路径测试 基本路径测试设计测试用例的方法是在给出程序控制流的基础上,分析控制结构的环路复杂性,导出基本的可执行路径,并把覆盖的路径压缩到一定限度内,保证程序中的循环体最多只执行一次。8.4 白盒测试方法8.4.3 条件测试 条件测试方法注重于测试程序中的条件,通过检测程序条件中的错误来发现程序中的其他错误。 条件测试的目的不仅是检测程序条件中的错误,而且是检测程序中的其他错误。8.4 白盒测试方法8.4.4 循环测试 循环测试专注于测试循环结构的有效性,根据循环的复杂性,可分为简单循环、嵌套循环和串接循环三种。8.4 白盒测试方法 灰盒测试,是介于白盒测试与黑盒

温馨提示

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

评论

0/150

提交评论