当前位置:网站首页>软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述
软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述
2022-06-21 16:05:00 【NoamaNelson】
(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
『全栈测试技术,分享,共勉,共进,提升』

【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢
边栏推荐
- 快速排序简单思路及程序
- 第十六周总结
- Garbage collector
- The node server res.end() writes Chinese, and the solution to the problem of garbled code in the client
- Qt 知识:使用 QGraphicsPixmapItem类
- The main relations and differences between Poisson sampling and Bernoulli sampling
- variable
- Kotlin DSL构建
- List set map in kotlin
- [ROS2 基础] Navigation2 导航系统介绍
猜你喜欢

QT knowledge: using the qgraphicspixmapitem class

数据类型

关于SSM整合,看这一篇就够了~(保姆级手把手教程)

Matlab中xticks函数

Still using xshell? Try this cool SSH terminal tool, which is very powerful!

The new razor component supports proxy connection to RDP, and jumpserver fortress v2.23.0 is released

Common formula of derivative__ Common formulas of indefinite integral

Detailed explanation of Fisher information quantity detection countermeasure sample code

Use picgo core and Alibaba cloud to automatically upload typera pictures

20 pygame模块制作一个跳跃的小球游戏
随机推荐
node服务器 res.end()中写中文,客户端中乱码问题的解决方法
RTMP webrtc protocol OpenSSL installation
很多軟件公司,其實都是“笑話”
QT knowledge: using the qgraphicspixmapitem class
全国行政区划
variable
module.exports指向问题
【mysql学习笔记17】常用函数整理
Beaucoup de sociétés de logiciels sont en fait des "blagues"
Android kotlin class delegation by, by lazy key
path. join() 、path. Basename() and path extname()
Niuke network: verify the IP address
泊松抽样与伯努利抽样主要联系与区别
第八章 可编程接口芯片及应用【微机原理】
[MySQL learning notes 19] multi table query
栈的生长方向和内存生长方向
#Vscode工具#
Function call model
【mysql学习笔记15】用户管理
exness:美国通货膨胀影响太大,美联储大佬纷纷表态