持续测试:企业的4项策略

news2024/11/26 3:51:39

对于旅游业和酒店服务来说,节假日无疑是最繁忙的时期。2022年的节假日历经了多重变化,恶劣的天气以及不可抗力因素影响了许多出行计划,也影响了航空公司的运营。为了确保一个顺利和成功的假期,开发团队必须为意想不到的事情做好准备,并建立系统,以快速从任何中断中恢复过来。这种变化也提醒我们,对于在社会中发挥基本功能的企业来说,投资于持续的质量实践和运营现代化是多么重要。

不可抗力:持续集成和持续交付

2022年12月,美国一家大型航空公司在一年中最繁忙的旅行季节损失了大部分业务。恶劣的天气、疫情和其他各种因素成为了主导原因。但即使在天气好转之后,由于软件问题,该航空公司仍然连续几天取消了50%或更多的航班。

罪魁祸首是一个自动机组人员调度系统,该系统迫于节假日的压力,迫使航空公司转为手动调度机组。机组管理和航线安排是一个非常复杂的事项,在过去50年里,它一直在各种解决方案上迭代。每年这个问题都在不断演变,而解决方案也在继续发展。

基础设施的持续现代化需要花费大量资金,甚至可能存在着一定风险。但落后也有相关的成本。从这个角度来看,当这家航空公司在2021年取消了大约2500个航班,该公司损失约7500万美元。

开发团队可以做什么来准备应对极端负荷?

一家航空公司受到了严重影响,但结果让所有企业都大开眼界。即使在旅游行业之外,年初是审查业务和软件质量策略的好时机,目的是为峰值负载和停机做准备。

最大的问题是,您如何真正为故障做准备?我们列出了企业现在可以开始实施的四种软件测试策略,以避免全面崩溃。

1.在测试自动化中实施持续负载测试

当您计划实现运营现代化时,您可能想把工作分为渐进阶段,并建立持续的测试实践,以检测早期阶段的错误。

持续负载测试是一种软件开发测试,涉及将计算机系统、网络或Web应用程序置于连续的负载或流量中,以确定其在持续使用下的表现。持续负载测试的目的是在性能问题膨胀并影响到用户之前,尽早发现并解决这些问题。

2.使用服务虚拟化解决测试数据问题

没有比新鲜生产数据更好的测试数据了。对于测试来说,传统的测试数据管理(TDM)解决方案专注于克隆生产数据,并对其进行处理以重新用于测试。当您把测试扩展到全面的性能测试和实施复杂的测试场景时,您必须考虑到数量、隐私和复杂性。

服务虚拟化是一种技术,允许用户在测试期间模拟依赖系统或组件的行为。您可以创建资产和相关数据的虚拟版本。这些虚拟版本可以模仿真实系统或组件的行为和响应,让您在一个受控的环境中测试您的系统或应用程序,而无需真实数据。

3. 在DevOps中实施混沌工程

另一种可以帮助企业准备应对计划外问题的方法是混沌工程。混沌工程是故意将故障或中断引入系统以测试和提高其弹性和可靠性的做法。通过模拟各种故障场景,航空公司可以在繁忙的假期成为主要问题之前识别和修复系统中的漏洞。

有许多工具,如Chaos Monkey和服务虚拟化,可以模拟分期和测试等受控环境中的这些故障。通过监控模拟故障对系统的影响,团队可以发现任何问题并进行调整以提高系统的弹性。

4. 投资于可扩展性、现代化和质量

未雨绸缪是一种奢侈,但它将在很大程度上帮助您避免技术债务并保护您的软件和系统。从技术角度来看,持续的现代化和高质量实践的实施意味着对运营的重大投资。

可扩展性是指系统或应用程序在不降低性能的情况下处理增加的负载或流量的能力。

现代化是指更新和改进企业技术和基础设施的过程。通过使其系统和流程现代化,企业可以提高关键软件的效率、可靠性和可扩展性,这可以帮助他们更好地处理任何增加的流量和需求。

测试对于准备高压力条件也至关重要。通过进行负载测试、压力测试和其他类型的性能测试,企业可以在影响用户之前识别和修复其系统的任何潜在问题。

结论

良好的业务和软件开发实践可以在帮助企业为节假日和其他高负荷情况做准备并发挥关键作用。通过关注可扩展性、现代化和测试,开发团队可以确保他们的系统和应用程序能够处理可能出现的流量增加和需求。

投资和实施这些做法可以帮助企业提高其系统的性能和可靠性,减少中断或停机的风险,并提供更好的客户体验。企业如果能确保为处理偶尔的混乱做好充分准备,就能为其用户提供无缝的体验。

了解为什么Parasoft被评为15家顶级连续自动化测试平台供应商中的领导者。快来联系我们获取完整报告吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openvino yolov5/ssd 实时推流目标检测在html上显示

安装ffmepg并添加到环境变量中,流媒体使用m7s 运行效果 SSD:检测在10ms左右,yolov5在100ms左右 app.py #!/usr/local/bin/python3 # encodin: utf-8import subprocess import threading import time import cv2 import osfrom OpenVinoYoloV…

遥感概念理解(更新中)

目录看一幅波长与光对应的图1、波段2、波段组合3、多波段数据的三种存储方式4、全色5、彩色6、 多光谱7、高光谱看一幅波长与光对应的图 1、波段 波段又称为波谱段或波谱带,在遥感技术中,通常把电磁波谱划分为大大小小的段落,大的成为波段区…

2023年数据安全的下一步是什么?

IT 预算和收入增长领域是每个年度开始时的首要考虑因素,在当前的世界经济状况下更是如此。 IT 部门和数据团队正在寻找确定优先级、维护和构建安全措施的最佳方法,同时又具有成本效益。 这是一个棘手的平衡点,但却是一个重要的平衡点&#…

java ssm自行车在线租赁系统idea

当前自行车在社会上广泛使用,但自行车的短距离仍旧不能完全满足广大用户的需求。自行车在线租赁系统可以为用户提供租赁用车等功能,拥有较好的用户体验.能实时在线租赁提供更加快捷方便的租车方式,解决了常见自行车在线租赁系统较为局限的自行车归还功能。 通过使用本系统&…

C语言学习笔记(九):文件的操作

C文件的知识 什么是文件 操作系统把各种设备都统一作为文件来处理。例如,终端键盘是输入文件,显示屏和打印机是输出文件。 文件一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的 输入输出是数据传送的过程,数据…

【LeetCode】1124. 表现良好的最长时间段

1124. 表现良好的最长时间段 题目描述 给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间…

多线程下载工具axel的安装和使用

多线程下载工具axel的安装和使用 Axel是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。 Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件…

Springboot 使用插件 自动生成Mock单元测试 Squaretest

缘起 很多公司对分支单测覆盖率会有一定的要求,比如 单测覆盖率要达到 60% 或者 80%才可以发布。 有时候工期相对紧张,就优先开发功能,测试功能,然后再去补单元测试。 但是编写单元测试又比较浪费时间,有没有能够很大…

Spirng 痛苦源码学习(四)——AOP老大哥

文章目录前言一、探究AOP开始,判断导入的相关组件1.跟踪源码流程二、对切面中的增强方法进行增强1.源码的过程三、使用aop的目标类生成代理对象总结前言 Spring的两大特性:IOC;AOP。本篇仅以跟完Spring AOP相关源码为依据写的总结 一、探究A…

MySQL入门篇-MySQL高级窗口函数简介

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL高级窗口函数 窗口函数在复杂查询以及数据仓库中应用得比较频繁 与sql打交道比较多的技术人员都需要掌握 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本 分析函数有3个基本组成…

matlab进行双目标定获取双目参数并打印教程

文章目录前言1.打开matlab进行双目标定2.获取想要的参数前言 在相同的标定算法和标定参数下,Python和Matlab的标定精度是相同的。因为标定精度主要取决于标定算法和标定参数的质量,而不是编程语言的选择。 不同的编程语言可能使用不同的库或实现细节&…

Hackergame 2020

3.Hackergame 2020 1.签到 url:http://202.38.93.111:10000/ 打开签到题页面,拖动滑杆,如果将滑杆滑动到最左边,提交 0,那么我们会得到成功的返回,但是没有 flag 尝试手动提交一些非整数的值&#xff0c…

HTML+CSS

HTML技术 什么是HTML Hyper Text Markup Language HTML:超文本标记语言,内部全部是一些不同的标记符号。 通俗的来讲:其实就是“网页”。 HTML 网页 网页的特点: 1、所有的网页都是通过【浏览器】来进行解析的。2、所有的网…

【MySQL】子查询

这里写自定义目录标题子查询1、子查询的基本使用2、 单行子查询2.1、单行比较查询2.2、HAVING 中的子查询2.3、CASE中的子查询3、多行子查询4、相关子查询5、EXISTS 与 NOT EXISTS关键字子查询 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQ…

算法笔记(四)—— 排序算法总结及链表

排序算法稳定性 值相同的元素排序结束后能否保持相对秩序不变。 冒泡排序具有稳定性(相等时不交换)。 插入排序具有稳定性。 归并排序具有稳定性(merge的时候,相等时先拷贝左边的,小和问题让其丧失了稳定性&#x…

557. 反转字符串中的单词 III

给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 方法一:使用额外空间 思路与算法 开辟一个新字符串。然后从头到尾遍历原字符串,直到找到空格为止,此时找到了一个单词&a…

Http中你必须知道那点事

1, HTTP 1.1 简介 HTTP概念 HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。如果想知道具体的格式,可以打开浏览器&#xf…

2、线程、块和网格

目录一、线程、块、网格概念二、代码分析2.1 打印第一个线程块的第一线程2.2 打印当前线程块的当前线程2.3 获取当前是第几个线程一、线程、块、网格概念 CUDA的软件架构由网格(Grid)、线程块(Block)和线程(Thread&am…

Allegro如何设置导入Subdrawing可自由选择目录操作指导

Allegro如何设置导入Subdrawing可自由选择目录操作指导 用Allgro做PCB设计的时候,导入Subdrawing是非常常用的功能,在导入Subdrawing的时候,通常需要把Subdrawing文件放在需要导入PCB的相同目录下,不能自由选择,如下图 但是Allegro是支持自由选择目录的,只需按照下方的步…

Sphinx文档生成工具(一)

Sphinx在项目中部署应用 一、将安装的Sphinx发布 创建FindSphinx.cmake,这个名字只能是这个 find_program(SPHINX_EXECUTABLE NAMES sphinx-buildHINTS$ENV{SPHINX_DIR}HINTS ${SPHINX_ROOT}/binPATH_SUFFIXES binDOC "Sphinx documentation generator"…