软件|测试金字塔|如何遵循测试金字塔的路径进行连续测试?


软件|测试金字塔|如何遵循测试金字塔的路径进行连续测试?
本文插图

测试金字塔|如何遵循测试金字塔的路径进行连续测试?
随着诸如微服务、容器和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的单元和功能测试、测试数据管理、安全性和安全性合规性、变更管理等在内的所有工作 。


推荐阅读