软件开发模型和测试模型(瀑布模型,螺旋模型,增量、迭代,敏捷,敏捷中的测试,软件测试v模型,软件测试w模型)

    技术2022-07-10  104

    一、软件的生命周期

    需求分析——计划——设计——编码——测试——运行维护

    二、瀑布模型

    是所有其他模型的基础框架,每个阶段只执行一次,是线性顺序进行的软件开发模式 · 优点:强调开发的阶段性; 强调早期计划及需求调查; 强调产品测试。 · 缺点: 依赖于早期进行的唯一一次需求调查,不能适应需求的变化; 由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程; 风险(尤其是集成风险)往往迟至后期的测试阶段才显露,因而失去及早纠正的机会。

    三、螺旋模型

    一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。 · 适合场景:规模庞大、复杂度高、风险大的项目 · 优点:强调严格的全过程风险管理; 强调各开发阶段的质量; 提供机会检讨项目是否有价值继续下去。 · 缺点:引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求。这需要人员、资金和时间的投入。

    四、增量、迭代

    · 特点:增量开发能显著降低项目风险(迭代>增量) · 方法:鼓励用户反馈,在每个达代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作 · 两者区别:增量是逐块建造的概念,例如画一幅人物画,我们可以先画人的头部,再画身体,再画手脚…… 迭代是反复求精的概念,同样是画人物画,我们可以采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。

    五、敏捷模型⭐

    敏捷开发有很多种方式,其中scrum是比较流行的一种 · scrum中的角色 scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成。 product owner 负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责。 scrum master 负责召开各种会议,协调项目,为研发团队服务。 (scrum流程的保障者) team 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。 · scrum的基本流程

    产品负责人负责整理user story,形成左侧的product backlog。 发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog。 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。

    六、敏捷中的测试

    · 特点:轻文档,轻流程,重目标,重产出 (拥抱变化)

    测试工作的核心内客是没有变的,就是不断地找Bug,只是要调整好自己的心态,一切以敏捷的原则为主。测试人员不能依赖文档,测试用例作用减弱,更多的采用思维导图、探索性测试(强调自由度,设计和执行同时执行,根据测试结果不断调整测试计划)、自动化测试敏捷讲求合作,在敏捷项目组中,测试人员应该更主动点,多向开发人员了解需求、讨论设计、一起研究Bug出现的原因。

    七、软件测试v模型

    瀑布模型的变种 · 特点:明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系 · 阶段任务:单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求 · 局限性:仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试

    八、软件测试w模型(双v模型)

    W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程 · 特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的 · 优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。 · 局限性:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

    加油鸭~

    Processed: 0.011, SQL: 9