截止日期:2021 年 10 月 25 日下午 23:59

2021 年质量状况报告

_了解同行和专家如何在他们的质量保证游戏中保持领先不是很好吗?这就是为什么我们要创建 2021 年质量状况报告,以从各个级别的专业人士那里收集最佳 QA 实践。

我们很高兴为前 100 名受访者提供 30 美元的亚马逊礼品卡,以及调查结果的最终报告。提高你的声音!_


DevOps 是文化理念、实践和工具的组合,可提高组织高速交付应用程序和服务的能力。

– AWS

正如定义所暗示的,速度和可靠性是 DevOps 测试策略中的两个主要目标。

通过将 Dev(开发)Ops(运营) 功能紧密结合在一起,可以消除传统的独立工作心态。反过来,该过程使大规模流程的紧凑交付计划不再是一场噩梦。

在 DevOps 中进行测试

[How-To-Build-A-DevOps-Testing-Strategy-for-Team](https://res.cloudinary.com/practicaldev/image/fetch/s--QaetaMg2--/c_limit%2Cf_auto %2Cfl_progressive%2Cq_auto%2Cw_880/https://d1h3p5fzmizjvp.cloudfront.net/wp-content/uploads/2021/08/How-To-Build-A-DevOps-Testing-Strategy-for-Teams_Banner1.png)

那么 DevOps 环境中的测试是什么样的呢?两个简单的概念:测试自动化和连续测试。

自动化测试

可悲的是,在 DevOps 中进行测试时,“尽可能自动化”始终是首选策略的神话是不真实的。

自动化的主要工作是减少人工密集型工作负载,而不是完全消除它们。

一些不需要人工干预的平凡任务的例子包括:

  • 软件测试: 简单单元、回归或端到端测试通常是自动化的

  • **基础设施管理:**减少 IT 基础设施(如服务器和网络)的重复设置、配置和维护

  • **日志管理:**自动化日志工具将有助于更好地处理大量数据,从应用程序请求到错误消息

  • 监控: 对所有测试活动的系统运行状况和性能趋势提供准确和最新的反映

连续测试

连续性只是开发和部署过程中的“必须”,以坚持 DevOps 的快速交付质量目标。

在深入进行持续测试之前,我们需要先谈谈CI/CD。

CI/CD 是持续集成和交付(或开发)的缩写。

本质上,这是一个由不同工具组成并完全由自动化支持的管道。

在 DevOps 自动化和测试策略中发挥着不可或缺的作用,它的四个主要部分是:

  • 持续集成(CI):持续集成或将新代码合并到中央存储库(主线)并将它们编译到构建中。

  • **持续测试:**通过自动化单元、集成或端到端测试从构建中验证代码和产品质量,以搜索错误或提交中是否有任何问题

  • 持续交付(CD):在最近提交的代码被推送到 staging 后,CD 支持开发人员手动挑选合格的候选版本推送到生产环境

  • 持续部署 (CD): 通过 ** 自动** 在运行端到端测试之前将每个成功的构建交付到生产环境来扩展持续交付,以确保没有回归

为您的团队定制 DevOps 测试策略

[自定义 DevOps 策略](https://res.cloudinary.com/practicaldev/image/fetch/s--PJOn9-FY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// d1h3p5fzmizjvp.cloudfront.net/wp-content/uploads/2021/08/How-To-Build-A-DevOps-Testing-Strategy-for-Teams-1.png)

我们不想把它告诉你,但不——没有一种适用于 DevOps 测试策略的万能的方法。

鉴于每个团队都处于不同的发展和约束页面,为每个人设计一个单一的路径是行不通的。

但是,团队可以利用的测试策略中仍然存在一些重叠。

在 DevOps 世界中沉没测试思维

通过整个团队的方法,DevOps 范式提高了共享所有权的价值。 DevOps 还努力降低整个软件开发生命周期 (SDLC) 中的移交或手动签核的频率。

为了使这成为可能,开发和运营团队都需要从一开始就自觉地将彼此的事务牢记在心。

特别是在测试方面,对于指定的测试人员来说,这不再是一个人的工作。但相反,它需要开发团队的参与,准确地说是开发人员,以确保无错误的推出。

理想情况下,该过程看起来像这样。

开发人员 Becky 在 GitHub 上编写她的代码并将其提交到主线。然后,她通过等待 Jenkins 等 CI 工具运行单元和集成测试并审查已进行的新更改来监控管道。

在这里,应用CI 工具有助于更早地发现集成错误、代码错误或逻辑。

随后,如果测试结果返回失败,Becky 可以直接修复构建或分支上的工件。

构建通过后,她可以将其部署到登台环境。测试团队立即从他们团队的通信平台 Slack 收到实时通知。

测试员乔伊进来了。这里需要注意的一点是,乔伊现在可以更多地专注于测试并最大限度地扩大其覆盖范围。为什么这样?

由于 Becky 的提交已经过 CI 的全面测试,因此大多数错误都已提前修复。乔伊通常记录错误的时间现在大大解放了。

他现在将手动探索/测试分期的新变化并开发新场景。在此之后,端到端测试也将使用自动化测试工具完成,例如 Katalon Studio 或 Selenium。

通过这个过程,我们已经可以看到跨职能团队的形成。结果呢?最终产品的失败或成功不再是相互指责的游戏,而是在巧妙地协作工作中学习的一课。

标准化自动化和编排

我们已经达成共识,即自动化促进了整个测试生命周期的可扩展性和敏捷性。然而,在 DevOps 中正确实施自动化测试是另一个需要解决的难题。

以下是大多数团队遇到的一些问题以及解决这些问题的一些建议。

我应该自动化哪些测试?

确定要自动化的内容取决于执行时间、测试频率、资源需求和测试用例特征等因素。您_应该_自动化的一个例子是回归测试,因为它需要为每个版本完成。但是,您不应该使用探索性测试的实例。这是因为此类测试需要个人判断并从以前的测试运行中汲取见解。

我应该什么时候应用测试自动化?

在新代码不断与 CI 合并的环境中运行,我们需要重申自动化套件在生成更快反馈方面的重要性。但是这一次,你需要知道如何划分和安排你的测试,或者用技术术语来说,向左移动或向右移动。

为了减少模糊性和潜在的测试重复,测试需要根据它们的粒度进行排序。这是什么意思?这是一个快速细分。

[Martin Fowler 测试金字塔](https://res.cloudinary.com/practicaldev/image/fetch/s--O2MoPLje--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://d1h3p5fzmizjvp. cloudfront.net/wp-content/uploads/2021/08/How-To-Build-A-DevOps-Testing-Strategy-for-Teams-2.png)

测试金字塔是一个非常简单的概念,主要关注三个关键词:粒度、隔离和集成。

  • **粒度:**衡量您的测试的集成或隔离程度

  • 隔离测试: 指的是从整个应用程序中测试少连接的各个组件(单元和集成测试)

  • **集成测试:**查看从最终用户的角度从上到下深入到您的应用程序的测试(端到端测试)

对于仅检查代码库工作的功能或类的较小范围的单元和集成测试,它们将被认为是孤立的,因此执行时间要快得多。由于能够在不到一分钟的时间内将结果反馈给您所做的更改,因此这些测试应该放在开发项目时间线的初始阶段。

相比之下,当您深入到 SDLC 的后期阶段时,像端到端这样的测试被认为范围更广、集成度更高,并且需要数天或数周才能完成。为什么?因为这种系统级测试会检查您的整个软件,这可能天生就是不稳定的,维护起来真的很痛苦。

我如何才能最大限度地提高 DevOps 中的测试自动化效率? 这个问题的答案取决于您的团队试图解决或实现的问题和目标。不过,您可以通过以下方式充分利用自动化功能:

  • 选择正确的工具和框架

  • 了解测试基础知识

  • 定义性能指标以查看通过和失败模式

  • 开发良好的文档实践并将其利用到您的 CI/CD 流程中

我的团队如何简化自动化、CI/CD 和 DevOps 管道?

在制定自动化测试策略之后,下一步是DevTestOps 编排,通过有效协调相关任务、工具套件和实用的结果愿景来提供您的整体投资回报率。

持续监控

现在操作已经扩展到更大的规模,让每个人都了解性能以及一切在用户手中如何工作(综合监控)至关重要。该策略将允许所有成员收到任何出现的问题的通知,并以正确的见解及时处理它们。

为了使监控过程更顺畅,您的团队应考虑:

  • 记录

  • 监控

  • 警报

  • 追踪

正确的工具和选择

选择正确的工具堆栈和技术并不是要选择最好或最便宜的,而是要与您当前的基础架构和团队的技能组合具有最高互操作性的那个。

开源选项是最受欢迎的。让我们以用于测试自动化的 Selenium 为例。尽管它是最知名的,但它带来了许多高级别的要求,许多团队都在摸索着要满足。

采用 Selenium 还附带先决条件,包括维护框架的编程知识和创建和运行测试的额外专业知识。

此外,许多开源工具集并没有与 CI 工具或常见生态系统进行原生集成,从而增加了额外的编码和变通方法。因此,即使您没有从口袋里掏出一分钱,为补偿其学习曲线而付出的时间也是您付出的代价。

相反,从商业工具或从单一供应商(如 Atlassian 或 Azure DevOps)购买整个工具堆栈的许可证会增加您必须进行的财务投资。但是,作为回报,您可以通过专门的技术支持、个性化培训和稳定的版本来持续改进产品,从而物有所值。

Katalon Studio 和 TestOps – DevOps 快速通道中任何测试策略的关键要素

[Katalon Studio 和 TestOps DevTestOps 平台](https://res.cloudinary.com/practicaldev/image/fetch/s--Rh6rVk4x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// d1h3p5fzmizjvp.cloudfront.net/wp-content/uploads/2021/08/How-To-Build-A-DevOps-Testing-Strategy-for-Teams-3.png)

到目前为止,您应该能够想象出在 DevOps 文化中表现出色的测试策略需要具备的条件。有很多需要吸收,但并非不可能实现。

我们现在知道,工具选择步骤是决定或破坏最佳测试计划的众多因素之一。

对于技能差距很大的团队,比如在没有编码专业知识的情况下转换手动测试人员和自动化新手,非常需要一种简化自动化复杂性的工具。

Katalon StudioTestOps 是领先的DevTestOps捆绑包,被超过 100,000 个企业生态系统广泛采用。以下是您可以使用它们做什么的一瞥。

测试自动化和编排做得正确。 作为最兼容的Selenium 替代品,Katalon Studio 的低代码方法从您的测试创建阶段加速到减少维护负担,使用:

  • 关键字驱动测试

  • 自愈机制

  • 智能等待

  • 页面对象模型和 BDD 设计支持

进一步扩展编排功能,TestOps 让您可以轻松地安排和触发回归或以可定制的频率构建,并伴随智能自动分布式和并行执行以缩短完成时间。

拥抱左移实践。 TestOps 提供了一个协作仪表板,使开发人员能够更早地参与测试生命周期。通过与个顶级 CI 工具(例如 Jenkins、Azure DevOps、CircleCI)的原生集成,可以自动绘制、存储和集中单元测试和集成测试报告到一个地方。这有助于:

  • 根据历史趋势加快故障或片状调查

  • 在常见项目管理平台(例如 Slack 和 Jira)上触发所有事件的警报

主动持续监控**。** 从 QA 工程师到经理和业务分析师,TestOps 平台将所有运营和开发活动组织成一个实时且易于理解的快照。团队可以受益于:

  • 简单的任务委派流程,带有所有者和创建者的构建和测试 ID

  • 运行顺畅的质量门,用于监督预生产环境和生产环境中的所有问题

  • 可视化的执行结果和有洞察力的报告,以确定要采取的行动

我们希望这些见解有助于您为您的团队构建 DevOps 测试策略。

请记住,一个组织的完美解决方案不一定是您的最佳解决方案。已帮助超过 100,000 家企业和团队定制了他们的测试策略,请观看 Katalon 专家的演示,以便通过 Studio 和 TestOps 启动和运行您的定制计划。

尝试 Studio 和 TestOps

帖子DevOps 测试策略首次出现在Katalon Solution上。

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐