CI/CD 中的自动化测试的概要知识
创始人
2024-03-02 05:34:42
0

持续集成和持续交付是由测试驱动的。以下是如何做到的。

“如果一切似乎都在控制之中,那只是你走的不够快而已。” —Mario Andretti

测试自动化是指在软件开发过程中尽可能早、尽可能快地持续关注检测缺陷、错误和 bug。这是通过使用那些追求质量为最高价值的工具完成的,它们旨在确保质量,而不仅仅是追求质量。

持续集成/持续交付(CI/CD)解决方案(也称为 DevOps 管道)最引人注目的功能之一是可以更频繁地进行测试,而又不会给开发人员或操作人员增加更多的手动工作。让我们谈谈为什么这很重要。

为什么要在 CI/CD 中实现自动化测试?

敏捷团队要更快的迭代,以更高的速度交付软件和客户满意度,而这些压力可能会危及质量。全球竞争制造了对缺陷的低容忍度,同时也增加了敏捷团队的压力,要求软件交付的迭代更快。减轻这种压力的行业解决方案是什么?是 DevOps

DevOps 是一个大概念,有很多定义,但是对 DevOps 成功至关重要的一项技术是 CI/CD。通过软件开发流程设计一个连续的改进循环,可以为测试带来新的机会。

这对测试人员意味着什么?

对于测试人员,这通常意味着他们必须:

  • 更早且更频繁地进行测试(使用自动化)
  • 持续测试“真实世界”的工作流(自动和手动)

更具体地说,任何形式的测试,无论是由编写代码的开发人员运行还是由质量保证工程师团队设计,其作用都是利用 CI/CD 基础架构在快速推进的同时提高质量。

测试人员还需要做什么?

具体点说,测试人员负责:

  • 测试新的和现有的软件应用
  • 根据系统要求评估软件来验证和确认功能
  • 利用自动化测试工具来开发和维护可重复使用的自动化测试
  • 与 scrum 团队的所有成员合作,了解正在开发的功能以及实施的技术设计,以设计和开发准确、高质量的自动化测试
  • 分析记录在案的用户需求,并针对中等到高度复杂的软件或 IT 系统制定或协助设计测试计划
  • 开发自动化测试,并与功能团队一起审查和评估测试方案
  • 与技术团队合作,确定在开发环境中自动化测试的正确方法
  • 与团队合作,通过自动化测试来了解和解决软件问题,并回应有关修改或增强的建议
  • 参与需求梳理、估算和其他敏捷 scrum 仪式
  • 协助制定标准和流程,以支持测试活动和材料(例如脚本、配置、程序、工具、计划和结果)

测试是一项艰巨的工作,但这是有效构建软件的重要组成部分。

哪些持续测试很重要?

你可以使用多种测试。不同的类型并不是学科之间的牢固界限。相反,它们是表示如何测试的不同方式。比较测试类型不太重要,更重要的是对每一种测试类型都要有覆盖率。

  • 功能测试: 确保软件具有其要求的功能
  • 单元测试: 独立测试软件的较小单元/组件以检查其功能
  • 负载测试: 测试软件在重负载或使用期间的性能
  • 压力测试: 确定软件承受压力(最大负载)时的断点
  • 集成测试: 测试组合或集成的一组组件的输出
  • 回归测试: 当修改任意组件(无论多么小),测试整个应用的功能

总结

任何包含持续测试的软件开发过程都将朝着建立关键反馈环路的方向发展,以实现快速和构建有效的软件。最重要的是,该实践将质量内置到 CI/CD 管道中,并意味着了解在软件开发生命周期中提高速度同时减少风险和浪费之间的联系。


via: https://opensource.com/article/20/7/automation-testing-cicd

作者:Taz Brown 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

深圳开源申请基于协议模糊测...
金融界2025年6月27日消息,国家知识产权局信息显示,深圳开源互...
2025-06-27 21:11:59
月之暗面放王炸!开源Kim...
快科技6月17日消息,月之暗面推出了针对软件工程任务的全新开源代码...
2025-06-17 21:13:15
MiniMax深夜开源首个...
不知道还有多少人记得,AI行业的六小虎。 行业内都在说,他们已经寂...
2025-06-17 12:12:44
UL Solution 游...
IT之家 6 月 13 日消息,UL Solution 今日宣布其...
2025-06-14 06:41:07
苹果电脑能否安装CentO...
苹果电脑能否安装CentOS系统?这是一个用户经常提出的问题。苹果...
2025-06-05 06:12:02

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...