软件开发模型最常见的有5种:瀑布模型,v模型,w模型,快速原型模型,敏捷开发模型
软件开发过程模型的目的:保证最终产品满足用户需求,提软件质量,降低软件开发成本,保证项目可管理,进度可控制
软件测试流程(生命周期):测试需求分析,测试需求评审,编写测试计划,设计测试用例,测试用例评审,搭建测试环境,测试执行,回归测试,测试报告
一.瀑布模型:是一种线性的,顺序的软件开发模型
优点:每个阶段都要有明确的输入件和输出件,为项目提供了按阶段划分的检查点
缺点:1,基于文档的驱动,各个阶段的划分完全固定,阶段之间产生大量的文档,极大的增加了工作量。
2,由于开发模型是线性的,客户只有在末期才能见到开发成果,极大的增加了风险
3,不适应需求的变化
二.V模型(瀑布模型的变更)
优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别相对应,指出测试对象除了包括程序还包 括需求和设计
缺点:仅仅把测试过程作为在需求分析,系统设计和编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满 足情况在后期才能验证
三,W模型(V模型的升级版)
优点:测试活动与软件开发同步进行,测试的对象不仅仅是程序还包括需求和设计,今早发现软件缺陷降低软件开发成本
缺点:1,需求,设计和编码等活动是串行的,同时测试和开发也保持着一种线性的前后关系,无法支持迭代的开发模型
2,不能解除测试管理面临的困惑
四,快速原型模式:
较好的解决了瀑布模型的缺陷,通过建立原型,可以更好的和客户沟通,解决对一些模糊需求的澄清,对需求的变化有一定的适应能力。
五,敏捷开发
以用户的需求为核心,采用迭代循序渐进的方式进行软件开发。软件项目在构建初期被切为多个子项目,各个子项目成果都经过测试,具备可视,可集成,可运行的特征。
和瀑布模型的比较:
1,可以在项目的各个阶段进行需求变更
2,客户能参与每个阶段的验收,保证了项目不偏离正确的方向以及项目的可控性
3,对于新近开发,需求变更快的项目,适合用敏捷开发模式,便于风险控制和需求变更管理。