瀑布模型
1.是线性模型的一种,是其他模型的基础,很重要
2.每个阶段执行一次,按线性顺序进行软件开发
一、测试的切入点:
测试阶段必须处于软件实现后,预留充分时间进行软件测试
二、优点:
开发阶段清晰、强调早点计划和需求调查、适合稳定的产品需求
三、缺点:
单一过程不可逆、问题到后期才暴露,失去及早纠正的机会
四、改良
沿用瀑布模型的线性思想,细化各个阶段,在重要阶段掺入迭代的思想,尽早介入
快速原型模型
一、定义
先构建一个快速原型,实现用户与系统的交互,用户对原型进行评价,进一步细化需求,根据用户需求逐步调整
二、优点
克服了瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。适合预先不能确切定义需求的软件系统开发
三、缺点
**不适合大型系统的开发(多用于小型、灵活性高的系统)**前提是要有一个可展示的产品原型,会限制开发人员的创新
测试模型
常见: V模型、W模型、H模型
V模型示意图
1、需求分析:用户需求、业务需求、需求规格说明书
2、概要设计:系统架构、模块分析、模块与模块之间的接口
3、详细设计:模块内部实现的逻辑和方法
4、编码:用代码形式呈现设计
5、单元测试:检测代码的开发是否符合详细社戏的要求
6、集成测试:检测此前测试过的各部分是否能结合
7、系统测试:检测已集成的产品是否符合规格说明书
8、验收测试:检测产品是否符合用户最终需求
一、优点
1、包含了底层测试(检验源代码质量-单元测试、检验整个系统的需要-系统测试)
2、清楚地标示了软件开发的各阶段
3、线性模式,阶段工作明确便于控制开发过程
二、缺点
1、强调顺序,前期的错误到后期才能发现
2、实际开发过程中,用户需求多变,返工量大,模型灵活度较低
W模型
开发一个V,测试一个V,组合成W模型
一、优点
1、 测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试
2、更早介入测试,更早发现开发初期缺陷
3、便于控制项目过程
二、缺点
1、线性关系,无法支持迭代、自发性和需求变更调整
2、许多项目在实际执行过程中不产生文档,难以适用
3、实际使用技术复杂度(需求和设计的测试要求)高,实践困难
H模型
一、概念
测试流程:
- 测试准备:所有测试执行活动的准备,判断是否可以开始执行测试的条件
- 测试就绪点:测试准入准则,即是否可以开始测试的条件
- 测试执行:具体执行测试的程序
- 开发中的其他流程,如:设计流程
二、优点
- 展示了软件测试的其他工作
- 测试过程完全独立,贯穿整个生命周期,且可与其他流程并发进行
- 测试可尽早准备,尽早执行,灵活性高
- 软件测试可根据被测物的不同而分层次、分阶段、分次序执行,可以迭代
三、缺点
- 管理要求高:必须定义清晰的规则和管理制度
- 技能要求高:需要明确每个迭代的规模,不能过大也不能过小
- 测试就绪点分析困难:无法确认测试准备工作是否合适,对后续测试就绪点的启动不明
- 对整个项目组的人员要求非常高,要保证在规范的制度下高效工作