// //

Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>

X

通过持续测试加速软件交付

企业需要优化测试来快速交付高质量的应用程序。将持续的测试工具集成到您的CI/CD管道中,提高您的软件质量和覆盖率。

什么是持续测试?

持续测试过程实现自动化测试和自动化工具,作为软件开发管道的组成部分。它提供了在开发和最终发布软件过程中可能存在的任何商业风险的即时反馈。

持续测试的思想是来源于一种方法,这种方法的目的就是,减少对潜在退化和漏洞的反馈等待时间。随着开发人员现在要面临,在更短的交付周期内交付更复杂的程 续测试都将会一直发展。Selenium是一个开源的web应用程序测试工具,它把持续测试的各个方面都做到了完美落地。

一开始,持续测试引入了环境触发测试工具,也使用了传统的开发人员来触发测试的方式。它的范围从验证最终用户体验和背景以及自下而上的开发需求,到根据主要业务目标评估整个系统的需求。

如何进行持续测试?

DevOps团队使用自动执行的测试工具创建和组织测试脚本。开发人员和测试人员可以分析来自测试结果的数据,来确保应用程序按预期运行。

当这些自动化测试流程被集成到CI/CD工作流中,并在整个软件开发生命周期(SDLC)中执行时,我么就可以实现持续测试了。

应对当今的现代软件开发挑战

DevOps中的持续测试作为软件交付流程的一部分,可以对应用程序进行持续验证,因此我们可以放心地把持续测试应用在实际生产环境中。

Parasoft的持续测试平台通过提供有关项目实时健康状况的持续反馈,可以极大地增强团队开发和交付应用的信心。

完全掌控持续测试生态系统。

Parasoft不通过脚本来构建持续测试生态系统,而是提供了一种简单的方法来精确绘制每次持续测试执行期间应该如何构建测试环境,结合物理系统和虚拟系统依赖关系,让团队完全掌控测试环境。

团队可以利用非常方便的界面将所有正确的资源放准备好的测试环境中,比如说测试用例、测试数据、虚拟服务等等,这样做可以让团队在可预测的测试环境中实现可靠的测试工作。

获取关键信息反馈,加速DevOps流程。

通过包含分析和报告框架的集中式报告仪表板获得深入了解,团队可以更好地理解测试结果。Parasoft提供的不仅仅是简单的测试自动化和基本的仪表板,而且提供了更有意义的方法来分析如何处理其中呈现的信息。

Parasoft拥有独一无二地的解决方案,该解决方案可以聚合来自所有测试阶段的数据,从静态代码扫描和单元测试,一直到功能和非功能测试。所有这些信息都集中在高度交互式的仪表板中,这些仪表板可以无缝集成到CI/CD管道中,为您提供有关测试覆盖率和质量的即时反馈。

持续测试的要素

Testing pyramid showing where Parasoft automated testing tools fall within each stage.

公司需要考虑建立一个可伸缩的、基于测试金字塔的测试自动化实践,这是敏捷创始人Martin Fowler推荐的,也是《敏捷成功》一书的作者Mike Cohn建议的。

金字塔包含各种测试元素。它包括:

  • 单元和组件测试,它们是独立的,执行起来很快。它们构成了金字塔的底部。由于这些测试中的每一个都只覆盖了代码的一小部分或一小部分功能,所以应该有许多测试来最大化高质量的代码覆盖率。
  • 服务集成测试或API测试,需要更长的时间来执行,但却是功能测试自动化的“最佳点”,提供了系统按预期工作的保证。这些构成了金字塔的中部。
  • UI测试,速度较慢,但测试次数最少。应用程序必须在开发阶段就能成功地执行UI测试。它构成了金字塔的顶端。

为了完成持续测试,单元测试是必须的。API是验证用例的基本层。金字塔的顶端是团队优化端到端UI测试的地方。

优势,第1和第2阶段

持续测试可以让团队识别和修复早期阶段的退化和潜在的漏洞,这是公司实现这种类型测试第一阶段有价值的地方。

在下一个阶段,当您运行了功能和单元测试,并且利用服务虚拟化进行回归测试之后,您就可以关注非功能需求:安全性和性能。

开发人员很容易在应用程序中引入递增的性能问题,而他们往往没有意识到这一点。在开发过程中及时认识并解决这些问题非常重要,这样应用程序才能满足SLA(服务级别协议)的要求。

在这里,团队可以使用持续测试来左移性能测试。

  1. 首先,使用服务虚拟化来隔离您所负责的系统组件,并消除测试基础设施中的性能瓶颈。
  2. 接下来,利用现有的健壮的API测试组在系统部分上创建负载测试用例。
  3. 然后,将执行性能测试合并到CI(持续集成)管道中,并持续地实现测试。

这允许您从持续测试和测试驱动开发中获得更多的价值。

持续测试最佳实践

从Parasoft中受益。在不牺牲上市时间的情况下,降低开发高质量软件的成本。

自动构建有意义的API测试

与其他需要手动构建大量测试的API测试解决方案不同,Parasoft允许用户通过监控协议报文并利用人工智能和机器学习来快速构建测试用例,从而使这些测试变得有意义、可维护和可扩展。没有这一点,在紧迫的工期内快速构建正确数量的测试用例是极其困难的。

将测试执行集成到持续集成中

Parasoft是为自动化而生的,因此即使是最复杂的单元、API、UI或端到端测试用例也可以通过简化的命令行执行或通过开放式API调用以编程方式运行。使用Parasoft与服务虚拟化的无缝集成,自动化测试可以从其依赖关系中解耦并持续执行,从而更容易将测试执行集成到CI平台中,并消除了构建脚本以动态和持续执行测试用例的需要。

减少处理应用程序变更所花费的时间

在生产环境中,持续测试包括不断适应和响应变化,无论是在源代码、API还是测试本身。Parasoft提供了独一无二的解决方案,帮助用户了解应用程序在何时何地发生变化,以及如何更新必要的测试用例,以便尽快获得持续的反馈。

持续测试有什么帮助

减少构建完整测试套件所需的时间

快速测试创建是持续测试的一个基本步骤,因为团队越快建立测试集,就能越快得到反馈。

Parasoft帮助开发团队在测试金字塔的每一层快速创建测试,从代码级单元测试到自动化功能API和UI测试。构建一个完整的自动化测试套件为团队提供了即时反馈,可以在整个开发流程早期识别回归。

创建更有意义的测试

Parasoft帮助用户优化他们的测试策略,通过创建一个集中的测试库,以最小的重复工作来全面覆盖整个应用程序,以更好地了解真实的风险。

让测试更容易维护

敏捷开发过程引入的较短迭代要求快速测试并适应应用程序中的持续变化,从极小的元素变化到全新的资源添加。

让测试在虚拟环境中稳定可靠

持续测试不仅仅是测试自动化,在测试自动化中,团队通常每晚会自动运行测试。当持续测试正在进行时,意味着当你提交代码时,可以立即运行测试用例。

为了保证团队的所有的测试环境在准备执行测试的时候是可用的和稳定的,团队可以利用服务虚拟化来帮助我们保证测试环节的可用性和稳定性。

将持续测试集成到DevOps管道中

任何持续测试计划的当务之急是将功能测试集成到软件交付管道和DevOps工具链中。

Parasoft屡获殊荣的平台为API测试的创建和执行提供了一个开放和可互操作的解决方案,因此用户可以与工具链中的许多工具进行集成,从创建到执行再到结果检索,同时可以采取更加有意义的动作。

获得可行的见解,最大化持续反馈的价值

为了从持续反馈中采取行动,团队需要明确一些重要的问题:我的测试有多完整?我的质量和安全风险在哪里?我需要关注哪里?需要做什么来解决关键风险?

Parasoft提供了团队来自各种测试活动(静态分析、单元/功能/手动测试、代码覆盖和代码审查)的所有信息的分析,因此团队可以获得最有意义的反馈。

通过将所有这些数据集成到您的持续集成(CI) /持续交付(CD)管道和其他记录系统(如JIRA)中,关键的及时反馈信息可以让流程的每个阶段受益。

如何开始

现在您已经很好地了解了连续测试以及它如何、何时以及为什么工作,现在是开始实践持续测试的时候了。借助Parasoft的SOAtest API 测试工具,您可以测试物联网Web服务、REST和SOAP API、数据库、微服务等。使用Parasoft Virtualize完全控制您的测试数据和环境。

Parasoft持续测试的完整解决方案

通过在交付过程中不断测试您的应用程序,您可以即时了解开发过程中引入的任何潜在失败风险。

持续测试提供了开发和运营之间的桥梁,Parasoft的持续测试平台使团队能够最大限度地协作,在软件交付过程中更早地识别缺陷,降低风险,并满怀信心地交付高质量的软件,从而提高质量保证。

 

尽可能将移动应用程序测试左移

Parasoft自动化软件测试工具的持续质量平台无缝集成到您现有的CI/CD管道和敏捷DevOps工作流中,通过在整个开发流程中集成持续测试来提高您的软件质量。

Large arrows demonstrating CI/CD process: plan, code, build, test, release, deploy, operate, monitor, and repeat.

常见问题

持续测试的主要目的是在开发周期中尽可能早地揭示最新版本或构建候选中的业务风险量。揭示的风险允许开发人员在开发期间修复问题,目的是在发布时消除问题。

持续的测试为开发过程的每一步提供了洞察和度量,从而允许开发人员和测试人员测量并降低风险。在开发过程中发现问题使开发人员能够更快更有效地管理和消除问题。无缺陷、快速的发布候选版本可以帮助企业节省精力、金钱和时间。

持续测试是DevOps流程中不可或缺的一部分,可以加速和支持它。持续测试消除了无意义或冗余的测试,并产生增值任务,极大地帮助公司实现成功的软件发布。

通过持续测试,开发人员可以在开发阶段、集成和预发布区域、生产和交付期间以及最终部署期间进行测试。通过优化所有这些阶段的测试以验证应用程序更改,开发人员可以在生产和发布之前检测并修复错误,这与开发周期最后阶段的传统测试方法相比是一个巨大的变化。