零售行业案例:帮助跨越日益复杂的分布式系统的关键交易启用早期和广泛的测试
随着领先的《财富500强》零售商改进其全渠道零售策略,确保在公司电子商务网站上获得良好用户体验变得越来越重要。现在,越来越多的客户在购买过程中的某个时候使用电子商务网站,例如,在访问实体店之前(或之后)研究产品,订购产品以直接交付或在店内取货,甚至发起产品退货。认识到所有这些其他接触点都代表着巩固或破坏其作为市场领导者的声誉的机会,该公司坚定地致力于确保与此电子商务网站相关的所有交易都达到或超过客户的期望。服务虚拟化现在可以帮助他们有效、经济地实现此目标。
挑战:跨多个子系统测试复杂的事务
为了专注于确保在网站,移动应用程序和零售商店上获得积极、无缝的客户体验,电子商务团队需要加快交付可与日益复杂和分布式系统互操作的可靠创新。来自电子商务网站的交易的复杂性不断增加(例如,带有店内取货的在线订单),这意味着他们必须与无数不同的群体以及超过65个他们无法控制的依赖系统进行协调。团队担心这些限制会减缓开发速度,并阻碍API的早期和广泛测试-他们认为这对于控制业务风险至关重要。
他们正在应对的一些具体挑战包括如何……
- 当相互依赖的组件(例如,仓库管理系统、订单管理系统等)很少用于测试时,请对自己的API进行早期和广泛的测试。
- 确保其API能够完美地针对互连组件的各种行为(包括系统故障、错误情况、性能下降以及其他在测试环境中难以再现的情况)正常运行。
- 在开发早期准确评估和优化API性能,以最大程度地减少延迟周期的风险。这是他们确保每一项新服务从推出之初就为用户带来积极体验的目标的关键。
- 在年度假期生产冻结期间防止开发速度降低,这禁止在11月到1月之间将任何新功能集成到生产环境中。
建立额外的分段测试环境不是一个可行的选择,因为在测试环境中复制,正确配置和管理环境的许多部分都将极其复杂和/或昂贵。由于必须在公司的所有9个区域中心均等地访问完整的测试环境,因此,成本和复杂性的程度将更加复杂。
服务虚拟化加速了经过全面测试的新功能的交付
服务虚拟化为公司提供了一种有效且具有成本效益的方式,以加速交付高质量功能。通过使用Parasoft Virtualize,团队可以为大型机,SAP,JDBC,ESB,合作伙伴API和无数服务之间的依赖关系快速创建“虚拟资产”,所有这些都通过各种消息协议和格式进行通信。结果,所有九个地区办事处都可以随时随地访问完整的测试环境。
在采用Service Virtualization之前,团队成员通常会等待数周才能访问测试数据,然后尝试在高度受限(且不方便)的测试环境访问窗口中浏览测试计划。现在,团队可以在新服务完成后立即开始测试(即使相关系统尚未完成或无法进行测试),并完成所有计划的测试。通过对依赖项行为的控制达到空前的水平,他们的测试现在涵盖了范围更广的“假设”场景(例如,并发、故障转移、性能和否定测试场景)。这种广泛的早期测试可以极大地减少最终将其服务集成到生产系统中时出现的问题的数量,从而加快发布周期,同时降低业务风险。
原型功能的新方法
服务虚拟化还使团队能够以另一种方式加速开发:通过允许关键的利益相关者在实际开发建议的新服务之前对其进行审查。提出新服务后,团队将为虚拟资产建模,该虚拟资产可模拟预期的服务行为并将该虚拟资产集成到测试环境中。然后,利益相关者可以评估概念并在开发开始之前提供反馈。过去需要数周或数月才能构建并集成服务以征求反馈。现在,他们可以在数分钟内原型化新功能,并立即开始对其进行评估。
按需访问零影响测试环境
该团队报告说,Parasoft Environment Manager对于他们了解和共享9个区域中心的复杂测试环境的能力至关重要。图形化图表使每个团队可以直观地了解与他们的工作相关的环境以及所有相关组件的“运行状况”(例如,任何出现故障或未按预期运行的系统)。
对于某些部门采用的自助服务供应方法,通过图形图选择不同的环境设置,然后单击按钮进行供应。对于执行全自动连续测试的部门,DevOps团队已将自动配置与Continuous Integration脚本集成在一起,以便运行回归测试套件。在任何情况下,他们都可以轻松地从一种配置切换到另一种配置(例如,进行否定测试方案或解决当前处于离线状态的系统)。来自不同地区的团队成员可以按需同时配置和重新配置这些测试环境,而对彼此的工作几乎没有影响。
确保积极、无缝的客户体验
通过服务虚拟化,该团队获得了一种有效的方法来确保对新的电子商务服务进行广泛而准确的验证,然后在部署之前对其进行全面优化。结果,该公司能够降低成本,加快创新性新功能的交付,并实现其最终目标,即确保在网站、移动应用程序和零售商店中获得积极、无缝的客户体验。