软件项目综合测试与验收_第1页
软件项目综合测试与验收_第2页
软件项目综合测试与验收_第3页
软件项目综合测试与验收_第4页
软件项目综合测试与验收_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

单元5软件项目的综合测试与验收【知识疏理】5.1软件测试的概述5.1.1软件测试的概念在IEEE所提出的软件工程标准术语中,软件测试的定义为“使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别”。软件测试的主要工作是验证(verification)和确认(validation)。【知识疏理】5.1软件测试的概述5.1.2软件测试的地位和作用软件测试在整个软件开发生命周期中占据着重要的地位,软件工程采用的生命周期方法把软件开发划分成多个阶段,把整个开发工作明确地划成若干个开发步骤,可以把复杂的问题按阶段分别加以解决,为中间产品提供了检验的依据,各阶段完成的软件文档成为检验软件质量的主要依据。软件测试应该从生命周期的第一个阶段开始,并贯穿于整个软件开发生命周期的每个阶段,而且越早测试越好,早期检测和纠错是系统开发中最有效的方法。【知识疏理】5.1软件测试的概述5.1.3软件测试的目的软件测试的目的是为了保证软件产品的最终质量,在软件开发过程中,对软件产品进行质量控制。测试可以完成许多事情,但最重要的是可以衡量正在开发软件的质量。【知识疏理】5.1软件测试的概述5.1.4软件测试的原则为了进行有效的测试,测试人员理解和遵循以下基本原则。(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭(2)程序员应避免检查自己的程序(3)测试用例应由测试输入数据和与之对应的预期输出结果两部分组成(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件【知识疏理】5.1软件测试的概述5.1.4软件测试的原则(5)充分注意软件测试时的群集现象(6)严格执行测试计划,排除测试的随意性(7)应当对每一个测试结果做全面检查(8)妥善保存测试过程中产生的各种数据和文档(9)注意回归测试的关联性。【知识疏理】5.1软件测试的概述5.1.5软件测试的分类软件测试有多种分类方式,例如按测试阶段分类、按是否需要运行被测试软件分类、按是否需要查看代码分类,按测试执行时是否需要人工干预分类、按测试目的分类等,表5-1描述了软件测试的各种分类。【知识疏理】5.1软件测试的概述5.1.6软件测试的流程软件测试流程是指从软件测试开始到软件测试结束所经过的一系列准备、执行、分析的过程,一般可划分为制定测试计划、设计测试用例和测试过程、实施软件测试、评估软件测试等几个主要阶段。【知识疏理】5.1软件测试的概述5.1.6软件测试的流程1.制定测试计划制定测试计划的主要目的是识别任务、分析风险、规划资源和确定进度。测试计划一般包括以下几个方面:(1)软件测试背景(2)软件测试依据(3)测试范围的界定(4)测试风险的确定(5)测试资源的确定(6)测试策略的确定(7)制定测试进度表。【知识疏理】5.1.6软件测试的流程2.设计测试用例和测试过程测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合,这些特定目标可以是验证一个特定的程序路径,或核实是否符合特定需求。设计测试用例就是设计针对特定功能或组合功能的测试方案,并编写成文档。设计测试过程就是确定测试的基本执行过程,为测试的每个阶段的工作建立一个基本框架。【知识疏理】5.1软件测试的概述5.1.6软件测试的流程3.实施软件测试实施测试包括测试准备、建立测试环境、获取测试数据、执行测试等方面。(1)测试准备和建立测试环境(2)获取测试数据(3)执行测试。【知识疏理】5.1软件测试的概述5.1.6软件测试的流程4.评估与总结软件测试软件测试的主要评估方法包括缺陷评估、测试覆盖和质量评测。质量评测是对测试对象的可靠性、稳定性以及性能的评测,它建立在对测试结果的评估和对测试过程中确定的变更请求分析的基础上。【知识疏理】5.1软件测试的概述5.1.7软件测试人员的类型和要求1.软件测试人员的类型软件测试过程中,必须要合理地组织人员,一般将软件测试人员分成三部分:一部分为上机测试人员(测试执行者),一部分为测试结果检查核对人员,还有一部分是测试数据制作人员,这三部分人员应该紧密配合、相互协调,保证软件测试工作的顺利进行。【知识疏理】5.1软件测试的概述5.1.7软件测试人员的类型和要求2.软件测试人员的要求软件测试已经成为了一个独立的技术学科,软件测试技术不断更新和完善,新工具、新流程、新测试方法都在不断涌现,如果没有合格的测试人员,测试工作是不可能高质高效地完成。【知识疏理】5.2测试用例设计测试用例(TestCase,简称为TC)贯穿于整个测试的执行过程,一个好的测试用例会使测试工作的效果事半功倍,并且能尽早发现一些隐藏的缺陷。【知识疏理】5.2测试用例设计5.2.1测试用例的基本概念测试用例是为某个特定目的而设计的一组测试输入、执行条件以及预期结果。测试用例=输入+输出+测试环境其中,输入是指测试数据和操作步骤;输出是指系统的预期执行结果;测试环境是指系统环境配置,包括硬件环境、软件环境和数据,有时还包括网络环境。【知识疏理】5.2测试用例设计5.5.2测试用例的主要作用测试用例始终贯穿于整个软件测试全过程,其作用主要体现在以下几个方面。(1)指导测试的实施(2)指导测试数据的规划(3)指导测试脚本的编写(4)作为评判的基准(5)作为分析缺陷的基准。【知识疏理】5.2测试用例设计5.5.3测试用例设计的基本原则设计测试用例时应遵循以下一些基本原则。(1)测试用例的正确性(2)测试用例的代表性(3)测试结果的可判定性(4)测试结果的可再现性。【知识疏理】5.2测试用例设计5.2.4测试用例的编写标准一个优秀的测试用例应该包含以下要素。(1)测试用例的编号(2)测试标题(3)测试项(4)测试环境要求(5)测试的步骤【知识疏理】5.2测试用例设计5.2.4测试用例的编写标准(6)测试的预期结果(7)测试用例之间的关联(8)测试日期(9)测试用例设计人员和测试人员(10)测试用例的优先级。【知识疏理】5.3黑盒测试5.3.1黑盒测试的基本概念黑盒测试又称为数据驱动测试或基于规范的测试。这种方法进行测试时,可以将程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,注重于测试软件的功能性要求,测试者在程序接口处进行测试,只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,并且保持数据库或文件的完整性。因此黑盒测试是从用户角度的测试,确认测试、系统测试、验收测试一般都采用黑盒测试。【知识疏理】5.3黑盒测试5.3.1黑盒测试的基本概念1.黑盒测试可以发现的错误类型黑盒测试有两种结果,即通过测试和测试失败。能发现以下几类错误:(1)功能不能实现或遗漏。(2)界面错误。(3)数据结构或外部数据库访问错误。(4)性能错误。(5)初始化和终止错误。【知识疏理】5.3.1黑盒测试的基本概念2.黑盒测试对程序功能性测试的要求(1)每个软件特性必须被一个测试用例或一个被认可的异常所覆盖。(2)利用数据类型和数据值的最小集测试。(3)利用一系列真实的数据类型和数据值运行,测试超负荷及其他“最坏情况”的结果。(4)利用假想的数据类型和数据值运行,测试排斥不规则输入的能力。(5)测试影响性能的关键模块,例如基本算法、精度、时间和容量等是否正常。【知识疏理】5.3黑盒测试5.3.1黑盒测试的基本概念3.黑盒测试的优缺点黑盒测试具有如下优点:(1)有针对性地寻找问题,并且定位问题更准确。(2)黑盒测试可以证明软件系统是否达到用户要求的功能,符合用户的工作要求。(3)能重复执行相同的功用,测试工作中最枯燥的部分可交由机器完成。【知识疏理】5.3黑盒测试5.3.1黑盒测试的基本概念3.黑盒测试的优缺点黑盒测试具有如下缺点:(1)需要充分了解软件系统用到的技术,测试人员需要具有较多经验。(2)在测试过程中很多是手工测试操作。(3)测试人员要负责大量文档、报表的编制和整理工作。【知识疏理】5.3黑盒测试5.3.1黑盒测试的基本概念4.采用黑盒技术设计测试用例的主要方法采用黑盒技术设计测试用例的主要方法有以下几种。(1)等价类划分法。(2)边界值分析法。(3)决策表法。(4)因果图法。(5)功能图分析法。(6)场景设计法。(7)错误推断法。(8)正交试验法。【知识疏理】5.3.2等价类划分法等价类划分是一种典型的、常用的黑盒测试方法。1.等价类的划分等价类可划分为有效等价类和无效等价类两种不同的情况。(1)有效等价类有效等价类是指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。(2)无效等价类无效等价类是指对于程序规格说明来说,是不合理的、无意义的输入数据构成的集合。【知识疏理】5.3黑盒测试5.3.2等价类划分法2.划分等价类的方法(1)按区间划分如果可能的输入数据属于一个取值范围或值的个数限制范围,则可以确定1个有效等价类和2个无效等价类。(2)按数值划分如果规格说明规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。则可为每一个输入值确立一个有效等价类,并针对这组值确立一个无效等价类,这是所有不允许的输入的集合。【知识疏理】5.3黑盒测试5.3.2等价类划分法2.划分等价类的方法(3)按数值集合划分如果规格说明规定了输入值的集合,则可确定1个有效等价类和1个无效等价类。(4)按限制条件划分在输入条件是一个布尔量的情况下,可确定一个有效等价类(符合限制条件)和一个无效等价类(不符合限制条件)。【知识疏理】5.3黑盒测试5.3.2等价类划分法2.划分等价类的方法(5)按限制规则划分在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。(6)按处理方式划分在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步划分为更小的等价类。【知识疏理】5.3.2等价类划分法3.等价类划分测试用例设计根据等价类表设计测试用例的方法如下。(1)划分等价类,形成等价类表,为每个等价类规定一个唯一的编号。(2)设计一个新的测试用例,使它尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有有效等价类。(3)设计一个新的测试用例,使它仅覆盖一个还没有被覆盖的无效等价类,重复这一步,直到测试用例覆盖了所有的无效等价类。【知识疏理】5.3.3边界值分析法边界值分析法是对输入或输出的边界值进行测试的一种黑盒测试方法。在测试过程中,边界值分析法通过选择等价类边界的测试用例进行测试。使用边界值分析方法设计测试用例,首先应确定边界情况,通常输入等价类和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。【知识疏理】5.3.3边界值分析法边界值分析方法选择测试用例的原则如下所示。(1)如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1个,比最小个数少1个的数作为测试数据。(3)根据规格说明的每1个输出条件,使用前面两条规则。(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第1个和最后1个元素作为测试用例。(5)如果程序使用了1个内部结构,应该选取这个内部数据结构的边界值作为测试用例。(6)分析规格说明,找出其他可能的边界条件。【知识疏理】5.3.4决策表法决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。决策表通常由条件桩、条件项、动作桩和动作项4个部分组成。构造决策表的主要步骤如下所示。(1)列出所有的条件桩和动作桩。(2)分析输入域,对输入域进行等价类划分。(3)分析输出域,对输出进行细化,以指导具体的输出动作。(4)确定规则的个数,假如有n个条件,每一个条件有两个取值,则有2n种规则。(5)填写条件项和动作项,得到初始决策表。(6)合并相似规则,简化决策表,得到最终决策表。【知识疏理】5.4白盒测试5.4.1白盒测试的基本概念白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。【知识疏理】5.4白盒测试5.4.1白盒测试的基本概念“白盒”法是穷举路径测试,在使用这一方法时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。白盒测试通常可分为静态测试和动态测试两类方法。白盒测试的测试方法有代码检查法、静态结构分析法、逻辑覆盖法、基本路径测试法、域测试法、符号测试法、数据流测试法、Z路径覆盖法和程序变异法等。【知识疏理】5.4白盒测试5.4.2代码检查法代码检查是静态测试的主要方法,它包括代码走查、桌面检查、流程图审查等。1.代码检查的概念代码检查主要检查代码和设计意图的一致性、代码结构的合理性、代码编写的标准性和可读性、代码逻辑表达的正确性等方面。【知识疏理】5.4.2代码检查法2.代码检查的目的代码检查是为达到以下目的:(1)检查程序是不是按照某种编码标准或规范编写的。(2)检查代码是不是符合流程图要求。(3)发现程序缺陷和程序产生的错误。(4)检查有没有遗漏的项目。(5)检查代码是否易于移植。(6)使代码易于阅读、理解和维护。【知识疏理】5.4白盒测试5.4.2代码检查法3.代码检查的方式代码检查的方式主要有以下3种。(1)桌面检查(2)走查(3)代码审查4.代码检查项目及原则代码检查的主要项目及原则如表5-5所示。【知识疏理】5.4白盒测试5.4.2代码检查法5.使用缺陷检查表列出典型错误在进行人工代码检查时,可以制作代码走查缺陷表。在缺陷检查表中,我们列出工作中遇到的典型错误,如表5-6所示。【知识疏理】5.4白盒测试5.4.2代码检查法6.静态结构分析静态结构分析是测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图等各种图形和图表,清晰地标识整个软件的组成结构,通过分析这些图表(包括控制流分析、数据流分析、接口分析、表达式分析),检查软件是否存在缺陷或错误。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法从覆盖源代码的不同程度可以分为以下6个标准:语句覆盖(StatementCoverage,SC)、判定覆盖(DecisionCoverage,DC,又称为分支覆盖)、条件覆盖(ConditionCoverage,CC)、判定/条件覆盖(Decision/ConditionCoverage,D/CC,又称为分支/条件覆盖)、条件组合覆盖(ConditionCombinationCoverage,CCC)和路径覆盖(PathCoverage,PC)。【知识疏理】5.4.3逻辑覆盖法首先对表5-7所示的方法logicExample()的代码进行分析。【知识疏理】5.4.3逻辑覆盖法根据源代码画出流程图。方法logicExample()的流程图如图5-1所示。图5-1方法logicExample()的流程图【知识疏理】5.4白盒测试5.4.3逻辑覆盖法1.语句覆盖(1)基本概念设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。在本例中,可执行语句是指语句块1、语句块2、语句块3、语句块4中的语句。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法1.语句覆盖(2)设计测试用例语句覆盖的测试用例如表5-8所示。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法1.语句覆盖(2)设计测试用例{x=3,y=3}可以执行到语句块1和语句块4,所走的路径:a-b-e-f。{x=-3,y=0}可以执行到语句块2、语句块3和语句块4,所走的路径:a-c-d-f。在六种逻辑覆盖标准中,语句覆盖标准是最弱的。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法2.判定覆盖(分支覆盖)(1)基本概念设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。在本例中共有两个判断if(x>0&&y>0)(记为P1)和if(magic<0)(记为P2)。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法2.判定覆盖(分支覆盖)(2)设计测试用例判定覆盖的测试用例如表5-9所示。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法2.判定覆盖(分支覆盖)(2)设计测试用例判断条件的取真和取假分支都已经被执行过,所以满足了判定覆盖的标准。判定覆盖比语句覆盖更强。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法3.条件覆盖(1)基本概念设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。在本例中有两个判断if(x>0&&y>0)(记为P1)和if(magic<0)(记为P2),共计三个条件x>0(记为C1)、y>0(记为C2)和magic<0(记为C3)。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法3.条件覆盖(2)设计测试用例条件覆盖的测试用例如表5-10所示。【知识疏理】5.4.3逻辑覆盖法3.条件覆盖(2)设计测试用例三个条件的各种可能取值都满足了一次,因此,达到了100%条件覆盖的标准。条件覆盖的第2组测试用例如表5-11所示。【知识疏理】5.4.3逻辑覆盖法3.条件覆盖(2)设计测试用例既然条件覆盖标准不能100%达到判定覆盖的标准,也就不一定能够达到100%的语句覆盖标准了。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法4.判定/条件覆盖(分支/条件覆盖)(1)基本概念设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。【知识疏理】5.4.3逻辑覆盖法4.判定/条件覆盖(分支/条件覆盖)(2)设计测试用例判定/条件覆盖的测试用例如表5-12所示。所有条件的可能取值都满足了一次,而且所有的判断本身的判定结果也都满足了一次。达到100%判定-条件覆盖标准一定能够达到100%条件覆盖、100%判定覆盖和100%语句覆盖。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法5.条件组合覆盖(1)基本概念设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。(2)设计测试用例条件组合覆盖的测试用例如表5-13所示。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法5.条件组合覆盖C1和C2处于同一判断语句中,它们的所有取值的组合都被满足了一次。100%满足条件组合标准一定满足100%条件覆盖标准和100%判定覆盖标准。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法6.路径覆盖(1)基本概念设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。(2)设计测试用例路径覆盖的测试用例如表5-14所示。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法6.路径覆盖所有可能的路径都满足过一次。由上表可见,100%满足路径覆盖,但并不一定能100%满足条件覆盖(C2只取到了真),但一定能100%满足判定覆盖标准。【知识疏理】5.4白盒测试5.4.3逻辑覆盖法7.六种逻辑覆盖的强弱关系一般都认为这6种逻辑覆盖从弱到强的排列顺序是:语句覆盖->判定覆盖->条件覆盖->判定/条件覆盖->条件组合覆盖->路径覆盖。【知识疏理】5.4白盒测试5.4.4基本路径测试法1.基本概念基本路径测试法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。【知识疏理】5.4白盒测试5.4.4基本路径测试法1.基本概念基本路径测试法包括以下4个步骤和1个工具方法。(1)绘制程序控制流图,程序控制流图是描述程序控制流的一种图示方法。(2)计算程序的环路复杂度,即McCabe复杂性度量。(3)确定独立路径。

(4)设计测试用例。【知识疏理】5.4白盒测试5.4.4基本路径测试法2.基本路径测试法的实现步骤例如,对于表5-15所示的方法NumCalc(),用基本路径测试法进行测试。【知识疏理】5.4白盒测试5.4.4基本路径测试法例如,对于表5-15所示的方法NumCalc(),用基本路径测试法进行测试。2.基本路径测试法的实现步骤【知识疏理】5.4白盒测试5.4.4基本路径测试法2.基本路径测试法的实现步骤第一步:绘制程序流程图控制流图方法NumCalc()的程序流程图和对应的控制流图如图5-6所示。第二步:计算环路复杂度环路复杂度(也称为圈复杂度)是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序基本的独立路径数目,这是确保所有语句至少执行一次的测试数量的上界。【知识疏理】5.4白盒测试5.4.4基本路径测试法下面,以图5-7为例讨论环路复杂度的计算方法。有以下三种方法计算环路复杂度:(1)观察法控制流图中区域的数量对应于环型的复杂性,环路复杂度=总的区域数=控制流图中封闭区域数量+1个开放区域。图5-7中有3个封闭区域,分别为Ⅰ、Ⅱ、Ⅲ,Ⅳ为开放区域,因此环路复杂度为4。【知识疏理】5.4白盒测试5.4.4基本路径测试法下面,以图5-7为例讨论环路复杂度的计算方法。有以下三种方法计算环路复杂度:(2)公式法控制流图G的环路复杂度V(G)的计算公式为:V(G)=e-n+2其中,e表示控制流图中边的数量,n表示控制流图中结点的数量。图5-7中有10条边、8个结点,所以环路复杂度V(G)=10-8+2=4。【知识疏理】5.4.4基本路径测试法(3)判定结点法利用程序代码中独立判定结点的数量来计算环路复杂度。控制流图G的环路复杂度V(G)的计算公式为:V(G)=P+1其中P表示控制流图G中判定结点的数量。图5-7中有3个判定结点,分别为④、⑥、⑧,所以环路复杂度V(G)=3+1=4。环路复杂度“4”是构成基本路径集的独立路径数的上界,可以据此得到应该设计的测试用例的数目。【知识疏理】5.4.4基本路径测试法第三步:确定独立路径根据上面的计算方法,可得出4个独立路径,所谓独立路径,是指和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G的)值正好等于该程序的独立路径的条数。【知识疏理】5.4.4基本路径测试法第三步:确定独立路径图5-7中的4条独立路径如下所示。路径1:4→14路径2:4→6→7→14路径3:4→6→8→10→13→4→14路径4:4→6→8→11→13→4→14根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。【知识疏理】5.4.4基本路径测试法第四步:设计测试用例为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例如表5-16所示。【知识疏理】5.4.4基本路径测试法第四步:设计测试用例每个测试用例执行之后,与预期结果进行比较,如果所有测试用例都执行完毕,则可以确信程序中所有的可执行语句至少被执行了一次。【知识疏理】5.4白盒测试5.4.4基本路径测试法3.基本路径测试法的图形矩阵工具为了使导出控制流图和决定基本测试路径的过程均自动化实现,可以开发一个辅助基本路径测试的方法工具,称为图形矩阵(graphmatrix)。利用图形矩阵可以实现自动地确定一个基本路径集。一个图形矩阵是一个方阵,其行/列数对应程序控制流图中的结点数,每行和每列依次对应到一个被标识的结点,矩阵元素对应到结点间的连接(即边)。【知识疏理】5.4白盒测试5.4.4基本路径测试法5.4.5循环语句测试循环语句测试是一种白盒测试技术,它总是与边界值测试密切相关。可以把循环语句分为以下4种:简单循环、串接循环、嵌套循环和不规则循环,如图5-9所示。图5-9常见循环类型【方法指导】5.5集成测试1.集成测试的基本概念集成测试又称为组装测试或联合测试,是介于单元测试和系统测试之间,将所有经过单元测试的软件构成单位按照设计要求组装成子系统或系统,然后进行测试的活动。【方法指导】5.5集成测试2.集成测试的主要关注内容集成测试关注的是软件单元间的接口,接口之间的数据传递关系以及单元组合后是否实现预计的功能,具体包括以下几个方面。(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。(2)一个模块的功能是否会对另一个模块的功能产生不利的影响。【方法指导】5.5集成测试2.集成测试的主要关注内容(3)各个子功能组合起来,能否达到预期要求的父功能。(4)全局数据结构是否存在问题。(5)单个模块的误差累积起来,是否会放大,以至于达到不能接受的程度。【方法指导】5.5集成测试3.系统集成的主要策略集成策略是在对测试对象分析的基础上,描述软件单元集成(组装)的方式和方法。集成策略是集成测试过程中各种活动的基础,其后的各项活动都是以集成策略为依据。集成策略有多种,本单元主要介绍基于功能分解的集成和基于MM路径的集成两种策略。【方法指导】5.5集成测试4.集成测试的主要过程集成测试的主要依据是《软件需求规格说明书》、《软件设计说明书》和源代码等。集成测试过程是一系列相互关联的受控活动组成,主要包括集成测试计划、集成测试设计、集成测试实现、集成测试执行和集成测试执行5个阶段,当然也包含集成回归测试活动。【方法指导】5.5集成测试5.集成测试执行和报告在集成测试执行阶段,集成测试人员将搭建测试环境,运行测试用例,查看实际运行结果并判断该结果是否与预期结果相吻合,以确定被测对象中是否存在缺陷。【方法指导】5.6系统测试1.系统测试的基本概念系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、某些支持软件、数据库和人员等其他系统元素结合在一起,在实际运用或使用环境中,对计算机系统进行一系列的组装测试和确认测试。【方法指导】5.6系统测试2.系统测试的承担人员开发人员在系统测试阶段的主要职责是参与系统测试计划和方案的评审、跟踪解决测试人员发现的缺陷、评审系统测试报告。测试人员在系统测试阶段的主要职责包括制定系统测试计划和方案并组织评审、按照系统测试方案实现测试用例和测试代码、选用所需的测试工具、编写测试规程、执行系统测试用例、提交并跟踪缺陷、完成系统测试报告并组织评审、输出测试案例和总结等文档。另外系统测试过程中还可能涉及到系统分析人员、配置管理人员和质量保证人员等。【方法指导】5.6系统测试3.系统测试的主要过程系统测试过程通常包括系统测试计划、系统测试设计、系统测试实现、系统预测试、系统测试执行、回归测试和系统测试报告等活动。在系统执行期间可包含多轮回归测试。4.系统测试的入口准则和出口准则系统测试的入口准则是可以开始进行系统测试的前提条件,通常描述为当某些活动完成并达到指定的质量标准。【方法指导】5.6系统测试3.系统测试的主要过程常用的入口准则包括:(1)集成测试结束报告已提交并通过批准。(2)集成测试后的代码完成基线。(3)系统预测试项全部通过。(4)系统测试计划和用例开发完成并通过评审。④系统测试报告提交,通过评审并获得批准。【方法指导】5.6系统测试3.系统测试的主要过程系统测试的出口准则是指系统测试可以结束的标准,常用的出口准则包括:①达到100%的功能覆盖。②缺陷呈收敛状态。③缺陷修改完成并通过回归测试。④系统测试报告提交,通过评审并获得批准。【方法指导】5.7验收测试5.7.1验收测试概述1.验收测试的基本概述验收测试(AcceptanceTesting)又称为接受测试,是在系统测试后期,以用户测试为主,或有质量保证人员共同参与的测试。【方法指导】5.7验收测试5.7.1验收测试概述2.验收测试的总体思路用户验收测试是软件开发结束后,用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求,以及用户能否接受的问题。【方法指导】5.7验收测试5.7.2验收测试的常用策略实施验收测试的常用策略有三种:正式验收测试、非正式验收测试或Alpha(α)测试、Beta(β)测试,验收测试时选择的策略通常建立在合同需求、组织和公司标准以及应用领域的基础上。【方法指导】5.7验收测试5.7.3验收测试的测试流程验收测试的测试步骤和主要测试活动如下所示。(1)软件需求分析。(2)编制《测试计划》和《项目验收准则》。(3)测试设计和测试用例设计。(4)测试环境搭建。(5)测试实施。(6)测试结果分析。(7)测试报告。【方法指导】5.7验收测试5.7.4验收测试的测试内容验收测试通常可以包括:安装(升级)、启动与关机、功能测试(正例、重要算法、边界、时序、反例、错误处理)、性能测试(正常的负载、容量变化)、压力测试(临界的负载、容量变化)、配置测试、平台测试、安全性测试、恢复测试(在出现掉电、硬件故障或切换、网络故障等情况时,系统是否能够正常运行)、可靠性测试等。【模板预览】5.8软件项目的综合测试与验收阶段的主要文档软件项目的综合测试与验收阶段的主要文档包括《测试用例标准》、《测试计划》、《系统测试报告》等。5.8.1测试用例标准模板表5-17是ANSI/IEEE829标准中给出的测试用例编写的表格形式,编写测试用例时可以参考。5.8.2测试计划模板测试计划描述了要进行的测试活动的范围、方法、资源和进度的文档。它确定测试项、被测特性、测试任

温馨提示

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

评论

0/150

提交评论