三 1.软件开发模型与生命周期
1.1 软件开发模型
-
瀑布模型
-
快速原型模型
-
螺旋模型
注意:软件测试与软件的开发模式有着紧密的联系,作为一名测试人员,应当充分丽姐软件的开发模式,以便找准自己在其中的位置,从而发挥自身的价值
1.1.1瀑布模型
# 1.瀑布模型:如下图
#(1).瀑布模型的特点
1).是线型模型的一种,每一个阶段只执行一次.
2).文档驱动.
#(2).瀑布模型的优缺点
优点:
1).开发的各个阶段比较清晰,当前阶段完成后,只需关注后续阶段.
缺点:
1).不响应需求的变化.
2).风险往往延至后期才显露,是去及早纠正的机会.
(定义阶段)可研与计划↘
需求分析↘
(开发阶段)概要设计↘
详细设计↘
编码↘
(运维阶段)软件测试↘
运行维护
1.1.2快速原型模型
# 2.快速原型模型
在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作.
#(1).快速原型模型的特点
1).快速的构建软件的原型
2).支持用户参与
# 优缺点:
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的项目开发风险.
缺点:不适合大型系统的开发(适合开发小型的,灵活性高的系统).
-
快速分析 需求说明 构建原型 原型 运行原型 评价原型 修改意见
1.1.3螺旋模型(了解)
# 3.螺旋模型
#(1).螺旋模型的特点:引进了风险分析活动
#(2).螺旋模型的优缺点:
优点:螺旋模型很大程度上是一种风险驱动的方法体系
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识
2 测试模型
2.1软件测试模型
-
V模型
-
W(双v模型)
2.1.1 V模型
# 1.V模型
# (1).V模型介绍:
-v模型是具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,指在改进软件开发的效率和效果;
-v模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系.
-v模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系.
# (2).V模型的优缺点
优点:测试V模型即包含了底层测试又包含了高层测试;
缺点:当需求变更是将会导致返工量非常大,模型灵活性比较低.
需求分析 验收测试
↘ ↗
概要设计 系统测试
↘ ↗
详细设计 集成测试
↘ ↗
编码 → → 单元测试
2.1.2W模型
#2.W模型
#(1).W模型介绍:测试伴随整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试.
#(2).W模型的优缺点:
优点:
1).强调测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,还包括需求和设计.
2).更早的介入测试,能尽早的发现缺陷进行修复.
缺点:对于测试技术要求高,实践起来困难.
#W模型示意图如下:
#不同阶段软件缺陷的修复费如下图:
需求分析 验收系统测试设计 交付 验收测试
↘ ↘ ↗ ↗
概要设计 集成测试设计 实施 系统测试
↘ ↘ ↗ ↗
详细设计 单元测试设计 集成 集成测试
↘ ↘ ↗ ↗
编码 单元测试
需求规格说明书(0-5)
设计(5-15)
编码(15-20)
测试(40~)
发布(100~)