ci/cd自动化测试
“如果事情似乎处于控制之中,那么您就不会足够快。” -马里奥·安德烈蒂
测试自动化意味着持续专注于在软件开发过程中尽早及早地检测缺陷,错误和错误。 这是通过使用追求质量为最高价值的工具来完成的,这些工具已经到位以确保质量,而不仅仅是追求质量。
连续集成/连续交付(CI / CD)解决方案(也称为DevOps管道)最引人注目的功能之一是可以更频繁地进行测试,而又不会给开发人员或操作员增加更多的手工工作。 让我们谈谈为什么这很重要。
为什么要在CI / CD中自动化测试?
敏捷团队迭代速度更快,以更高的速度交付软件和客户满意度,而这些压力可能会损害质量。 全球竞争造成了对缺陷的低容忍 ,同时增加了敏捷团队的压力,要求他们加快软件交付的迭代速度 。 减轻压力的行业解决方案是什么? DevOps 。
DevOps是一个有很多定义的好主意,但是对于DevOps成功至关重要的一项技术是CI / CD。 通过软件开发流程设计一个连续的改进周期可以带来新的测试机会。
这对测试人员意味着什么?
对于测试人员,这通常意味着他们必须:
- 进行更早且更频繁的测试(使用自动化)
- 继续测试“实际”工作流程(自动和手动)
更具体地说,无论是由编写代码的开发人员运行还是由质量保证工程师团队设计的任何形式的测试,其作用都是利用CI / CD基础结构来提高质量,同时又能快速移动。
测试人员还需要做什么?
为了更具体,测试人员负责:
- 测试新的和现有的软件应用程序
- 通过根据系统要求评估软件来验证和验证功能
- 利用自动化测试工具来开发和维护可重复使用的自动化测试
- 与Scrum团队的所有成员合作,以了解正在开发的功能以及实施的技术设计,以设计和开发准确,高质量的自动化测试
- 分析记录的用户需求,并创建或协助设计针对中度到高度复杂的软件或IT系统的测试计划
- 开发自动化测试,并与职能团队合作审查和评估测试方案
- 与技术团队合作,确定在开发环境中自动化测试的正确方法
- 与团队合作,以了解和解决自动化测试中的软件问题,并回应有关修改或增强的建议
- 参与积压的修饰,估计和其他敏捷的Scrum仪式
- 协助定义标准和程序以支持测试活动和材料(例如脚本,配置,实用程序,工具,计划和结果)
什么样的连续测试很重要?
您可以使用多种测试。 不同的类型并不是学科之间的界限。 相反,它们是表达测试方式的不同方式。 比较测试类型不太重要,而覆盖每种测试类型则更重要。
- 功能测试:确保软件具有其要求中的功能
- 单元测试:独立测试软件应用程序的较小单元/组件以检查其功能
- 负载测试:在重负载或使用过程中测试软件应用程序的性能
- 压力测试:确定承受压力(最大负载)时软件应用程序的断点
- 集成测试:测试一组组合或集成以产生输出的组件
- 回归测试:修改任何组件(无论大小)时,测试整个应用程序的功能
结论
任何包含持续测试的软件开发过程都将朝着建立关键反馈环路的方向发展,以快速发展并构建有效的软件。 最重要的是,该实践将质量内置到CI / CD管道中,并且意味着对提高速度,降低风险和软件开发生命周期中的浪费之间的联系的理解。
翻译自: https://opensource.com/article/20/7/automation-testing-cicd
ci/cd自动化测试