“如果一切看起来都在控制之中,那只是因为你的速度不够快。” —Mario Andretti
测试自动化意味着持续专注于在软件开发过程中尽早且尽可能快速地检测缺陷、错误和漏洞。 这是使用将质量作为最高价值并被部署到位以确保质量的工具完成的,而不仅仅是追求质量。
持续集成/持续交付 (CI/CD) 解决方案(也称为 DevOps 管道)最引人注目的功能之一是能够更频繁地进行测试,而不会给开发人员或运营人员增加更多手动工作。 让我们讨论一下为什么这很重要。
为什么要在 CI/CD 中进行自动化测试?
敏捷团队迭代速度更快,能够以更高的速率交付软件和客户满意度,而这些压力可能会危及质量。 全球竞争对缺陷的容忍度较低,同时增加了敏捷团队对软件交付更快迭代的压力。 缓解这种压力的行业解决方案是什么? DevOps。
DevOps 是一个大概念,有很多定义,但对于 DevOps 成功始终至关重要的一项技术是 CI/CD。 通过软件开发管道设计持续改进的周期可以为测试带来新的机会。
这对测试人员意味着什么?
对于测试人员,这通常意味着他们必须
- 更早且更频繁地测试(通过自动化)
- 继续测试“真实世界”的工作流程(自动化和手动)
更具体地说,无论是由编写代码的开发人员运行,还是由质量保证工程师团队设计,任何形式的测试的作用都是利用 CI/CD 基础设施来提高质量,同时快速行动。
测试人员还需要做什么?
更具体地说,测试人员负责
- 测试新的和现有的软件应用程序
- 通过对照系统要求评估软件来验证和确认功能
- 利用自动化测试工具来开发和维护可重用的自动化测试
- 与 Scrum 团队的所有成员合作,了解正在开发的功能和实施的技术设计,以设计和开发准确、高质量的自动化测试
- 分析记录的用户需求,并为中等到高度复杂的软件或 IT 系统创建或协助设计测试计划
- 开发自动化测试并与功能团队合作以审查和评估测试场景
- 与技术团队合作,确定在开发环境中实现测试自动化的正确方法
- 与团队合作,了解和解决自动化测试中的软件问题,并响应修改或增强建议
- 参与待办事项梳理、估算和其他敏捷 Scrum 仪式
- 协助定义标准和程序,以支持测试活动和材料(例如,脚本、配置、实用程序、工具、计划和结果)
测试是一项非常重要的工作,但它是有效构建软件的重要组成部分。
哪种持续测试很重要?
您可以使用多种类型的测试。 不同的类型不是学科之间的明确界限; 相反,它们是表达如何测试的不同方式。 比较测试类型并不重要,更重要的是涵盖每种测试类型。
- 功能测试: 确保软件具有其需求中的功能
- 单元测试: 独立测试软件应用程序的较小单元/组件,以检查其功能
- 负载测试: 测试软件应用程序在重负载或使用期间的性能
- 压力测试: 确定软件应用程序在压力(最大负载)下的断点
- 集成测试: 测试组合或集成以产生输出的一组组件
- 回归测试: 当任何组件(无论多么小)被修改时,测试整个应用程序的功能
结论
任何包含持续测试的软件开发过程都正在朝着建立关键反馈循环以快速行动并构建有效的软件的方向发展。 最重要的是,该实践将质量构建到 CI/CD 管道中,并意味着理解在软件开发生命周期中提高速度同时降低风险和浪费之间的联系。
2 条评论