对于旅游业和酒店服务来说,节假日无疑是最繁忙的时期。2022年的节假日历经了多重变化,恶劣的天气以及不可抗力因素影响了许多出行计划,也影响了航空公司的运营。为了确保一个顺利和成功的假期,开发团队必须为意想不到的事情做好准备,并建立系统,以快速从任何中断中恢复过来。这种变化也提醒我们,对于在社会中发挥基本功能的企业来说,投资于持续的质量实践和运营现代化是多么重要。
不可抗力:持续集成和持续交付
2022年12月,美国一家大型航空公司在一年中最繁忙的旅行季节损失了大部分业务。恶劣的天气、疫情和其他各种因素成为了主导原因。但即使在天气好转之后,由于软件问题,该航空公司仍然连续几天取消了50%或更多的航班。
罪魁祸首是一个自动机组人员调度系统,该系统迫于节假日的压力,迫使航空公司转为手动调度机组。机组管理和航线安排是一个非常复杂的事项,在过去50年里,它一直在各种解决方案上迭代。每年这个问题都在不断演变,而解决方案也在继续发展。
基础设施的持续现代化需要花费大量资金,甚至可能存在着一定风险。但落后也有相关的成本。从这个角度来看,当这家航空公司在2021年取消了大约2500个航班,该公司损失约7500万美元。
开发团队可以做什么来准备应对极端负荷?
一家航空公司受到了严重影响,但结果让所有企业都大开眼界。即使在旅游行业之外,年初是审查业务和软件质量策略的好时机,目的是为峰值负载和停机做准备。
最大的问题是,您如何真正为故障做准备?我们列出了企业现在可以开始实施的四种软件测试策略,以避免全面崩溃。
1.在测试自动化中实施持续负载测试
当您计划实现运营现代化时,您可能想把工作分为渐进阶段,并建立持续的测试实践,以检测早期阶段的错误。
持续负载测试是一种软件开发测试,涉及将计算机系统、网络或Web应用程序置于连续的负载或流量中,以确定其在持续使用下的表现。持续负载测试的目的是在性能问题膨胀并影响到用户之前,尽早发现并解决这些问题。
2.使用服务虚拟化解决测试数据问题
没有比新鲜生产数据更好的测试数据了。对于测试来说,传统的测试数据管理(TDM)解决方案专注于克隆生产数据,并对其进行处理以重新用于测试。当您把测试扩展到全面的性能测试和实施复杂的测试场景时,您必须考虑到数量、隐私和复杂性。
服务虚拟化是一种技术,允许用户在测试期间模拟依赖系统或组件的行为。您可以创建资产和相关数据的虚拟版本。这些虚拟版本可以模仿真实系统或组件的行为和响应,让您在一个受控的环境中测试您的系统或应用程序,而无需真实数据。
3. 在DevOps中实施混沌工程
另一种可以帮助企业准备应对计划外问题的方法是混沌工程。混沌工程是故意将故障或中断引入系统以测试和提高其弹性和可靠性的做法。通过模拟各种故障场景,航空公司可以在繁忙的假期成为主要问题之前识别和修复系统中的漏洞。
有许多工具,如Chaos Monkey和服务虚拟化,可以模拟分期和测试等受控环境中的这些故障。通过监控模拟故障对系统的影响,团队可以发现任何问题并进行调整以提高系统的弹性。
4. 投资于可扩展性、现代化和质量
未雨绸缪是一种奢侈,但它将在很大程度上帮助您避免技术债务并保护您的软件和系统。从技术角度来看,持续的现代化和高质量实践的实施意味着对运营的重大投资。
可扩展性是指系统或应用程序在不降低性能的情况下处理增加的负载或流量的能力。
现代化是指更新和改进企业技术和基础设施的过程。通过使其系统和流程现代化,企业可以提高关键软件的效率、可靠性和可扩展性,这可以帮助他们更好地处理任何增加的流量和需求。
测试对于准备高压力条件也至关重要。通过进行负载测试、压力测试和其他类型的性能测试,企业可以在影响用户之前识别和修复其系统的任何潜在问题。
结论
良好的业务和软件开发实践可以在帮助企业为节假日和其他高负荷情况做准备并发挥关键作用。通过关注可扩展性、现代化和测试,开发团队可以确保他们的系统和应用程序能够处理可能出现的流量增加和需求。
投资和实施这些做法可以帮助企业提高其系统的性能和可靠性,减少中断或停机的风险,并提供更好的客户体验。企业如果能确保为处理偶尔的混乱做好充分准备,就能为其用户提供无缝的体验。
了解为什么Parasoft被评为15家顶级连续自动化测试平台供应商中的领导者。快来联系我们获取完整报告吧!