2024年1月25日发(作者:)

当API不可用时如何进行测试

由于当今应用程序的复杂性,很容易导致代码无法在同一时刻完成这一问题。作为一个开发人员,你可能需要等待第三方API更新、合作伙伴完成他们的代码或者其他团队完成对于测试的准备工作。测试需要等待所有部分完成之后才能执行,这将严重拖延项目计划表。

服务虚拟化产品在进行设计时即考虑到这一问题,它可以为研发、测试团队提供无限制使用的测试环境,以模拟那些被限制的真实环境的行为。

互相责备的游戏

在敏捷开发团队中,不同的研发人员可以同时在联网的代码库中工作,每个开发人员需要访问其余开发人员的组件来完成自己的工作。我们经常会遇到如下情况:一个开发者需要另一个开发者提供对应的组件或者API,但实际上这部分代码还未被创建,这就意味着这些开发人员的开发进程受到阻塞,必须等待依赖部分代码完成,这在软件中称为死锁。

当我编写代码的时候,经常遇到这一问题,我们团队在开发Web应用程序时,经常由于依赖的API没有完成而使我无法编写对应应用程序的代码。受到这种阻碍的原因有很多,最常见的原因是我的同事在编写API代码的时候产生了一个bug。.

上海市打浦路1号金玉兰广场西楼902室

Rm. 902, Golden Magnolia Plaza, W.1 Dapu Road, Huangpu District 200023 Shanghai, P.R. China

项目经理希望我能够在预定的期限内完成代码,所以我经常做的事情就是走到同事的边上并且阅读他们的代码帮助他们解决遇到的问题(这是很罕见的合作开发方式!)不幸的是,我花费了大量的精力来调试他们的代码才能使我的工作可以继续下去。所以这就是为什么他们能够完成工作而我不行。

等待依赖组件的完成是敏捷开发的最大障碍,怎样才能在这种情况下继续工作呢?我们可以通过服务虚拟化创建资产模拟应用程序行为的方法来解决这一问题。

使用服务虚拟化

我将使用Parasoft Virtualize来展示如何使用服务虚拟化 (免费的Community Edition)。不需要通过任何脚本编辑器或者是WSDL文件来创建仿真。如:在API开发的初期阶段,WSDL以及模式图是不存在的,研发人员只有一个简单的响应关系图,对于Virtualize 来说这就足够了。只需要获取对象并且将其丢入响应器中,工具就可以简单的创建一个模式了。这是非常有用的,我不用关注数据是否正常的发送了,当数据变更之后,Virtualize 将确保每次发送一致的响应,这使得模拟响应十分容易。如果将该模拟设置为总是可用的自动响应模式,那么只需要关注哪些数据需要新的响应即可。关于Virtualize,您可以使用不同类型的消息格式,如:XML、JSON、各种资产以及金融行业、医疗行业和一些特殊领域的格式等。

上海市打浦路1号金玉兰广场西楼902室

Rm. 902, Golden Magnolia Plaza, W.1 Dapu Road, Huangpu District 200023 Shanghai, P.R. China

使用仿真应答的最大的好处在于时间成本的节约,为了等待真正的服务器响应,一个简单的服务响应可能需要等待几分钟甚至几天。使用服务虚拟化让我们可以更快的开始开发、更快的获取新代码的响应。通过实时的测试和对于代码的修改,提高代码的开发速度。

以上就是我在等待周期中所做的事情。当一个后端的API完成之后,我通过服务虚拟化来对其模拟响应,可以将其搭载我定义的任何负载,我相信在我的控制下模拟响应会给我一个正确的数据。使用服务虚拟化技术能够帮助我在期限内达成目标。

如果您想学习、了解如何使用服务虚拟化,请观看以下视频。在视频中,我向您展示如何快速创建虚拟资产、模拟预期行为以及如何轻松地更新需求的变化。

上海市打浦路1号金玉兰广场西楼902室

Rm. 902, Golden Magnolia Plaza, W.1 Dapu Road, Huangpu District 200023 Shanghai, P.R. China