软件开发与测试模型
文章目录
参考
本文转自个人印象笔记,将不定期更新,如有问题请评论指正。
1 软件开发模型
1.1 边做边改
- 缺少规划和设计环节
- 忽略需求环节,给软件开发带来很大的风险
- 没有考虑测试和程序的可维护性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELrJpSEw-1601902835861)(en-resource://database/2307:1)]@w=300
1.2 瀑布模型
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
- 各个阶段的划分固定,阶段间产生大量的文档,增加了工作量;
- 模型是线性的,用户只在末期才能见到结果,增加了开发的风险;
- 测试仅在开发后期,错误不能早发现
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X6aNmafW-1601902835863)(en-resource://database/2309:0)]
1.3 增量模型
又称演化模型。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试。
- 由于各个构件是逐渐并入已有的软件体系结构中的,需要软件具备开放式的体系结构
- 增量模型的灵活性使其适应需求变化的能力优于瀑布模型和快速原型模型,但容易退化为边做边改模型。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7GC01kmY-1601902835865)(en-resource://database/2311:0)]@w=500
1.4 快速原型模型
先建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。
- 关键在于尽可能快速地建造出软件原型
1.5 螺旋模型
结合了快速原型和瀑布模型,适合大型复杂系统。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E31s0yKI-1601902835868)(en-resource://database/2313:0)]@w=500
1.6 喷泉模型
以用户需求为动力,以对象为驱动,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlWbCKCV-1601902835869)(en-resource://database/2315:0)]
2 软件测试模型
软件测试的两个要点:
- 尽早地
- 不断地
2.1 V模型
- 【活动串行】是一种古老的瀑布模型,反映了软件设计和测试之间的关系。
忽视了测试活动对需求分析,系统设计等活动的验证和确认的功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FPwF6lEG-1601902835870)(en-resource://database/2317:0)]
2.2 W模型
【活动串行】测试与开发同时进行,在V模型的基础上,增加了在开发阶段的同步测试
- 测试与开发是同步进行的,从而有利于尽早的测试、发现问题。
- 强调了测试计划等工作的先行和对系统需求和系统设计的测试;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELkb0I65-1601902835871)(en-resource://database/2319:0)]
2.3 H模型
【活动并行】过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azG77cp2-1601902835872)(en-resource://database/2321:0)]
2.4 X模型
X模型左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后,将进行频繁的交接,通过集成最终合成为可执行的程序。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Llh704TG-1601902835873)(en-resource://database/2323:0)]