LEAP

LEAPWORK的自动化见解和生产力提示。

所有帖子

CI / CD中的连续测试:什么,为什么以及如何

当今许多软件公司正在使用持续集成和持续交付(CI / CD)来快速发布高质量的产品。

CI / CD方法的出现是由于当今的软件用户对缺陷的容忍度越来越低,同时期望快速更新和修复。

但是建立CI / CD管道可能是一个挑战。如果没有正确的自动化策略和工具,就​​无法获得CI / CD。

因此,在此博客文章中,我们将用简单的术语和实际示例来说明什么是CI / CD,什么是连续测试以及如何使用正确的工具来实现它。这将使您走上CI / CD成功之路。

什么是CI / CD?

为了解释什么是CI / CD,从不是的开始可能会很有用。或者更确切地说,CI / CD之前存在什么,为什么我们现在从CI / CD转向CI / CD。

你们中的大多数人可能都熟悉瀑布方法,该方法是软件开发中的一种方法,您先开发然后测试然后发布。没有进程重叠,并且并行不发生任何事情。您可以先开始并完成一些操作,然后再继续进行下一个操作。

在许多领域,这听起来似乎不是一个坏主意。例如,一般来说,在前往沙漠之前先完成主要课程是个好主意,在洗个澡之前先完成锻炼也是个好主意。

但是在软件开发中,情况有所不同。

为了说明原因,让我们添加一些背景信息。

想象一下,您必须编写应用程序的所有代码。这可能要花几个月甚至几年的时间。完成后(假设只花了6个月的时间),您就将其传递给测试人员。测试人员发现一段无效的代码。恰好是您在项目开始时编写的一些代码。到这个时候,您已经忘记了如何以及为什么编写这样的代码。您必须重新编写代码,顺便说一句,这会影响其余大部分代码。错误开始滚滚而来,该项目最终花费了您数年时间并花费大量资金。

此示例仅来自软件开发管道的一个区域-测试。

当然,软件开发远不止于此。

即使在测试阶段之前,也可以使用相同的“瀑布方法”。

假设我们有多个开发人员在同一个应用程序上工作。每个人都用自己的代码贡献某些功能或错误修复。他们在编写代码时会将其推送到同一代码存储库中。但是,在某个时候,一个开发人员编写的一段代码不会与另一位开发人员编写的某些代码合并。现在,他们需要花时间来修补这些代码,这又花费了比最初计划更多的时间,从而中断了整个软件开发过程。

您可能现在已经看到,瀑布式方法不适用于以快速,高效和精益的方式开发软件。

另一方面,CI / CD对于快速交付质量非常有用。

CI / CD是一种比线性更为循环的方法,这意味着过程是交织在一起的,反馈回路是恒定的。瀑布可能最容易被描绘成……瀑布,CI / CD最容易被描绘成一条链。瀑布法与CI / CDCI / CD是一条自动链,其思想是尽可能少地涉及人工,以避免不必要的人工操作和错误。

当然,这并不意味着人类不参与该过程。这仅意味着该链应该能够独立运行,检查错误并在出现问题或不合并时通知测试人员和开发人员,以便他们可以比在瀑布中更快地进行更改。方法。

CI / CD因此与 开发运维敏捷方法,因为所有这些都致力于实现通过灵活的方法快速交付质量的共同目标。

由于它对整个管道的重要性,因此测试是CI / CD中的关键领域。接下来,让我们放大该区域。

What is continuous 测试?

测试是在CI / CD管道中可以并且应该在很大程度上实现自动化的一种过程。

为什么?因为启用所谓的连续测试的自动化测试可确保尽早发现错误并在最终用户遇到任何中断之前将其修复。想法是“快速失败”,因为在早期发现时更容易修复错误,因为该错误通常没有走得太远或没有换手,而且成本也低得多。

可以自动化的某些类型的测试包括回归测试,功能测试,集成测试和性能测试。

At the core, continuous 测试 is about three things:

  • 测试 at earlier 发布管道的各个阶段
  • 测试 more often before release
  • 测试 everywhere, 也就是说,跨环境和设备

您可以在以下博客文章中了解有关持续测试的更多信息: 持续测试在持续交付中的关键作用。

当然,CI / CD不仅仅是测试,因此,接下来,让我们看一下整个CI / CD管道。

CI / CD管道是什么样的?

让我们从持续集成(CI)开始。

再说一次,我们有多个开发人员在同一个应用程序上工作。每个人都有自己的功能或错误修复程序,在为应用程序做贡献的同时也要进行这些工作。

当他们编写代码时,将其推入相同的代码存储库(通常为GitHub)中,以保持不同版本的概览。

从那里开始,构建系统(通常是Jenkins)将其构建。

由于有多个开发人员在编写代码,所以棘手的部分是确保他们的贡献不会给应用程序带来任何错误。

这就是测试自动化的源泉。正如我们已经确定的那样,测试自动化是CI / CD难题中必不可少的部分,因为它可以确保在应用程序出现问题时立即通知每个人。在这里,许多敏捷团队选择LEAPWORK,因为它需要零编码,因此易于设置和维护。 

一旦测试通过,整个构建周期就被认为是成功和完整的。

这种将多个开发人员同时处理同一个应用程序而不会在合并代码中遇到任何问题的结构称为“持续集成”。

CI / CD管道接下来是CD。大多数人谈论持续交付,尽管有些人谈论持续部署。

到目前为止,我们已经了解了如何使用代码存储库以及构建和测试系统在自动管道中对应用程序进行编码,构建和测试。

一旦测试通过,下一步就是发布该应用程序的新版本。这意味着以某种形状或形式将其提供给最终用户。

如果这是通过管道自动完成的,则称为连续交付。

下一步是获取打包的应用程序并将其自动部署到目标环境中。这称为连续部署。

如何找到正确的CI / CD测试自动化工具

到目前为止,我们已经确定测试自动化是CI / CD的推动者。但是,某些测试自动化工具比其他工具更适合CI / CD。

由于CI / CD的目的是在敏捷问题中快速交付质量,因此测试自动化工具应易于使用,以免浪费测试人员不必要的时间。

如果测试人员花在编程或维护测试上的时间比探索性测试和测试设计花费的时间多,那么测试就不会连续进行。 同样,如果自动化工具无法通过提供易于理解的测试用例概览来方便地进行移交和协作,那么故障排除就变得很困难,那么测试也就不会持续进行。

在此有关连续测试工具的博客文章中,我们列出了在自动化测试工具中应注意的五件事,以确保您可以实现或维持CI / CD的工作。

LEAPWORK无代码自动化:CI / CD的推动者

如果您正在寻找一种可以与CI / CD管道无缝配合使用的测试自动化工具,那么您将需要一个易于使用和维护且可以与所有现有技术一起使用的工具。

LEAPWORK的无代码自动化平台提供了一种用户友好的测试自动化方法,可以轻松集成到您的CI / CD管道中。

要了解有关无代码测试自动化的更多信息,并了解它对持续测试和CI / CD的贡献, 注册我们的网络研讨会:在敏捷和持续交付环境中进行持续测试。

sign up for continuous 测试 webinar

 

相关文章

如何使用无代码硒自动化移动Web测试

在持续的大流行中,随着实体店的关闭,网站,尤其是电子商务网站,比以往任何时候都必须更加专注于在线创建优质的客户体验。这就需要更快的测试和新的网站功能。

什么是移动Web测试,为什么要自动化?

网站和Web应用程序是企业获取客户的重要组成部分。只有一个糟糕的客户体验会影响他们的购买决定,尤其是在电子商务中。 在移动网站上拥有负面体验的用户将来向该业务购买的可能性降低了62%。 - Think with Google. 

通过自动测试简化ServiceNow中的系统升级

对于许多企业而言,ServiceNow是运营骨干。但是一年两次,恐慌不断发展。 现在的服务发布了两个主要的强制升级,需要进行大量测试。而且,功能测试和回归测试通常会被推迟或抛在后面。 如果推迟或跳过这些测试,则企业将承担风险。在这些关键时刻,系统管理员和开发人员面临着快速完成功能和回归测试的压力。