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中国 荣誉推出

相关内容

黄杨木精品达摩,长12/1...
黄杨木精品达摩,长12/11/39CM
2026-04-13 02:59:19
Anthropic推出顶级...
4月7日,Anthropic启动“Project Glasswin...
2026-04-08 19:10:22
别把AI养成自己的佞臣!A...
快科技4月1日消息,随着AI不断深入日常生活,大家有没有发现AI越...
2026-04-01 20:34:54
主流AI存过度谄媚倾向,或...
新一期美国《科学》杂志发布美国斯坦福大学团队研究成果,当前主流人工...
2026-03-28 11:58:08
益普索推出Vision A...
——用Vision AI与AI智能体捕捉产品体验中的真实瞬间 北京...
2026-03-24 20:26:49
美团开源5677亿参数大模...
IT之家 3 月 21 日消息,美团现已开源 LongCat-Fl...
2026-03-21 23:34:20

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...