测试基础--开发模型和测试模型
软件的生命周期分为六个阶段:
- 需求分析
- 计划
- 设计
- 编码
- 测试
- 运行维护
开发模型的五个模型:瀑布模型
瀑布模型:
特点(不走回头路):
- 是其他模型的基础。
- 每一个阶段都只执行一次。
- 是线性顺序进行的软件开发模式。
优点:
- 强调开发的阶段性
- 强调早期计划以及需求调查
- 强调了产品测试
缺点:
- 依赖早期的需求分析,不能适应需求的变化。
- 单一流程,开发中的经验教训不能反馈应用于本产品的过程
- 风险往往在后期的测试阶段才会显露,因此会失去及时纠正的机会。
螺旋模型:
适用于前期需求 不是很明确的,比较庞大,风险比较大的项目
优点:
- 强调严格的全过程的风险管理
- 强调各开发阶段的质量
- 提供机会研讨项目是否有价值继续下去
缺点:
- 引入了非常严格的风险识别,风险分析和风险控制,对风险管理的技能水平提出了很高的要求需要人员、资金和时间的投入。
增量、迭代模型
- 都有一定的抗风险的能力,但是迭代模型抗风险更强。
敏捷开发模型
轻文档、轻流程、重目标、重产出
敏捷宣言:
-
个体与交互重于过程和工具
-
可用的软件重于完备的文档
-
客户协作重于合同谈判
-
响应变化重于遵循计划
-
在每对比对中,后者并非全无价值,但我们更看重前者
scrum
是轻量级的开发。主要2-4周,5-9个人进行。
角色: -
product owner PO user story
-
scrm matser SM
-
scrm Team
适用于:需求不明确的开发。
敏捷中的测试
V模型:
W模型