现在很难找到一个完全没有任何云迁移策略的可行公司。
领先的公司将采取全有或全无的方式进行此迁移——坚持要求所有业务功能最终都必须解决某种弹性云的使用问题,无论是在领先的IaaS(如AWS或Azure)中,还是在本地或定制私有云。

现在很难找到一个完全没有任何云迁移策略的可行公司。
领先的公司将采取全有或全无的方式进行此迁移——坚持要求所有业务功能最终都必须解决某种弹性云的使用问题,无论是在领先的IaaS(如AWS或Azure)中,还是在本地或定制私有云。
即使是市场落后者,也有计划将至少一个应用程序转移到按需云实例上——在尝试之前先试试水。
企业可以使用云来加速开发并实现交付环境的现代化,但是一件事永远不会改变的:客户仍然希望软件能够在生产环境中按预期的方式运行和运行,无论部署在何处。
他们需要应用程序具有高可用性、安全性和弹性,否则它们将移至其他地方。这使测试自动化成为成功的关键门控功能。
当云发布速度超过测试速度时
一家全球500强金融服务公司John Hancock最近宣布与云服务提供商CGI一起启动一个向私有云IaaS过渡的项目,该项目估计耗资1.42亿美元。
没错,大部分预算不是云费用,而是劳力。为云重新配置企业应用程序显然不是一件容易的事。集成、测试和持续验证应用程序需要艰巨的工作,而在每次发行后维护测试时,这项工作通常会被取消。
但这并不是什么新鲜事。这样的返工成本肯定在云计算之前就已经存在。
发生了什么变化现代云环境中,释放速度呈指数增长。DevOps团队正在使用基础架构代码(IaC)定义,基于服务的快速集成和数据馈送,自动化部署管道以及无处不在的容器化。
在KubeCon的主题演讲中,Airbnb运营工程师Melanie Cebula表示,她的团队每周推出超过20000个容器化版本——那是一年前!尽管大多数企业可能永远不会跟上Netflix和Airbnb的速度,但我们仍希望任何在正确的云环境中运行的公司的部署速度都可以提高一千倍。
那么,那些不是诞生于云中的公司又会离开世界其他地方呢/p>
任何高级开发人员或测试工程师都认为代码本身是一种责任。您编写的代码越多,您测试该代码的需求就越多——随着时间的推移,您编写和维护的测试代码也就越多。
如果我们不能解决维持测试代码所伴随的阻力系数,则达到逃逸速度不再是提高部署和发布速度的问题。
达到逃逸速度以应对变化
随着公司拥抱DevOps运动,他们转向功能强大的自动化管道,以在动态云体系结构中实现连续发布和环境部署自动化。
测试必须是该管道的一流方面。未能及早且经常在现实环境中测试软件,并且在生产中出现的最终故障修复成本可能太高。
大多数测试和开发小组在实际情况下将商业工具和开源结合使用,以实现自动化的测试和依赖关系的模拟(也称为“服务虚拟化”)。最受欢迎的开源Web测试自动化工具是Selenium,它允许测试人员通过被测系统重现基于浏览器的工作流。
尽管Selenium的核心元素已经存在多年了,但合作伙伴活动和开发人员对该项目的贡献最近已经升温。在过去的3-5年中,Selenium已成为大多数业务开发/测试团队的工具链的一部分。
无论软件团队运行多少代码级、集成和性能测试,使用诸如Selenium之类的工具从用户角度进行功能测试仍然是最终的选择。在所有目标浏览器和设备上重复测试Web UI对于成功至关重要。
现在,可重复性——事情变得如此繁琐。当后端业务逻辑和数据在运行时在Web UI中动态表示时,无论是通过浏览捕获还是由测试人员手动修改,屏幕上都会发生无数异常现象,这些异常破坏了Selenium测试脚本。
例如,项目可能以不同的顺序加载到页面上的不同位置,或者包含超出Selenium测试脚本期望值的数据值或图像。
测试人员和SRE(站点或服务可靠性工程师)可以尝试创建自定义处理程序来解决错误的故障,调整代码以允许某些参数具有灵活性,但是不久之后,将无法信任任何手动维护功能套件的结果测试,这是由于云后端体系结构的根本变化,这些变化永远不会停止在动态Web UI中产生不一致。
使测试与架构一样具有弹性
抵消云不断超越应用程序测试的最佳方法相同的DevOps原则“一切自动化”应用于测试自动化本身的维护!
尽管市场上有一些专有的自动化工具可以覆盖整个测试生命周期,但也有一些方法可以使用开源工具来增强测试人员的能力。
一家大型旅行公司正面临着这样的挑战,他们开始将关键业务的忠诚度计划应用程序从现有的旧服务器群集迁移到具有公共云溢出功能的预留云应用程序实例。
最初的版本已经过全面测试,并且相当成功,但是随着另外三个点的发布过程中增加了更多的客户,他们的第一批Selenium测试套件开始以很高的比率失败。更改测试的人工成本,以及由于冗余计算使用导致的云成本增加,开始对项目产生负面的管理看法。
幸运的是,他们能够使用Parasoft Selenic一个增强其Selenium测试套件的工具,应用基于AI的方法来解释页面上的对象,并“自我修复”测试以适应 络用户界面中观察到的变化情况。
如此高的测试弹性可将公司的测试维护成本降低多达75%,同时使他们可以提前两周完成Selenium和Selenic的上线工作,并且随着迁移的进行,故障风险大大降低。
The Intellyx Take
公司有明确的意图将应用程序迁移到云中,但是迁移的后果和成本还远远不够。
如果要对现有的整体进行现代化改造并更快地发布新功能以满足客户需求,则仍然需要进行大量功能和回归测试。实际上,测试是如此之多,以至于即使是最熟练,最高效的测试工程师也无法编写代码并运行足够的测试来跟上进度。
确保测试的弹性(通过具有可以自我测试并自我修复的测试)是测试能够跟上云带来的快速变化的唯一途径。
下一步:避免开源冲突,降低使用开源软件进行开发的风险。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!