这是eWEEK专题系列中名为IT科学的最新文章,其中我们讨论了新一代IT和遗留系统交叉的实际情况。除非是全新的,不依赖于各种流水线,否则每个IT系统中的服务器、存储、网络都可以算是“传统”的。这是因为软硬件产品的迭代一直在加速。对于应用程序制造商来说,出于安全原因,一个月甚至一周更新和/或修补应用程序几次是正常的。
有些应用每天都在更新!硬件的移动速度稍慢,但制造周期也在加快。
这些文章描述了新一代行业解决方案。我们的想法是看看下一代IT产品和服务如何影响日常生产的真实例子。大部分是成功的故事,但也有其他关于项目爆炸的故事。我们将有IT集成商、系统顾问、分析师和其他专家在需要时帮助我们。
指出需要解决的问题:沃尔玛长期以来是零售业的颠覆者,它通过创新供应链提供更低的价格。他们还继续大力投资数字战略,以帮助客户节省时间。在整个转型过程中,沃尔玛实验室(沃尔玛的技术部门)发现很难从传统实践中无缝过渡。整个组织的目标不一致,团队在用自己的工具和技术。
他们发现自己依赖耗时的手动测试,在为期三周的开发周期中,每月只允许部署两次更新,因此无法跟上他们想要的应用程序改进速度。作为改善客户电子商务体验和开发人员生产力的计划的一部分,沃尔玛团队采用了Selenium和Test Armada的持续测试最佳实践。
描述找到解决方案的策略:他们知道他们需要提高他们的应用程序的质量,并且零摩擦地加速开发团队的部署,这导致了自动化测试的采用。
在转向自动化测试的过程中,沃尔玛意识到没有能够满足他们需求的测试管理工具。因此,在2015年,他们开始开发Test Armada,这是一个开源的质量自动化平台,旨在支持原生、Web和后端测试服务。现在,它是一个中心工具,可以支持所有Walmart.com、杂货店和备用商店系统中的功能测试、性能测试、模型和数据洞察。
沃尔玛也明白,为了取得成功,他们需要改变团队开发和测试应用程序的整个文化。这促使他们创建了一个卓越中心:DXT(数据钱包)团队。他们的焦点是选择最好的测试框架和过程来补充测试舰队。一旦选定,他们将被标准化,并通过让每个人都类似地工作来扩展到各个团队。
此外,由于测试是完全手动的,该团队无法扩展测试以确保覆盖客户将访问其应用程序的多种浏览器、操作系统和移动设备。沃尔玛意识到开源软件为他们提供了所需的最新工具、灵活性和支持。因此,他们选择了开源框架Selenium、Appium、Espresso和XCUITest进行自动化测试。
列出解决方案中的关键组件:这些开源框架允许他们使用广泛采用的框架来开发自动化测试,这种框架被世界上成千上万的组织所使用。这很重要,因为他们可以建立和扩大自动化测试组织,因为他们知道他们可以雇佣对这些技术有经验的工程师,这些工程师可以立即提高生产力。
沃尔玛还通过实施Sauce Labs持续测试平台提高了测试水平,该平台是全球最大的基于Web和移动应用测试的云解决方案。Sauce Labs让他们可以接触到数百种浏览器和操作系统组合,这增加了测试范围并节省了时间。Test Armada将从自己的跑步者和酱料实验室的“测试细节”页面导入数据,以显示质量仪表板,以便QA和工程师可以快速检查其建造的质量状态。
描述部署的过程,可能需要多长时间,以及部署是否按计划进行:这种文化和过程的变化不仅使技术团队快乐和富有成效,也使执行团队兴奋。在不到一年的时间里,DXT团队的努力和酱料实验室的实施节省了超过75万工时,这些工时将用于手动测试/更新对新浏览器和操作系统的支持。
描述结果、获得的新效率和从项目中学到的知识:随着沃尔玛标准化测试框架并开始使用测试舰队来管理它,Sauce Labs提供了工具来扩大测试规模、提高生产率并改善代码质量和速度。送货。有了这些系统,沃尔玛的每个团队都知道他们使用的是最好的工具,在向套件中添加新的应用程序时,他们不必不断地重新发明轮子。
通过持续的测试实践,沃尔玛团队每天都会在每个前端构建中部署应用程序的更新。只有确信他们的代码已经过全面测试,并且能够覆盖所有浏览器/操作系统/设备组合,才能实现这一速度。
描述投资回报、碳足迹节省和员工时间节省(如果有的话):今天,沃尔玛在世界各地有40多个不同的项目,并使用测试舰队来管理所有的测试。这些团队与Sauce Labs持续测试云相结合,在过去七年中运行了超过1400万次测试,或者说目前每天运行约50000次测试。
这些工具让团队有时间构建更复杂的自动化,从2016年的200个测试用例,到一个团队从每次构建到生产的500个测试用例。
通过Sauce Labs,沃尔玛还可以确保其应用程序可以在700多种浏览器/操作系统组合、172种设备模拟器和300多种独特的真实设备上运行,所有这些都没有任何内部管理基础设施。
然而,这种质量和覆盖面的提高并不以牺牲速度为代价。通过持续的测试实践,沃尔玛团队每天都会在每个前端构建中部署应用程序的更新。只有确信他们的代码已经过全面测试,并且能够覆盖所有浏览器/操作系统/设备组合,才能实现这一速度。