首页 软件开发流程实训教程 第7章 软件测试(可编辑)

软件开发流程实训教程 第7章 软件测试(可编辑)

举报
开通vip

软件开发流程实训教程 第7章 软件测试(可编辑)软件开发流程实训教程 第7章 软件测试(可编辑) 软件开发流程实训教程 第7章 软件测试 第7章 软件测试 【本章引言】 在软件开发流程中,软件测试阶段就是软件质量保证的关键步骤。在软件投入运行前,对软件需求分析、设计规格说明和编码等软件生命周期的各个阶段进行最终复审。 【教学目标】 了解软件测试流程和方法; 熟悉测试用例的概念和编写样式; 掌握测试报告设计方法和书写标准; 灵活运用黑盒测试、白盒测试的各种具体策略进行实例设计。 第七章 软件测试 7.1 软件测试概述 7.2 软件测试与软件开发流程的关系 7....

软件开发流程实训教程 第7章 软件测试(可编辑)
软件开发流程实训教程 第7章 软件测试(可编辑) 软件开发流程实训教程 第7章 软件测试 第7章 软件测试 【本章引言】 在软件开发流程中,软件测试阶段就是软件质量保证的关键步骤。在软件投入运行前,对软件需求 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、设计规格说明和编码等软件生命周期的各个阶段进行最终复审。 【教学目标】 了解软件测试流程和 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ; 熟悉测试用例的概念和编写样式; 掌握测试 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 设计方法和书写标准; 灵活运用黑盒测试、白盒测试的各种具体策略进行实例设计。 第七章 软件测试 7.1 软件测试概述 7.2 软件测试与软件开发流程的关系 7.3 软件测试方法划分 7.4 黑盒测试的相关方法 7.5 白盒测试的相关方法 7.6 软件测试流程的各个阶段 7.7 测试用例设计 7.1 软件测试概述 1.软件测试的定义 通常对软件测试的定义有如下描述: 软件测试是为了发现程序中的错误而执行程序的过程。具体说,它是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。 正确认识测试的目的是十分必要的,只有这样,才能设计出最能暴露错误的测试方案。此外,我们应该认识到:测试只能证明程序中错误的存在,但不能证明程序中没有错误。因为即使经过了最严格的测试之后,仍然可能还有没被发现的错误存在于程序中,所以说测试只能查出程序中的错误,但不能证明程序没有错误。 7.1 软件测试概述 2.软件测试的目标 软件测试工作是非常必要的,测试的目的就在于在软件投入运行之前,尽可能多地发现软件中的错误。软件测试是对软件规格说明、设计和编码的最后复审,是软件质量保证的关键步骤。 实现这个目的关键是如何合理地设计测试用例,在设计测试用例时,要着重考虑那些易于发现程序错误的方法策略与具体数据。 综上所述,软件测试的目的包括以下三点: (1)测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。 (2)检查系统是否满足需求,这也是测试的期望目标。 (3)一个好的测试用例在于发现还未曾发现的错误;成功的测试是发现了错误的测试。 7.2 软件测试与软件开发流程的关系 1.测试与软件开发各阶段的关系 软件开发过程是一个自顶向下,逐步细化的过程,首先在软件计划阶段定义了软件的作用域,然后进行软件需求分析,建立软件的数据域、功能和性能需求、约束和一些有效性 准则 租赁准则应用指南下载租赁准则应用指南下载租赁准则应用指南下载租赁准则应用指南下载租赁准则应用指南下载 。接着进入软件开发,首先是软件设计,然后再把设计用某种程序设计语言转换成程序代码。而测试过程则是依相反的顺序安排的自底向上,逐步集成的过程,低一级测试为上一级测试准备条件。此外还有两者平行地进行测试。 如图7-1,首先对每一个程序模块进行 单元测试 部编版二年级下册第二单元测试题部编版二年级下册第二单元测试卷部编版二年级下册第二单元测试部编版二年级下册语文第二单元测试卷人教版七年级下册英语单元测试卷 ,消除程序模块内部在逻辑上和功能上的错误和缺陷。再对照软件设计进行集成测试,检测和排除子系统(或系统)结构上的错误。随后再对照需求,进行确认测试。最后从系统全体出发,运行系统,看是否满足要求。 7.2 软件测试与软件开发流程的关系 2.试与开发的并行性 在软件 的需求得到确认并通过评审后,概要设计工作和测试计划制定设计工作就要并行进行。如果系统模块已经建立,对各个模块的详细设计、编码、单元测试等工作又可并行。待每个模块完成后,可以进行集成测试、系统测试。并行流程如图7-2所示。 3.测试与开发模型 软件测试不仅仅是执行测试,而是一个包含很多复杂活动的过程,并且这些过程应该贯穿于整个软件开发过程。在软件开发过程中,应该什么时候进行测试,如何更好地把软件开发和测试活动集成到一起,其实这也是软件测试工作人员必须考虑的问题,因为只有这样,才能提高软件测试工作的效率,提高软件产品的质量,最大限度地降低软件开发与测试的成本,减少重复劳动。如图7-3所示,即为软件测试与开发的完整流程。 7.2 软件测试与软件开发流程的关系 7.2 软件测试与软件开发流程的关系 7.2 软件测试与软件开发流程的关系 7.3 软件测试方法划分 软件产品种类繁多,测试过程千变万化,为了能够找到系统中绝大部分的软件缺陷,必须构建各种行之有效的测试方法与策略。 软件测试是一系列按照预先计划设计测试用例,运用测试用例进行测试的活动。现在有许多测试方法可以运用,根据测试方法编写相关的测试用例。这样测试方法就是测试用例的模板,也可以说是整个软件测试活动的模板。 7.3 软件测试方法划分 7.3 软件测试方法划分 (1)静态测试 静态方法的主要特征是在用计算机测试源程序时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。因此,静态方法常称为“分析”,静态分析是对被测程序进行特性分析的一些方法的总称。所谓静态分析,就是不需 要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。 (2)动态测试 动态方法是通过源程序运行时所体现出来的特征,来进行执行跟踪、时间分析以及测试覆盖等方面的测试。动态测试是真正运行被测程序,在执行过程中,通过输入有效的测试用例,对其输入与输出的对应关系进行分析,以达到检测的目的。 7.3 软件测试方法 划分 3.黑盒测试和白盒测试 (1)黑盒测试 黑盒测试(Black-Box Testing)又称为功能测试、数据驱动测试和基于规格说明的测试。是一种从用户观点出发的测试。 黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。黑盒测试作为软件功能的测试手段,是重要的测试方法。它主要根据规格说明设计测试用例,并不涉及程序内部结构和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。 黑盒测试有两个显著的特点: 黑盒测试不考虑软件的具体实现过程,在软件实现的过程发生变化时,测试用例仍然可以使用; 黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。 7.3 软件测试方法划分 软件测试仅局限于功能测试是不够的,因此不仅要进行黑盒测试,还需要花费很大的精力进行逻辑(结构)测试,即白盒测试。 (2)白盒测试 白盒测试(White-Box Testing)也称作结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测 产品内部动作是否按照规格说明书的规定正常进行。按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑覆盖、基本路径测试等,主要用于软件验证。 白盒测试的测试规划基于产品的内部结构来进行测试,检查内部操作是否按规定进行,软件的各个部分功能是否得到充分利用。白盒测试又称结构测试或基于程序的测试,即逻辑测试。白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。 7.3 软件测试方法划分 通常的程序结构覆盖有: 语句覆盖; 判断覆盖; 条件覆盖; 判断/条件覆盖; 条件组合覆盖; 路径覆盖。 语句覆盖是最常见也最弱的逻辑覆盖准则,它要求设计若干个测试用例,使被测程序的每个语句都至少被执行一次。判定覆盖或分支覆盖则要求设计若干个测试用例,使被测程序的每个判定的真、假分支都至少被执行一次。但判定含有多个条件时,可以要求设计若干个测试用例,使被测程序的每个条件的真、假分支都至少被执行一次,即条件覆盖。在考虑对程序路径进行全面检验时,即可使用条件覆盖准则。 7.3 软件测试方法划分 软件测试流程中的五个测试阶段 软件测试过程按各测试阶段的先后顺序可分为单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段,如图7-5所示。 (1) 单元测试:测试执行的开始阶段。测试对象是每个单元。测试目的是保证每个模块或组件能正常工作。单元测试主要采用白盒测试方法,检测程序的 内部结构。 (2) 集成测试:也称组装测试。在单元测试基础上,对已测试过的模块进行组装,进行集成测试。测试目的是检验与接口有关的模块之间的问题。集成测试主要采用黑盒测试方法。 7.3 软件测试方法划分 (3) 确认测试:也称有效性测试。在完成集成测试后,验证软件的功能和性能及其他特性是否符合用户要求。测试目的是保证系统能够按照用户预定的要求工作。确认测试通常采用黑盒测试方法。 (4) 系统测试:在完成确认测试后,为了检验它能否与实际环境(如软硬件平台、数据和人员等)协调工作,还需要进行系统测试。可以说,系统测试之后,软件产品基本满足开发要求。 (5) 验收测试:测试过程的最后一个阶段。验收测试主要突出用户的作用, 同时软件开发人员也应该参与进去。 7.3 软件测试方法划分 7.4 黑盒测试的相关方法 1.等价类划分法 等价类划分法是黑盒测试用例设计中一种常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。所谓等价类是指输入域的某个子集合,所有等价类的并集就是整个输入域。在等价类中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性。因此,测试某个等价类的代表值就是等价于对这一类中其他值的测试。也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其 他例子也不会查出错误。 7.4 黑盒测试的相关方法 软件不能只接收合理有效的数据,也要具有处理异常数据的功能,这样的测试才能确保软件具有更高的可靠性。 因此,在划分等价类的过程中,不但要考虑有效等价类划分,同时也要考虑无效等价类划分。 有效等价类是指对软件规格说明来说,合理、有意义的输入数据所构成的集合。利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。 无效等价类则和有效等价类相反,即不满足程序输入要求或者无效的输入数据所构成的集合。利用无效等价类可以检验程序异常情况的处理。 7.4 黑盒测试的相关方法 根据等价类表,按以下步骤进行测试活动: 为每一个等价类规定一个唯一的编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这个过程,直至所有的有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这个过程,直至所有的无效等价类均被测试用例所覆盖。 针对是否对无效数据进行测试,可以将等价类测试分为标准等价类测试和健壮等价类测试。 7.4 黑盒测试的相关方法 (1) 标准等价类测试 标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。通常,标准等价类测试用例的数量和最大等价类中元素的数目相等。 (2) 健壮等价类测试 健壮等价类测试主要的出发点是考虑了无效等价类。 对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个无效值,其他值均取有效值。 7.4 黑盒测试的相关方法 2.边界值分析法 边界值分析法是一种补充等 价类划分法的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。在测试过程中,可能会忽略边界值的条件,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 提出边界条件时,一定要测试临近边界的有效数据,测试最后一个可能有效的数据,同时测试刚超过边界的无效数据。 7.4 黑盒测试的相关方法 3.因果图法 一种适合于多种条件的组合,相应能产生多个动作的形式来进行测试用例的设计,这就需要采用因果图法。因果图法就是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。 在因果图中使用4种符号分别表示4种因果关系,如图7-6所示。用直线连接左右节点,其中左节点Ci表示输入状态(或称原因),右节点Ei表示输出状态(或称结果)。Ci和Ei都可取值0 或1,0表示某状
本文档为【软件开发流程实训教程 第7章 软件测试(可编辑)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:0
分类:互联网
上传时间:2018-08-12
浏览量:6