软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述
Posted NoamaNelson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述相关的知识,希望对你有一定的参考价值。
(14)-测试基础之软件测试和开发模型概述
1 软件测试模型
1.1 V模型
- 左侧为瀑布开发模型,右侧为对应的测试阶段;
- 优缺点:
优点 | 缺点 |
---|---|
测试阶段明确 | 测试滞后,容易导致错误的需求不容易被发现 |
测试阶段和开发阶段相对应 | 没有进行测试前置,只对程序测试 |
测试策略为底层和高层测试,分别侧重源代码和系统是否满足用户需求 | 线性过程,按顺序执行,非迭代过程 |
1.2 W模型
- 基于尽早测试的原则,从需求分析阶段开始测试;
- 优缺点:
优点 | 缺点 |
---|---|
测试与开发并行,利于尽早发现问题 | 不能很好的支持迭代开发模式 |
测试活动参与到整个软件生命周期 | / |
测试面更广,测试覆盖更全 | / |
1.3 H模型
- 整正测试阶段之间不存在严格的顺序,各阶段之间可以反复触发、迭代、增量。
- 特点有:
测试活动独立成完整测试流程,与其它流程并发进行;
测试活动更丰富,除了真正的软件测试,还包括环境测试和搭建等等;
测试活动可尽早准备和尽早执行;
测试活动可按照顺序也可反复执行。
1.4 X模型
注:图片来之https://blog.csdn.net/u014745194/article/details/79917853
- 针对单独的程序片段进行相互分离的编码和测试,通过频繁的交接,通过集成最终合成为可执行的程序,然后再对这些可执行程序进行测试;
- 己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。 多根并行的曲线表示变更可以在各个部分发生;
- 缺点是:对测试人员要求高,可能对测试造成人力、物力和财力的浪费。
1.5 敏捷测试
- 强调从客户的角度,即从使用系统的用户角度,来测试系统。
- 重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
- 建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。
- 与普通测试的区别:
①测试开发并行,项目周期短,比如15天为一个版本交付周期;
②模块提交快,测试压力大;
③任务明确,效率高;
④对项目规划能力要求高;
⑤项目人员空闲期很少,基本都在忙;
⑥耗时,较难的对项目影响不大的问题一般会放到下一个阶段解决;
⑦bug修复快,对其它模块影响小;
⑧沟通多,会议多是常态;
⑨测试人员需参与项目组所有会议。
敏捷测试相关解释来之:https://baike.baidu.com/item/%E6%95%8F%E6%8D%B7%E6%B5%8B%E8%AF%95/4626327?fr=aladdin
2 开发模型
2.1 大爆炸模型
- 简单粗暴,没有正规的开发过程,基本就是不停的写代码,写bug,改bug;
- 这种模式基本没有测试;
- 最终结果是要么产品成功,要么啥也不是。。。
2.2 边写边改模型
- 如题,就是一边做一边改,缺少规划和设计;
2.3 瀑布模型
- 各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
- 问题是各阶段划分固定,呈线性的,工作文档比较多,工作量大;早期的问题很可能到后期测试阶段才被发现,代价比较高。
2.4 敏捷开发模型
图片来源:https://blog.csdn.net/xiajun2356033/article/details/81513957
- 提倡迭代和增量的开发模式;
- 强调测试的重要性;
- 以用户为中心,拥抱变化;
- 客户参与、测试驱动、迭代周期短。
2.5 螺旋模型
图片来源:https://blog.csdn.net/qq_41375318/article/details/103332197
- 感觉像瀑布模型+边写边改模型+大爆炸模型中部分内容的综合体;
- 发现问题早、成本低;
- 测试参与全过程。
2.6 其他模型
- 如演化模型、喷泉模型、智能模型、混合模型、RAD模型;
- 具体参考:https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E6%A8%A1%E5%9E%8B/223381?fr=aladdin
『全栈测试技术,分享,共勉,共进,提升』
【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢
以上是关于软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述的主要内容,如果未能解决你的问题,请参考以下文章
软件测试体系学习及构建(13)-测试基础之测试工程师的基本要求