开发模型:瀑布模型、螺旋模型、迭代、增量模型、敏捷开发
瀑布模型
优点:(1)强调开发的阶段性(2)强调早期计划及需求调查(3)强调产品测试。
缺点: 串行,有去无回,测试介入晚,导致项目前期的问题到会面才发现,失去了及时修正的机会。
螺旋模型
一个项目分多层迭代,适合风险比较大并且整个项目比较庞大,每个迭代做风险分析,讨论项目是否有价值继续。
缺点:风险分析要求很高,需要投入专业的人员,导致时间,项目支出费用会比较高,风险分析对测试人员和开发人员要求比较高。
迭代、增量模型
增量:第一周完成A模块,第二周完成B模块,第三周完成C模块,第四周完成D模块 。
迭代:第一周完成A、B、C、D模块的基础框架部分,第二周完成基础功能,第三周完成复杂功能,第四周完善细节。
敏捷开发模型
特点:重目标,重产出,轻文档,轻流程,注重和客户的沟通,注重产品的质量,注重产品规定的交付日期,敏捷开发周期很短,研发团队小。
流程:
角色:(1)产品经理:负责整理用户需求user story(2)项目经理:负责保重整个敏捷开发流程的顺利实施,开发,和各种协调等。(3)研发团队:负责整个项目的研发,各种技能的人组成,测试,开发,UI设计师等。
具体流程:(1)发布计划会:产品经理根据需求整理成user story,形成product backlog,会议上讨论user story的重要性排版,决定本期迭代要开发的user story。(2)迭代计划会:研发团队确认迭代任务,分解user story,将user story分解成一个个的任务,确认任务完成的时间,具体的人员等。(3)每日站会:昨天做了什么,遇到什么问题,今天的计划。(4)产品演示会议:给客户的BOSS演示产品研发的成果,客户会提出改进意见,产品经理整理后形成的user story,放到下一个迭代中改进。(5)项目总结:总结这次迭代的优缺点,不足的改进,优化这个敏捷开发流程
测试的两个模型:W模型、V模型
V模型
特点:左边开发的每一个阶段和测试的每一个阶段对应起来,是测试每一个阶段的依据
优点:特点也是优点
缺点:串行,瀑布模型的变种(1)不能适应需求的变化(2)测试到编码后才介入,导致前期的错误没有办法及时纠正,风险到项目后期才发现,失去及时修正的机会。
W模型
特点:测试在需求分析阶段就介入,双V模型,开发和测试是并行进行的
优点:测试介入比较早,项目前期的问题可以及时发现,在一定程度上可以保证产品的质量
缺点:串行过程,阶段性强,不能适应需求频繁的变更,不适合敏捷开发