软件测试基础西南财经大学天府学院—过程模型和工作流程确认和验证H模型V模型W模型目录工作流程知识回顾–软件测试过程集成测试验收测试需求测试系统测试单元测试什么是软件确认和验证◆软件验证和确认(SoftwareVerificationandValidation)是在软件的生命周期中对软件进行评估的规范化的方法。什么是验证?◆验证(Verification)是指在软件生命周期的各个阶段,用下一个阶段的产品来检查是否满足上一个阶段的规格定义。验证过程需求设计编码测试什么是确认?◆确认(Validation)是指在软件生命周期的各个阶段,检查每个阶段结束时的工作成果是否满足软件生命周期的初期在需求文档中定义的各项规格和要求。确认过程需求设计编码测试小结:虽然验证和确认是两种不同的软件测试的方式,但是在进行测试的时候应该综合利用者两种方式进行测试。知识扩充–软件生命周期的验证和确认(1)管理阶段的验证和确认(2)概念阶段的验证和确认(3)需求阶段的验证和确认(4)设计阶段的验证和确认(5)实现阶段的验证和确认(6)测试阶段的验证和确认(7)安装和检验阶段的验证和确认※每个阶段的任务是什么?用户需求需求分析与系统设计概要设计详细设计编码单元测试集成测试系统测试验收测试软件开发过程软件测试过程(1)V模型是软件开发瀑布模型的变种(2)它反映了软件测试与软件开发的关系(3)明确地标明了测试过程中存在的不同级别(4)并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。V模型的缺点(1)把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现;无法体现“尽早地和不断地进行软件测试”的原则(2)该模型容易使人理解主要是针对程序进行测试寻找错误—主要应用在快速的软件开发。W模型用户需求需求分析与设计概要设计详细设计编码单元测试用户需求(V&V)验收测试计划需求分析与系统设计(V&V)系统测试设计概要设计(V&V)集成测试设计详细设计(V&V)单元测试设计集成实施交付集成测试系统测试验收测试(1)W模型强调测试伴随着整个软件开发周期(2)而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。(3)只要相应的开发活动完成,我们就可以开始执行测试,可以说,测试与开发是同步进行的,从而有利于尽早地发现问题W模型优缺点仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整—主要应用在一些中型软件并且业务逻辑关联非常紧密的项目中。H模型测试准备测试就绪点测试执行测试流程其他流程(如设计流程、SQA流程)H模型揭示:—软件测试不仅仅指测试的执行,还包括很多其他的活动。—软件测试是一个独立的过程,贯穿产品整个生命周期,与其他流程并发地进行。—软件测试要尽早准备,尽早执行。—软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。H模型其他过程模型(1)X模型(2)前置测试模型测试过程和流程的区别(1)过程(Process)过程是活动的集合(2)流程(Flow)是对每个环节进行程序化处理;也就是说流程就是做一件事情的详细执行步骤。测试工作流程测试计划测试设计测试执行测试记录测试总结分析完毕测试执行YNYN开始(立项)针对测试目标,规定测试任务、资源分配、人员角色、进度安排等。根据测试计划,设计测试用例,包括:测试步骤、测试场景、测试代码、测试数据(包括预期结果)。根据测试计划,配置测试环境,并手动或者自动执行测试设计。记录、分发、评估、关闭缺陷报告。分析测试过程和缺陷报告,评估测试质量和测试效果,给出是否通过测试的建议。检查测试设计是否全部执行完毕,缺陷是否全部关闭。分析测试记录,如果发现与预期结果不同,确定并重现缺陷。根据测试计划,忠实地记录测试执行的过程和结果。ThankYou!