IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 敏捷团队的最佳测试实践:自动化金字塔 -> 正文阅读

[开发测试]敏捷团队的最佳测试实践:自动化金字塔

自动化测试和敏捷软件开发常常是成对出现,但敏捷中的自动化往往说起来容易做起来难。大多数开发人员都已经认识到测试自动化的好处:它加快了测试速度、降低了成本、增加了覆盖率等。但是,许多人从未超过开始所需的初始投资。就像这幅漫画中的穴居人一样,许多团队陷入了困境,他们采用着低效率的方式,因为自认为根本没有时间去做出改变。而实际上,他们自己受到损害。不要养成这个坏习惯!
在这里插入图片描述

今天,与你分享敏捷团队的最佳测试实践之一。

要如何开始?如何知道要关注哪些领域?哪些测试方案应该采用自动化?在非敏捷软件开发中,很多人不经意地陷入了“冰淇淋蛋筒反模式”的测试中,因为该模式更加强调 UI 层面的自动化。 Abstracta团队更喜欢将冰淇淋蛋筒倒过来的模式——由Mike Cohn推广流行的方法,即敏捷测试自动化金字塔。它可以给自动化成本带来最大收益,提高自动化的投资回报率,保证你将从自动化中获得最大收益。

当我们的大部分工作都集中在 UI 级别的自动化上时,重点是发现错误;而对于敏捷金字塔,其重点为避免错误。

在下图中,你可以看到两种方法的不同之处。
在这里插入图片描述

基础层:单元测试

显然,在金字塔中(作为敏捷团队最佳测试实践的一部分),大部分测试应该在开发阶段进行,在每次构建后进行单元测试。这些测试是最容易、最低成本及最快完成的,并且是测试驱动开发的一个重要方面。在较低的级别运行更多的测试可以让我们在运行过程中即可检查相应的工作,立即获得反馈,并让团队在错误难以隐藏的时候准确地知道错误出现在哪里。在这里,这些错误的寿命也会更短,可能在不到一分钟的时间内就被发生、被清除了。而在 UI 测试过程中,错误会存活更长时间,并产生更激烈的矛盾,因为它们已经舒适地存在了相对更长的时间。

中间层:API/集成/组件测试

运行所有单元测试并通过之后,就可以进入 API/集成/组件测试阶段。运行集成测试是为了确保所有组件正常配合工作。这里无需通过 UI 即可测试大部分逻辑和业务流程,在此处最好尽可能地采用自动化。如果纠结于在此处自动化还是UI级别自动化,选择这里问题将变少、维护会更容易、测试执行会更快(意味着能更快发现错误,缩短它们的寿命),而且可以测试系统的逻辑。这些测试比单元测试更慢、更复杂,但它们仍然比 UI 测试更快、且不那么脆弱。

顶层:UI 测试

最后讲的,也是运行最少的是 UI 测试。最好尽可能少地进行UI 测试,因为它们成本高、难准备、难维护,并且需要很长时间。在这一步,只是要确保用户界面本身正常工作,系统的所有其他方面都已经过测试。只测试端到端最重要的部分,流程从用户登录开始,以如交易成功消息这样的最终操作结束。关注与浏览器或 UI 相关的事情也很有帮助。运行 UI 测试后,可以进行手动和探索性测试(如金字塔上方的球体形状所示)。

如上所述,与把重点放在自动化 GUI 测试上,并且无意中遵循“冰淇淋蛋筒反模式”比起来,金字塔方法是实现测试自动化的更强大、更有益和更具成本效益的方法。金字塔在单元测试阶段提供了一个强大的基础,可以在集成和 UI 阶段进行进一步的测试,而冰淇淋蛋筒方法更头重脚轻且稳定性较差。

为了在敏捷开发世界中脱颖而出,就须遵循自动化金字塔测试,以尽可能生产出质量最好的软件。但不需要只遵循一家之言,可多方参考资料并不断实践以获得最适合团队的测试方法。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:50:56  更:2021-09-04 17:51:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:20:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码