遵循测试金字塔的路径进行连续测试

随着诸如微服务、容器和API之类的软件开发变得越来越复杂,以及对更快发布的需求不断增加,像往常一样进行测试可以看作是交付过程中笨拙,不适当的步骤。在这篇文章中,学习如何解决它。

遵循测试金字塔的路径进行连续测试

随着诸如微服务、容器和API之类的软件开发变得越来越复杂,以及对更快发布的需求不断增加,像往常一样进行测试可以看作是交付过程中笨拙,不适当的步骤。在这篇文章中,学习如何解决它。

实现连续测试并不像沿黄砖路走……还是管听起来很简单,但是有各种测试、陷阱和技巧可以到达需要去的地方。已经采用敏捷Agile开发和DevOps方法的组织知道,很难跟上这些现代开发实践的步伐。无法启用测试自动化和连续测试之类的工具妨碍了他们的努力。

但是,就像敏捷Agile和DevOps实践一样,持续测试没有一个正确的答案,这会使组织很难清楚地从哪里开始。从功能的角度进行某种程度的测试自动化是连续测试的基础。服务虚拟化是实现连续测试的关键技术。但是,为了使您甚至能够利用服务虚拟化并真正成为一名真正的连续测试从业人员,您必须首先具备一定程度的测试自动化。

遵循测试金字塔的路径进行连续测试

许多组织将从简单地自动化UI测试开始,但是为了实现连续测试,组织需要专注于创建可扩展的测试自动化实践,该实践遵循Mike Cohn(在他的书《Succeeding with Agile》)和敏捷Agile思想领袖Martin Fowler。金字塔的基础是单元测试的基础,这些单元测试是隔离的并且执行速度更快。当您沿着金字塔向上移动时,您要测试的资产将更加集成,并且需要更长的时间才能执行。金字塔的中间是进行服务集成或API测试的地方,这是功能测试自动化的最佳选择,然后端到端UI测试是最小的部分,是金字塔的最上层。


优化API测试以达到连续测试的第一阶段

如果要实现连续测试,则必须提供单元测试的基础,并且API测试将成为验证用例的关键层。您还需要优化金字塔顶部的端到端UI测试。您不应该消除UI测试,但要使它们尽可能高效和有针对性,因为您必须担心维护这些测试,这可能会非常耗时。

完成此操作后,组织可以从连续测试中获得价值的第一阶段——回归的早期识别,并且找到这些回归的最佳方法是在API级别,因为它们执行起来更快、更容易诊断并且比其UI级表亲更容易复制。

从连续测试中释放价值的第二阶段

一旦运行了单元测试和功能测试,并且使用服务虚拟化来更连续地运行回归测试,就可以查看您的非功能性业务需求,例如性能和安全性。

例如,在性能方面,开发团队很容易在应用程序中引入增量性能问题而甚至没有意识到它,并且在开发过程的早期就抓住这些问题以确保应用程序的整体性能特征不至于至关重要。超出您定义的协议服务水平(SLA)。

在这里,您可以利用连续的测试实践来向左移动性能测试。首先应用服务虚拟化来隔离您的系统部分,并消除测试基础架构中的性能瓶颈。然后进行一组可靠的API测试,然后重用它们以在整个系统的一部分上产生负载。最后,将性能测试的执行集成到CI管道中,并连续执行这些测试。这是您真正开始从连续测试中获得第二阶段价值的时候。


使连续测试成为现实的Parasoft技术

Parasoft,我们的工具涵盖了单元、功能、UI和回归测试,以帮助我们的客户提供还可以满足最终用户需求的高质量软件。我们正在从事从API和UI的单元和功能测试、测试数据管理、安全性和安全性合规性、变更管理等在内的所有工作。

在测试金字塔之后,您可以从基础开始,并获得Parasoft C/C++testParasoft dotTESTParasoft Jtest开发测试工具,其中包括诸如静态分析之类的内容,以揭示深层的可靠性和安全性(支持OWASP,CWE和CERT标准)、单元测试、覆盖范围和可追溯性。

在金字塔中旅行时,您可以利用Parasoft SOAtest,这是我们的功能测试解决方案,专注于在API级别上验证应用程序。为了帮助组织从手动测试过渡到自动化API测试,您可以使用SOAtest的Smart API Test Generator,它利用AI和机器学习来从记录的应用程序流量中提取的数据关系构建测试场景。

为了真正实现连续测试的希望,您可以利用Parasoft Virtualize来利用服务虚拟化,这使组织可以将测试自动化与测试环境中的约束脱钩。这样就可以进行真正的连续测试,从而可以在整个CI管道中连续执行自动化测试。

遵循测试金字塔的路径进行连续测试

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月8日
下一篇 2020年5月8日

相关推荐

发表回复

登录后才能评论