您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 软件测试第2章软件测试过程模型及标准
软件测试-1-第2章软件测试过程模型及标准第一节回顾1.软件过程模型:软件开发全部过程、活动和任务的结构框架也称软件开发模型或软件生存周期模型2.典型的软件过程模型:瀑布模型,演化模型,增量模型,原型模型,螺旋模型,喷泉模型,基于构件的开发模型,形式方法模型3.瀑布模型(包含计算机系统工程)(如图所示)将软件放在计算机系统工程中,考察软件在计算机系统扮演什么角色,软件做什么,区分哪些事情由硬件完成,哪些事情软件完成,哪些事情由人完成。4.瀑布模型(不包含计算机系统工程)(如图所示)第二节软件测试过程模型1.模型:描述软件测试全部过程、活动和任务的结构框架2.典型的软件测试模型:2.1V模型2.2W模型2.3H模型2.4TMap模型第三节V模型1.V模型描述软件开发各阶段与软件测试类别的关系2.V模型的左分支展示了软件开发的活动(和传统瀑布模型的开发步骤相一致),右分支展示了软件测试的类别特点:3.可根据V模型确定各软件测试阶段的测试要求4.可针对开发活动的不同特点为不同的测试类别设计不同的测试用例5.体现测试人员参与开发的全过程6.V模型(含计算机系统工程)(如图所示)7.V模型(不含计算机系统工程)(如图所示)8.V模型右侧的测试级别随软件开发程度的加深而对应不同级别的测试阶段a)单元测试:主要针对详细设计和编码的测试b)集成测试:主要针对概要设计的测试c)系统测试:主要针对软件系统或计算机系统的测试d)验收测试:主要由用户进行的测试缺点:V模型把测试过程作为在需求定义、需求分析、系统概要设计、系统详细设计及编码之后的一个阶段。容易使人理解为测试是软件开发的最后阶段,测试主要针对程序进行,而需求定义、需求分析、系统概要设计、详细设计阶段隐藏的问题一直到后期的系统测试和验收测试才被发现。第四节W模型1.V模型中增加各开发阶段应同步进行的验证和确认活动,演化成W模型2.W模型由两个V组成,一个V代表开发过程,另一个V代表测试过程优点:3.体现了尽早地、不断地进行软件测试软件测试-2-4.体现了测试对象不仅是程序代码,还包括需求分析、设计等阶段的工作产品,测试与开发同步进行。5.W模型图(如图所示)局限性:在W模型中,需求、设计、编码等活动被视为串行,同时测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束后才正式开始下一个阶段工作。这样就无法支持迭代的开发模型。第五节H模型1.V模型和W模型都是基于瀑布模型的,实际开发过程中这些活动大多是交叉进行的,所以不存在严格的次序关系,各种测试(单元测试、集成测试等)也存在反复触发和迭代的关系特点:2.H模型展示软件测试是一个贯穿产品生存周期的独立流程,与其他开发流程并行进行3.H模型指出软件测试要尽早准备,尽早执行,不同测试活动的执行次序不固定,可反复,只要某个测试到达准备就绪点,测试执行活动就可开始4.H模型图(如图所示)说明:其他流程可以是任意的开发流程,例如设计流程或编码流程,也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。第六节TMap模型(略)1.TMap(TestManagementApproach,测试管理方法)是一种结构化的、基于风险策略的测试方法体系,目的是能更早发现缺陷,以最小的成本,有效地、彻底地完成测试任务,以减少软件发布后的支持成本2.TMap定义的测试生成周期由五个阶段组成:计划和控制、准备、规格说明、执行、完成3.TMap模型图4.TMap模型的5个阶段4.1计划和控制阶段:制订测试计划,定义需执行的测试活动(who,what,when,whereandhow)4.2准备阶段:确定软件规格说明书的质量是否足以成功实现说明书所规定的测试4.3规格说明阶段:设计测试用例,构建测试环境4.4执行阶段:执行测试,发现缺陷,书写缺陷报告4.5完成阶段:整理测试文档,书写测试总结报告,对测试过程进行评价5TMap模型的4项基石5.1测试活动生存周期(L):描述测试过程的某些特殊阶段需要实施的活动5.2组织融合(O):强调测试小组必须融入项目组织中,每个测试人员必须被分配任务并承担责任5.3正确的基础设施和工具(I):为了获得最优的结果,需要适当的基础设施和工具5.4可用的技术(T):指支持测试过程的技术,这些技术可用于定义基于风险的测试策略,支持有计划的测试过程,审查测试基准,详细说明测试用例,提交报告6TMap的基本活动第七节软件测试改进模型——引言1.软件过程的能力成熟度模型CMM软件测试-3-20世纪70年代中期,美国国防部发现70%的失败项目是因为管理不善引起的,从而认为管理是影响软件研发项目全局的因素,而技术只影响局部。20世纪90年代中期,软件管理不善的问题仍然存在,大约只有10%的项目能够在预定的费用和进度下交付。软件项目失败的主要原因有:需求定义不明确;缺乏一个好的软件开发过程;没有一个统一领导的产品研发小组;子合同管理不严格;没有经常注意改善软件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制;软件升级暴露了硬件的缺点;关注创新而不关注费用和风险;军用标准太少且不够完善等。1987年,美国卡内基.梅隆大学软件研究所(SEI)受美国国防部的委托,率先在软件行业从软件过程能力的角度提出了软件过程成熟度模型(CMM),用于软件开发过程和软件开发能力的评价和改进,侧重于软件开发过程的管理及工程能力的提高与评估。2.能力成熟度模型集成CMMI(CapabilityMaturityModelIntegration)CMMI是在CMM基础上发展起来的,CMMI继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。CMMI不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。3.典型的测试过程改进模型3.1TMM(TestMaturityModel)测试成熟度模型3.2TPI(TestProcessImprovement)测试过程改进3.3CTP(CriticalTestProcess)关键测试过程3.4STEP(SystematicTestandEvaluationProcess)系统化测试和评价过程第八节软件测试改进模型——TMM1.过程能力:描述了遵循一个软件测试过程可能达到的预期结果的范围2.开发TMM模型是为了与CMM互补和一致2.1互补指补充CMM中与测试相关的内容2.2一致指与CMM使用的5个等级类似2.3对应CMMI有TMMI3TMM由二个主要部分组成:3.1测试能力成熟度共有5个级别,每个级别包含一组过程域,每个过程域包含一组目标和子目标,以及为达到目标和子目标而必须执行的活动、任务和职责等3.2一套评价模型,包括一个成熟度问卷、评估程序和团队选拔培训指南4TMM模型的5个级别(如图所示)5成熟度级别描述第九节软件测试改进模型——TPI1.TPI(TestProcessImprovement)是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及以往经验的基础上开发出来的2.用于支持测试过程的改进,包括一系列的关键域、生存周期、组织、基础设施、工具和技术也可用于了解组织内测试过程的成熟度3.TPI模型的构成(如图所示)4.TPI:关键域(keyareas):表示对测试过程评价的某个方面,TPI模型共有20个关键域5.TPI级别软件测试-4-5.1级别(level):表示关键域的评价结果5.2TPI模型提供4个级别:A、B、C、D,其中A是最低级,D是最高级5.3通过改善测试过程的可视性、提高测试效率、降低成本、提高质量,可以提升级别5.4每个关键域对不同级别的要求不同,每个关键域能评定的级别数也不同,如“办公环境”只有A级,有些关键域有A、B二级,有些关键域有A、B、C三级6TPI检查点6.1为了能客观地决定各个关键域的级别,TPI模型提供了一种度量工具——检查点,每个级别都有若干个检查点,测试过程只有在满足了这些检查点的要求之后,才意味着它达到了特定的级别6.2举例:关键域“沟通”级别A-“内部沟通”的检查点有:测试团队内部是否有一个定期会议,讨论测试进度和测试对象的质量每个团队成员是否定期参加会议执行偏离计划是否与团队沟通并记录在案6.3举例:关键域“沟通”级别B-“项目沟通”的检查点有(除级别A的3点外):每次会议是否有记录会议中是否将测试流程质量作为固定的讨论主题测试经理是否定期在项目会议上报告测试进度会议中达成的一致意见是否有文字记录计划和发布日期的任何变化是否及时通知测试经理在定期的缺陷分析和解决会议上,测试团队和其他团队的代表是否都参与变更控制是否认真考虑了对测试工作的影响7TPI建议7.1检查点帮助测试人员发现测试过程中的问题,而建议会帮助测试人员解决问题,最终改进测试过程7.2建议不仅包含对如何达到下个级别的指导,而且还包括一些具体的操作技巧、注意事项等7.3举例:关键域“沟通”级别A-“内部沟通”的建议有:要求每个测试团队的成员定期评估测试流程,提出改进意见会议中提出的一些措施要得到一致的处理或一贯的执行项目安排都应该在会议上宣布8TPI成熟度矩阵8.1测试成熟度矩阵提供关键域级别与整体测试过程成熟度等级的映射关系8.2可用于评估组织的整体测试过程成熟度等级,也可用于组织的测试过程改进8.3整体测试过程成熟度等级共有14个等级,记为0-13,其中0级称为初始级、1-5级称为可控级、6-10级称为有效级、11-13级称为优化级初始级:类同TMM的初始级可控级:测试过程可以为了解测试对象的质量提供足够的可视性,而且按照已定义的测试策略完成测试的执行,采用合适的测试规格说明技术,缺陷被记录并报告有效级:测试不仅是可控的,而且达到良好的效率,如借助自动化测试、整合有效的测试方法优化级:持续地改进测试流程、引入新的测试方法、建立新的测试架构等,从而最大限度地保持测试效率和质量软件测试-5-第十节CTP——关键测试过程1关键测试过程(CriticalTestProcess,CTP)评估模型主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪2使用CTP的过程改进,始于对现有测试过程的评估,通过评估以识别过程的强弱,并结合组织的需要提供改进的意见3计划(Plan)、准备(Prepare)、执行(Perform)和完善(Perfect);计划和完善主要是管理工作,准备和执行是实践工作4CTP12个子关键过程4.11.测试4.22.建立上下文关系和测试环境(Context)4.33.质量风险评估4.44.测试估算4.55.测试计划4.66.测试团队开发4.77.测试(管理)系统开发4.88.测试发布管理4.99.测试执行4.1010.缺陷报告4.1111.测试结果报告4.1212.变更管理第十一节STEP——系统化测试和评价过程1STEP(SystematicTestandEvaluationProcess,系统化测试和评估过程)是一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役2STEP与CTP比较类似,而不像TMMI和TPI,并不要求改进需要遵循特定的顺序3某些情况下,STEP评估模型可以与TPI成熟度模型结合起来使用第十二节与测试相关的标准1标准种类1.1国际标准:由国际标准化组织ISO制订和发布的,供各国参考的标准1.2国家标准:由政府或国家级的机构制订或批准的,适用于本国范围的标准1.3行业标准:由行业机构制订的,适用于该行业的标准1.4企业规范:一些大型企业或公司制订的,适用于本企业或公司的规范1.5项目规范:由组织制订的,适用于一些具体项目的规范1.62国际标准2.1由国际标准化组织ISO制订和发布的,供各国参考的标准2.2ISO/IEC国际标准化组织(InternationalStandardsOrganization)/国际电工委员会(InternationalElectrotechnicalCommission)2.3与测试直接相关的国际标
本文标题:软件测试第2章软件测试过程模型及标准
链接地址:https://www.777doc.com/doc-2011835 .html