【软件测试】开发/测试模型

开发/测试模型

瀑布模型

image-20230925114819687

设计:技术文档(设计那些接口,库表,mq,定时任务),UI视觉稿

特点:线性的结构。

优点:每个阶段做什么,产出什么非常清晰

缺点:测试人员介入太晚了,风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会。发现问题后需要不停的向前回溯才能定位问题。

适用于项目:小型的项目适用于这种模型,比如项目周期1天或者0.5天。

螺旋模型

【软件测试】开发/测试模型_第1张图片

优点:循环进行风险分析。每个阶段开始之前都有一个风险分析,可以避免一定的风险

缺点:风险分析需要一定的投入,如果分析错了,会带来一定的损失。同时不断的迭代,有可能导致项目延期。

适应项目:适用于规模大,复杂度高,风险比多的项目。

增量、迭代模型

增量模型,一个模块开发完毕,在开发下一个模块。

迭代模型,所有模块一起开发,先开发大的框架,在开发细节。

敏捷模型

敏捷开发的概念:就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态

  1. 敏捷模型不强调流程,而是更多地思考如何去激发开发人员的工作热情。
  2. 敏捷模型的考核标准是:可交付的软件。

个体与交互重于过程和工具(注重面对面沟通)

可用的软件重于完备的文档

客户协作重于合同谈判

响应变化重于遵循计划(拥抱变化)

在每对比对中,后者并非全无价值,但我们更看重前者

简而言之敏捷模型的特点就是:轻流程、轻文档、重目标、重产出

敏捷开发有很多种方式,其中scrum是比较流行的一种,scrum中主要包含三大角色,五大会议。

迭代开发:与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。

角色:

PO(产品经理): 收集整理用户需求。

SM (项目经理): **需要进行需求优先级确定,项目计划确定。**对需求进行优先级划分,计划项目什么时候开始,什么时候结束,由谁去做。

Team(前端开发,后端开发,测试,设计)

scrum的基本流程:

【软件测试】开发/测试模型_第2张图片

  • 产品经理负责整理user story,形成左侧的product backlog。

  • 发布计划会议:产品经理负责讲解user story。SM项目经理对其进行估算和排序,发布计划会议的产出, 就是制定出这一期迭代要完成的story列表

  • 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每 个任务都有明确的负责人,并完成工时的初估计。

  • 每日站会:汇报昨天工作有没有完成,如果没有完成,遇到了什么问题。今天计划做什么。

  • 演示会议: 演示给项目其他人员。期间大家的反馈记录下来,由po整理,形成新的story。

  • 回顾会议: 遇到的问题记录,如何解决这些问题。制定改进计划,下一次迭代继续改进,已达到持续改进的效果

V模型

【软件测试】开发/测试模型_第3张图片

用户需求阶段:PM将用户需求收集,成为软件需求。

用户分析与系统设计阶段:验证需求是否正确。确定使用的编程语言,确定使用的框架。

概要设计阶段:项目结构如何设计

详细设计阶段:每个接口涉及到那些库表,涉及哪些任务

编码阶段:软件开发人软进行写代码

单元测试:对java中的每一个类,每一个方法进行测试。

集成测试:将许多方法集成到一起进行测试

系统测试:对整个系统进行测试,测试模块和模块间有没有影响。

验收测试:不是测试人员进行测试,是由验收的人进行测试,比如产品,运营。

特点:左边开发,右边测试,类似于瀑布模型。

优点:测试被划分为许多类型。

缺点:测试介入太晚,发现问题时机就会越晚,测试和开发是串行的

W模型(双V模型)

【软件测试】开发/测试模型_第4张图片

V&V意思是: 软件测试的工作归结起来就是两个V,Verification(验证)和Validation(确认)

实施:部署/运行。

交付:软件交付给用户

用户需求V&V 验收测试准备:根据用户需求写一个文档,在运营验收的时候,把文档给运营,让运营对照文档进行验收。

特点:开发一个V,测试一个V.

优点:测试在刚开始就介入了整个项目,测试是对整个项目的每个阶段进行了测试

缺点:测试人员和开发人员在一定程度上还是串行的,不能拥抱变化。不适用于敏捷开发。

你可能感兴趣的:(软件测试,测试,测试模型)