软件测试与软件开发一样,都遵循软件工程原理,遵循管理学原理 ,测试专家通过实践总结出了很多很好的测试模型,这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,是测试管理的重要参考依据。
1、瀑布模型
优点:
1) 为项目提供了按阶段划分的检查点;
2) 当前一阶段完成后,您只需要去关注后续阶段。
缺点:
1) 项目中各个阶段之间极少有反馈;
2) 只有在项目生命周期的后期才能看到结果;
3) 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
2、V模型
优点:测试阶段化,每个测试阶段验证的依据明确。
缺点:忽视了测试活动对需求分析、系统设计等活动的验证与确认过程。
3、VV模型(W模型)
优点:
1)测试对象不仅仅是编码、还有文档
2)提倡尽早测试,降低修复Bug的成本
缺点:上一阶段完全结束,才可以正式开始下一阶段工作,无法支持迭代的开发模型。
4、H模型
1)把测试作为一个独立的阶段来看待;
2)测试就绪点是准入条件;
3)达到准备测试阶段至少需完成以下以项:
- 该开发流程对应的测试策略是否完成;
- 测试方案是否完成;
- 测试用例是否完成;
- 测试环境是否搭建好;
- 相关输入件、输出件是否明确;
4)测试对象不仅仅代码,还有文档、产品包。
5、X模型
1)需求不可能一次性做好
2)很多情况是不做单元测试
3)大部分BUG不是通过测试用例发现的,而是通过探索性测试发现的。
模型选取策略:以W模型作为框架,及早的、全面的开展测试,同时灵活运用H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。