摘要: 为了保持在旅游市场的世界领导地位,Sabre做了一个决定:将它的核心软件
系统从原来的专有库转换成作为API来提供服务。这种转换可以帮助公司将机
器的自动处理结果提供给客户,并且提高总体上的自由度、软件系统所支持的
多样化、快速变化的业务所必须的交付成本。
向API的转变对Sabre的软件测试基础体系提出了新的挑战。它的软件系统
需要很高的稳定性和可用性,新的API需要满足这些要求。与第三方服务的交
互需要测试与那些服务的交互性。并且需要通过适当的模拟跨越多个复杂交易
的业务流程。
为了应对…
为了保持在旅游市场的世界领导地位,Sabre 做了一个决定:将它的核心软件
系统从原来的专有库转换成作为 API 来提供服务。这种转换可以帮助公司将机
器的自动处理结果提供给客户,并且提高总体上的自由度、软件系统所支持的
多样化、快速变化的业务所必须的交付成本。
向 API 的转变对 Sabre 的软件测试基础体系提出了新的挑战。它的软件系统
需要很高的稳定性和可用性,新的 API 需要满足这些要求。与第三方服务的交
互需要测试与那些服务的交互性。并且需要通过适当的模拟跨越多个复杂交易
的业务流程。
为了应对这些挑战,Sabre 转向 Parasoft--使用 Parasoft SOAtest 来支持自
动化 web 服务测试流程的实施。通过使用 SOAtest,Sabre 可以得到测试的覆盖
率和可重用性,这些保证了它的服务能持续的满足高可靠性和可用性的标准。
使用 SOAtest 不仅可以减少 Sabre 部署新服务的时间,并且允许 Sabre 通过提
供一系列的丰富的服务来减少了 50%的花销。
挑战:
为了降低经营成本,满足不断变更的商业需求和提供使用 Sabre 旅游服务的简单
方法,Sabre发现他们需要摈弃他们一直所依赖的历史性的系统架构,迁移到一个
基于开放标准的架构。在这种形势下,Sabre® web 服务(SWS)诞生了。
这个项目承担了 Sabre 转向服务的责任并且必须保证在转变期间新的架构可以
持续的满足大型机的需求---支持来自全球全天候的大量操作交互, 满足对于易用
性和可靠性的5个 9(99.999%)的不变要求。
在新的架构下,非常多的服务需要被开发和部署。每个旅行服务的提供者(例如
SNCF,法国铁路网,或者英国航空公司,更不用说当前或者未来的旅行伙伴) 。
对于上述的每个服务都需要进行测试,确保其满足可靠性和易用性目标、满足核
心的功能需求。如果在生产中缺乏一个服务,那么在任何时候都可能导致重要的
交通运输行业公司的重大损失。因此,公司用来测试 SWS质量和可靠性的流程
必须彻底并且100%精确。
因为 Sabre 将要在持续的基础上开发和部署许多服务,它需要一个可以通过持续集成来提高系统稳定性的测试方法。
解决方案
Sabre 选择 Parasoft API 测试解决方案和 Parasoft SOAtest 来实施自动化测
试。公司制定了三个最主要的目标:自动生成和执行测试用例,可重用的回归测
试和高的代码覆盖率。项目组清楚,通过达成这些目标可以交付 Sabre 需要的
高质量的服务。SWS项目组的座右铭是:自动化+可重用性+覆盖面广=稳定性
在开发过程中,Sabre 的业务分析员创建测试用例来确保服务满足需求。因为
SOAtest可以自动生成大部分的测试用例, 分析员可以创建更多周密的测试套件
并且减少了三分之一的创建测试套件的时间。
目前,Sabre 正在扩大 SOAtest 的使用范围,并且通过了三个主要的方案来加
强公司内部和外部的培养合作:1)所有的内部开发人员使用 SOAtest,这样他们
在开发过程中可以对他们代码的质量有更强的个人责任感,2)向他们的内部和
外部客户推荐 SOAtest,那么他们可以确保连接 SWS 服务的质量,3)使用
SOAtest进行所有的性能测试。
优点
使用 SOAtest 帮助Sabre 大大减少了部署服务所需要的时间,同时保证这些服
务满足可靠性,易用性和功能性的需求。SOAtest可以轻松地生成能力全面的测
试用例,并将它们合并到现有的回归测试套件中,这样就允许公司超过预期地更
快地交付越来越强大的功能。SOAtest 还为验证每个新服务减少了 50%的工作
量。此生产力的增长相当于节约了SWS项目组 8个额外员工的工作量。鉴于每
个项目组每个月花费$7,500,通过使用 SOAtest 提供的自动化测试,Sabre 每年
节省了$720,000。
总结
Parasoft SOAtest 使 Sabre 高效地从软件系统转换成为 API, 现如今每天处理超
过五百万的交易。 正因为将 SOAtest 集成到 Sabre 的开发生命周期中, 使 Sabre
能够为客户提供一个更丰富的功能集, 并且确保每个服务在投入生产之前都是稳
定的并且满足业务需求的。
|