API测试确保SOA企业一帆风顺

日期: 2014-04-10 作者:Maxine Giza翻译:蒋红冰 来源:TechTarget中国 英文

随着组织拥抱了面向服务架构(SOA),他们也意识到测试应用程序编程接口是成功的关键所在。在QUEST 2014座谈会,即服务/API测试101:人工和自动测试指南上,Zenergy Technologies 的自动化解决方案副总裁David Dang将会讨论一下API测试的不同级别,以及什么时候它才会对组织推动SOA前进来说才有意义。

SOA的优缺点

在SOA引入初期产生了很不利的宣传,但许多组织还是因为这一方法而繁荣发展。事实上,Dang说他不知道公司会从SOA的投资中获利。该技术之下还有一些隐藏的能力包括重用性、增强的一致性和少维护。

对于SOA来说,归根到底就是简单性。“从根本上讲,SOA就是‘我们编写同样事情三次的原因,’” Dang说。“为什么我们不写一遍,且从某种程度上讲可以访问这一服务或API?”在技术以光速发展,并且所有人都在使用API的时代,能够以最简单的方法分享财产才是最重要的。

除了这些能力外,SOA就像其它方法一样,它并不是对组织面临的所有环境都是最好的选择。“在向SOA方向发展时,你必须加倍谨慎,” Dang警告说。

当信息通过API自由共享时,你要谨记组织传播的信息有好有坏,这一点很重要。例如,一个开发人员给API引入了一个缺陷,那么那些使用这一服务的人员也会受到影响。因此,可能会有上千人会暴露出漏洞或其它不好的东西。

可能会引入缺陷并不是使用SOA的唯一缺点。这一技术还涉及到更多的计划。“你必须确保有拥有测试策略,人工和自动化的都有,当服务不能正常工作时来估计影响,” Dang说。

API测试阶段

在QA团队卷起袖子,进行测试时,会缓解风险,这一测试既有积极方面的,也有消极方面的。“在通常测试中我们更多关注积极的而不是消极的,” Dang说。“在API测试中,这两方面各占一半。”

虽然有很多评估阶段,但API测试还是有一些主要的级别:

单元测试——检查代码功能
服务功能——从积极和消极两个方面结果看数据变化
服务与应用集成——确保应用能够访问服务,并在应用中使用这一服务

Dang建议QA团队从单元测试开始,然后在服务本身进行广度测试。“你必须测试大量数据组合,因为你并不了解这一服务的消费者,不了解什么样的数据他们会接入,”他说。

集成层的API测试,就是进行应用消耗服务的检查。需要调查各种不同的场景应,例如以确保缓存或转换问题不会出现。

虽然鼓励人工测试,但Dan说对于服务和API测试来说,它并不总是可行的方法,尤其是在服务功能层。“服务是处理信息的方式,” Dang说。“处理这些信息的方式总是涉及到数据的注入,并返回相应的结果。”

虽然上述的问题可以人工测试,Dang说这一方法使之变得困难,在覆盖各种情况时。相反,他建议在人工测试中执行“高水平”抽检。然后,应该依靠自动化是来覆盖到数据变化的范围。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Maxine Giza
Maxine Giza

TechTarget编辑

翻译

蒋红冰
蒋红冰

TechTarget云计算主编,主要负责云计算和虚拟化网站的内容建设。长期专注于IT前沿技术,对云计算、虚拟化、人工智能、区块链等技术都有了解;对行业趋势、市场动态有一定的洞察。

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。