彩票走势图

通过在开发团队和测试团队之间共享测试资产来加速软件测试

原创|使用教程|编辑:郑恭琳|2020-11-24 10:33:52.150|阅读 259 次

概述:尽管整个左移概念确实具有难以置信的价值,但您可以通过简单地减少跨功能测试的返工并改善团队之间的协作来加速测试以跟上开发的步伐。也就是说,如果您拥有正确的工具。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

尽管整个左移概念确实具有难以置信的价值,但您可以通过简单地减少跨功能测试的返工并改善团队之间的协作来加速测试以跟上开发的步伐。也就是说,如果您拥有正确的工具。

今年,特别是最后一个季度,主要是关于加速测试的对话,尤其是如何在开发过程中同时调整测试策略。因此,我非常高兴与很多人分享如何使用Parasoft SOAtest减少功能测试和非功能测试的返工,同时改善团队之间的协作,同时加快测试的速度以跟上开发的步伐。

我可以自信地说SOAtest是功能测试创建和自动化的完整解决方案。这是一家公司经过17年的发展所产生的鲜血汗水和眼泪,该公司始终专注于测试自动化,并使客户更轻松,更轻松地进行测试。在端到端测试方面,它减少了为各种类型的功能测试创建测试的手动工作,例如服务定义/合同测试、冒烟测试、API组件测试、API场景测试、Web UI测试、数据库测试、全渠道测试、微服务测试、性能/负载测试和API安全测试,所有这些都可以轻松自动化,并且可以通过命令行界面或SOAtest屡获殊荣的REST API绑定到您的CI/CD管道。

我对SOAtest及其技术深度、人工智能和机器学习的创新以及它在使我们的客户实现质量和交付目标方面所取得的成功感到无比赞叹;但是,今天,我想谈一谈当组织使用SOAtest来弥合开发、质量保证和性能测试团队之间的差距,从而在测试组织中实现完全协同作用时释放的价值。


开发为测试奠定基础

因此,我只是撕掉创可贴并放在那儿:开发应该进行测试

我不仅在说单元测试(显然很有价值)。开发应参与测试任何新的或更改的API。现在,我并不是说开发应该构建完整的测试方案,并且我认为当您真正研究它时,开发很可能已经在进行我在这里谈论的一些测试。当构建新的API或对API进行架构或服务更改时,开发通常会为每个API最少创建合同测试和冒烟测试,以验证是否根据规范编写了服务合同并验证了架构(请求和响应)和端点(HTTPMQ/JMS Topic/Queue等)。

如果开发人员可以开始使用相同的功能测试工具来创建测试,则质量检查团队可以简单地利用这些测试来形成他们需要验证的更复杂的测试方案。那么开发人员如何利用Parasoft SOAtest来帮助加速测试?

开发人员可以创建服务定义测试

使用Parasoft SOAtest,开发人员可以非常轻松地验证:

  • 服务定义在语义上是否正确?
  • 描述的服务有效吗?
  • 服务是否符合互操作性标准?
  • 服务最近有变化吗?

使用SOAtest的开发人员可以通过使用该服务定义文件轻松创建测试以验证和实施WSDLSwaggerRAML等策略。SOAtest将执行架构和语义有效性测试,以确保定义文件是机器可读和可使用的。它将验证互操作性以确保它符合服务定义文件的行业标准,最后它将创建一个回归测试以验证自上次测试运行以来未发生任何更改。

这些测试提供了一个稳定的基础,QA可以利用该基础来有效地建立可靠而有弹性的测试策略(稍后会详细介绍)。

开发人员可以创建组件测试(烟雾测试)

使用Parasoft SOAtest,开发人员可以轻松创建其组件测试,以测试服务的各个组件以验证以下内容:

  • 请求/响应有效载荷格式正确
  • 响应状态符合预期
  • 响应错误有效负载具有正确的错误消息
  • 回应符合基准标准
  • 在预期的时间内收到答复

使用SOAtest,创建这些功能性烟雾测试实际上就像将定义文件上传到SOAtest并选择“创建功能性测试”一样简单。这将自动解析您的API,为该API中包含的每个服务创建一个测试。这些测试可立即运行,并允许开发人员花费最少的时间来验证他们可能收到的错误是正确预期的错误消息和响应。


通过改善团队之间的协作和利用工作来加速测试

至此,开发工作已经完成,他们已经验证了每种服务的基本功能,现在轮到质量检查了。测试人员需要创建超出基本功能的测试,并测试API的实际业务逻辑和复杂场景,以发现无法预料的意外行为。开发人员在构建它方面做得很出色,而质量检查的工作是创建复杂的方案,以测试服务协同工作时的稳定性。我喜欢这样看:当开发人员使用SOAtest进行合同和组件测试时,QA来到了一个厨房,厨房里已经放满了可以混合、掺合和组装成餐的配料。

对于我来说,令人惊讶的是,测试工件的这种可重用性具有多么宝贵,以及它可以通过加速QA创建开发已经完成的测试的返工而加速测试实践。在工作智能范式中,质量检查从储备丰富的厨房开始,并且可以在更短的时间内完成更多工作。这是合乎逻辑的。

让我们看一下如何加快测试速度。

重用开发人员的测试工件以有效创建有意义的方案测试

QA可以重用开发人员在Parasoft SOAtest中创建的相同组件测试,以确保一切都在指定的方案中正常工作。他们能:

  • 合并到方案中时,确保API正常工作
  • 用数据驱动测试
  • 使用响应数据输入后续请求
  • (可选)利用启动和拆卸测试

由于QA已经具有所需的构造块(由开发提供),因此他们可以使用简单的复制和粘贴命令以无脚本的方式选择和选择将用于测试其方案的各个组件。可以将这些组件拖放到正确的顺序,并进行重组以创建每个方案。只需单击几下,就可以对第一个测试的响应和信息进行参数化,并用于驱动第二个测试的请求数据,依此类推等等。

得益于开发团队已经提供的组件,这些场景测试的创建效率更高。借助SOAtest,您可以进一步提高效率,通过使用机器学习将业务逻辑(即断言、验证、身份验证)“模板化”为规则,从而进一步减少返工。重用测试逻辑可以提高API测试的一致性,同时通过消除以前由另一个团队成员完成的工作来加速测试。

减少开发和测试之间的乒乓球,以加快缺陷修复时间

由于开发人员和质量检查人员之间的鸿沟而引起的一种持续的斗争是,质量检查人员发现缺陷时发生的沟通交流。记录该缺陷,截取屏幕截图,写出所发现的缺陷的确切测试步骤,然后将其告知开发人员是一项非常耗时的任务,开发人员通常会在令人沮丧的答复中回来,认为它可以正常工作他们的环境。

开发人员和质量检查人员之间的这种乒乓球会减慢缺陷修复时间,并让开发人员(因为他们难以重新创建测试环境)和测试人员(陷入混乱的文档和沟通周期,而不是浪费精力)浪费宝贵的时间他们花费更多的时间进行测试)。

相反,当两个团队都使用Parasoft SOAtest时,通过创建可重新运行的测试方案来填补这种沟通/协作空白,从而极大地加快了测试人员与开发人员之间的知识共享。质量检查成员发现问题后,他们可以快速创建测试方案(.tst文件),展示其行为,然后与开发团队共享。然后,开发人员可以在其计算机上运行测试方案以查看行为,并可以查看导致错误行为的确切步骤和调用,从而缩短了缺陷修复时间。

管理API架构和服务更改以减少测试维护的负担

质量检查现在正在明智地进行。他们创建了一个一致的测试API的策略,该策略建立在Development开发的现有组件测试的基础上,通过模板化业务逻辑的应用程序来减少返工,从而可以在测试团队中重复使用和利用它。但是,将更改引入您的应用程序后会发生什么?

变更可以采用多种形式,例如:

  • 协议消息格式更改
  • API添加或删除的元素
  • 代码更改会影响数据格式
  • 正在重新架构为微服务的服务

通常,让质量检查组织感到头疼的是了解这些更改,确定受更改影响的测试用例,并更新和重新运行这些测试用例以确认更改没有破坏任何内容。如果没有SOAtest,则需要对API定义文件的两个版本进行大量研究,并付出艰辛的努力来理解受影响的测试以及如何编辑或重写每个受影响的测试以验证更改。

SOAtest通过其变更顾问模块为质量保证提供了一种轻松的方法来管理和减轻变更的影响。还记得那些对库存质量保证厨房非常重要的服务定义或合同测试吗?这些服务定义文件会返回以帮助进行变更管理。

当您的API架构或服务中发生更改时,Development将更新该定义文件并为质量检查提供最新版本。引入SOAtestChange Advisor模块,并自动将定义文件的新版本与旧版本进行比较,创建两个映射,以图形方式对新旧定义文件之间的操作和模式进行布局,然后可以进行QA,轻松识别只需单击几下即可更改需要更改的内容,并根据更改进行检查和更新。一旦检查了所有变更,便可以轻松地将变更模板应用于自动批量重构受这些变更影响的所有现有测试。

在性能中重用现有的测试工件

质量检查现已完成工作。测试人员创建了多个复杂的测试方案,旨在测试API的业务逻辑并相互验证服务的功能。业务逻辑是健全的,并且每个用例都已经过测试和验证。发现的任何缺陷都可以以.tst文件的形式轻松地传达回开发人员,以便快速进行复制和修复。有一个全面且最低限度的手动策略,用于维护这些API测试并在发生更改时更新测试。现在是时候断开应用程序了——是性能测试人员来测试API的行为的时候,当它有1005001000多个用户试图在全球不同位置同时执行相同的方案时。

在许多情况下,性能测试人员需要专门在这些条件下创建自己的测试方案。幸运的是,通过使用Parasoft SOAtest,性能团队不再需要重新发明轮子。他们可以利用由Development创建的组件测试和由QA创建的场景测试的组合来验证其SLA和应用程序的及时性能,所有这些都在SOAtest的负载测试模块内。

在负载测试模块中,可以轻松地利用现有的SOAtest组件或方案测试,并通过任意数量的虚拟用户来驱动它们,并将其分布在任意数量的从属计算机上,以测试不同负载类型(例如钟形、缓冲、线性和平稳)下的方案负载,从而使您能够验证应用程序在各种压力下能否按预期运行。


结论

功能测试策略的最终目标应该是“不费吹灰之力”,但是在进行API测试时,一次又一次地执行相同的操作已成为测试团队的常识。很多时候,我会与质量检查经理和DevOp教练进行交谈,他们的任务是确定加快测试速度和增加协作的方法,而我在这里所描述的就是答案。

团队可以利用SOAtest的功能来减少返工并提高效率。由于它已经创建了相当规模的产品,因此很容易在企业和单个项目或启动级别采用,并且对测试创建和自动化要求的技术专门知识水平较低。开发、质量保证和性能使用一个统一的功能测试工具可以实现开创性的协作水平,并减少可能影响底线的返工,从而减少总体测试工作量、时间和成本。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP