当前位置: 首页 > news >正文

从测试的角度看待南航机票bug事件

事件描述

11月8日晚间,多名消费者反映南方航空多条成都进出港航线票价(不含机建燃油费)低至10元、20元、30元不等。上述超低价机票不仅在南方航空App可以购买,多家在线旅游平台也都能抢到。

11月9日,南航官方发布公告,称11月8日晚间在系统异常期间南航售出的所有机票(支付成功并已出票)全部有效,旅客可正常使用。

针对为何出现超低价机票,南航客服回应称,8日晚20时左右出现的超低价机票是系统Bug导致,“10”“30”是因为系统故障出现的错误代码,并非票价。

从软件测试的角度来看待问题

言归正传,我们从软件测试的角度来看这件事情。对类似航空、铁路、公路这类公司而言,购票和支付系统可以说是企业的软件核心之一,本次是南航的运价管理系统出现技术问题,这个系统bug可能是接口调用出错了,导致系统出现“10”、“30”等问题。

照理来说,这种大型国企每天都有严格的测试回归流程,特别是针对运价管理系统这个核心。从逻辑上讲,出现这样的问题,不太应该。

目前,自动化已经深入应用到软件质量检测的方方面面,从自动化用例的构建到自动化用例的执行再到测试报告自动生成已经形成一个逻辑紧密的线条,同时辅以测试管理,搭建出稳定可靠的测试流程。

如何解决问题

回到上面的问题,这个问题大概是接口的问题,所以我们能不能从别的角度测试,尝试提前发现问题,我想到了UI功能测试。

UI功能比较好理解的地方在于,屏幕显示的数字是多少,他就是这个数,不会有其他答案。比方说,我想要10,你给我显示8,那就肯定是错的。

本次南航的问题与之类似,界面上显示的“10”、“30”在视觉上是10、30,但是和对应接口的展示的数据肯定是不一样的。我们可以通过接口调用获取接口属性,然后通过OCR识别界面真实呈现属性,两者断言,一旦不一样,就代表有错误。

或者我们可以把OCR视觉识别出的数字和一个规定的数字进行比较,比如100。凡是比这个数值低的,那肯定代表着错误。

在OCR视觉识别的基础上,UI功能测试有很多种测试玩法,感兴趣的小伙伴们可以自行尝试体验一番。

相关文章:

从测试的角度看待南航机票bug事件

事件描述 11月8日晚间,多名消费者反映南方航空多条成都进出港航线票价(不含机建燃油费)低至10元、20元、30元不等。上述超低价机票不仅在南方航空App可以购买,多家在线旅游平台也都能抢到。 11月9日,南航官方发布公告…...

通过 dump 虚拟机线程方法栈和堆内存来分析 Android 卡顿和 OOM 问题

作者:Tans5 Android 中的性能问题无非就是卡顿和 OOM,虽然总体就这两种,但是造成这两种性能问题的原因却是非常多,需要具体的原因具体分析,而且这是非常复杂的。本篇文章只是简单介绍如何找到造成这些问题的直接原因的…...

layui 框架的upload上传文件的data参数传到后端的方法

因为特殊性,upload.render初始化的data:{id:"sss"}不能传参到后台。 经过大量测试及参数网上方法,才发现,需要特殊处理: 1、如果直接给{id:"sss"}无效,但如果在before里,this.data.i…...

Java虚拟机的垃圾回收机制

Java虚拟机的垃圾回收机制 Java语言会对程序运行过程中产生的垃圾进行自动回收,不需要我们手动地写语句主动地对垃圾进行回收。 什么是垃圾? 在C语言中不再被使用的内存空间被称为垃圾,因为在C语言中如果我们使用到一些自定义类型的结构体&am…...

时间序列基础->数据标签、数据分割器、数据加载器的定义和讲解(零基础入门时间序列)

一、本文介绍 各位小伙伴好,最近在发时间序列的实战案例中总是有一些朋友问我时间序列中的部分对数据的操作是什么含义,我进行了挺多的介绍和讲解但是问的人越来越多,所以今天在这里单独发一篇文章来单独的讲一下时间序列中对数据的处理操作…...

【图论】最小生成树(python和cpp)

文章目录 一、声明二、简介三、代码C代码Python代码 一、声明 本帖持续更新中如有纰漏望指正! 二、简介 (a)点云建立的k近邻图(b)k近邻图上建立的最小生成树 最小生成树 (Minimum Spanning Tree,简称 M…...

【亚马逊云科技】使用Amazon Lightsail快速建站

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…...

使用字典树实现一个可以自动补全的输入框

说在前面 平时我们在终端输入命令的时候是不是都可以通过tab键来进行快速补全?那么有没有想过怎么去实现这个自动补全的功能呢?今天让我们一起来使用字典树实现一个可以自动补全的输入框。 效果展示 体验地址 http://jyeontu.xyz/jvuewheel/#/JAutoComp…...

edge/chrome浏览器favicon.ico缓存问题

解决办法来源于How do I force a favicon refresh? - Stack Overflow <head><link rel"icon" href"favcion.ico" type"image/x-icon"></link> </head> 遇到的问题&#xff1a; 第一次设置了faccion.ico 后 再一次修…...

长虹智能电视使用123

1、开机 在接通电源的情况下&#xff0c;长虹智能电视开机有两种方式。 方式1&#xff1a; 按电视右下角开机按钮 方式2&#xff1a; 按电视遥控器开机按钮 长虹智能电视开机后会进入其操作系统&#xff08;安卓&#xff09;。 屏幕左右双箭头图表&#xff0c;手指点击会…...

Java基于itextPDF实现pdf动态导出

Java基于itextPDF实现pdf动态导出 1、制作PDF导出模板2 、集成itextpdf3 、编写实体4 、编写主要代码5、编写controller并测试补充&#xff1a;踩坑记录 现在的业务越来越复杂了&#xff0c;有些业务场景已经不能满足与EXCEL导出和WORD导出了&#xff0c;例如准考证打印&#x…...

【Liunx】配置IP地址与MAC地址绑定

配置IP地址与MAC地址绑定 A.查询MAC地址B.绑定前的准备1.资源&#xff1a;(1) 服务器Server1:192.168.122.1(2) 服务器Server1:192.168.122.2 2. Server1按照dhcp服务 C.开始绑定操作1.修改dhcp配置文件2.生效 A.查询MAC地址 点击这里查看【如何查询服务器IP与MAC地址】 B.绑定…...

Mybatis-Plus最新教程

目录 原理&#xff1a;MybatisPlus通过扫描实体类&#xff0c;并基于反射获取实体类信息作为数据库信息。 ​编辑1.添加依赖 2.常用注解 3.常见配置&#xff1a; 4.条件构造器 5.QueryWrapper 6.UpdateWrapper 7.LambdaQueryWrapper:避免硬编码 8.自定义SQL 9.Iservic…...

【Shell脚本11】Shell 函数

Shell 函数 linux shell 可以用户定义函数&#xff0c;然后在shell脚本中可以随便调用。 shell中函数的定义格式如下&#xff1a; [ function ] funname [()]{action;[return int;]}说明&#xff1a; 1、可以带function fun() 定义&#xff0c;也可以直接fun() 定义,不带任何…...

STM32中独立看门狗和窗口看门狗的使用方法

独立看门狗&#xff08;Independent Watchdog&#xff0c;IWDG&#xff09;和窗口看门狗&#xff08;Window Watchdog&#xff0c;WWDG&#xff09;是STM32微控制器中提供的两种看门狗定时器。看门狗定时器是一种硬件计时器&#xff0c;用于监视系统的运行状态&#xff0c;并在…...

刷题笔记(第七天)

1.找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~) 返回数组&#xff0c;格式为 key: value结果数组不要求顺序 输入&#xff1a; var C function() {this.foo ‘bar’; this.baz ‘bim’;}; C.prototype.bop ‘bip’; iterate(new C()); 输出…...

python3.7 + pygame1.9.3实现小游戏《外星人入侵》(五):计分

本小节首先在游戏画面中添加一个Play按钮&#xff0c;用于根据需要启动游戏&#xff0c;为此在game_stats.py中输入以下代码&#xff1a; class GameStats():def __init__(self,ai_settings):# 初始化统计信息self.ai_settings ai_settingsself.reset_stats()#让游戏一开始处…...

[量化投资-学习笔记014]Python+TDengine从零开始搭建量化分析平台-Python知识点汇总

以下内容总结了之前章节涉及到的 Python 知识点&#xff0c;看过之前的章节同学&#xff0c;就不用打开了。 1. Restful 访问 TDengine 数据库 知识点&#xff1a; 发送给 TDengine 的 HTTP Body 里面是 SQL 明文&#xff0c;请求方式为 POST。TDenging 返回的结果是 JSON 格…...

[论文分享] Never Mind the Malware, Here’s the Stegomalware

Never Mind the Malware, Here’s the Stegomalware [IEEE Security & Privacy 2022] Luca Caviglione | National Research Council of Italy Wojciech Mazurczyk | Warsaw University of Technology and FernUniversitt in Hagen 近年来&#xff0c;隐写技术已逐渐被观…...

代号:408 —— 1000道精心打磨的计算机考研题

文章目录 &#x1f4cb;前言&#x1f3af;计算机科学与技术专业介绍&#xff08;14年发布&#xff09;&#x1f9e9;培养目标&#x1f9e9;毕业生应具备的知识和能力&#x1f9e9;主要课程 &#x1f3af;代号&#xff1a;408&#x1f525;文末送书&#x1f9e9;有什么优势&…...

OpenClaw日志分析技巧:千问3.5-9B辅助故障定位

OpenClaw日志分析技巧&#xff1a;千问3.5-9B辅助故障定位 1. 为什么需要AI辅助日志分析&#xff1f; 上周排查一个OpenClaw任务失败的问题时&#xff0c;我盯着3MB的日志文件看了整整两小时。那些重复的报错堆栈和模糊的警告信息像迷宫一样——直到我意识到&#xff1a;与其…...

2026横向对比5款H5工具,产品介绍页制作,哪款出片更高级?

制作产品介绍H5时&#xff0c;很多人都会陷入两难&#xff1a;要么模板廉价缺乏质感&#xff0c;撑不起产品调性&#xff1b;要么设计复杂、操作繁琐&#xff0c;新手难以驾驭&#xff1b;要么高级效果需额外付费&#xff0c;性价比大打折扣。产品介绍页的高级感&#xff0c;直…...

wx-dump-4j前端架构解析:React+Ant Design构建现代化管理界面

wx-dump-4j前端架构解析&#xff1a;ReactAnt Design构建现代化管理界面 【免费下载链接】wx-dump-4j 一款基于Java开发的微信数据分析工具。 项目地址: https://gitcode.com/gh_mirrors/wx/wx-dump-4j wx-dump-4j是一款基于Java开发的微信数据分析工具&#xff0c;其前…...

全栈开发者工具链:OpenClaw+Qwen3.5-9B-AWQ-4bit辅助前端调试

全栈开发者工具链&#xff1a;OpenClawQwen3.5-9B-AWQ-4bit辅助前端调试 1. 为什么需要AI辅助前端调试 作为全栈开发者&#xff0c;我经常陷入这样的困境&#xff1a;当页面渲染出现异常时&#xff0c;需要在控制台日志、网络请求和DOM树之间反复切换排查。传统调试流程至少包…...

避开网络限制:用Docker在本地或内网服务器部署Gemini Pro Chat的完整指南

企业级内网部署Gemini Pro Chat的Docker实践指南 当技术团队需要在封闭网络环境中部署AI服务时&#xff0c;传统云部署方案往往面临重重阻碍。本文将分享一套经过实战验证的Docker化部署方案&#xff0c;帮助开发者在完全离线的企业内网或受限制的本地环境中&#xff0c;搭建稳…...

双系统安装OpenClaw全攻略:Windows+Mac对接Qwen2.5-VL-7B图文模型

双系统安装OpenClaw全攻略&#xff1a;WindowsMac对接Qwen2.5-VL-7B图文模型 1. 为什么需要双系统部署OpenClaw 作为一个经常在Windows办公机和MacBook之间切换的技术博主&#xff0c;我一直在寻找能跨平台无缝衔接的AI助手方案。直到发现OpenClaw支持对接Qwen2.5-VL-7B这样的…...

智能体学习9——CrewAI-Agent与Task核心方法详解

文章目录 CrewAI Agent 与 Task 核心方法详解 一、Agent() — 定义智能体 1.1 完整参数表 1.2 核心三要素 1.3 双模型策略 1.4 常见配置模板 1.5 直接调用(不经过 Crew) 二、Task() — 定义任务 2.1 完整参数表 2.2 参数详解 2.3 context 参数(关键) 2.4 完整使用示例 三、…...

YOLOv11涨点改进| TPAMI 2025顶刊 |独家创新首发、Conv改进篇| 引入LPRM局部像素关系卷积模块,提升细节表达和边界定位能力,助力小目标检测、语义分割、图像分割、图像增强有效涨点

一、本文介绍 🔥本文给大家介绍使用 LPRM局部像素关系卷积模块 改进YOLOv11网络模型,通过建模局部像素之间的关系对特征进行细化优化,使模型在特征融合或上采样阶段能够更好地恢复空间结构信息并增强区域间的上下文联系。其优势体现在能够提升细节表达和边界定位能力,增强…...

小米笔记本Pro双固态硬盘实战:Win11与Ubuntu22.04双系统完美共存指南

1. 为什么选择双固态硬盘装双系统&#xff1f; 最近给小米笔记本Pro加装第二块NVMe固态硬盘的朋友越来越多&#xff0c;我自己也刚在2023款小米Pro上实现了Win11和Ubuntu22.04的双系统共存。相比传统单硬盘分区方案&#xff0c;双物理硬盘隔离安装有几个明显优势&#xff1a; 首…...

HJ164 太阳系DISCO

题目题解(7)讨论(12)排行 中等 通过率&#xff1a;33.93% 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 知识点广度优先搜索(BFS) 校招时部分企业笔试将禁止编程题跳出页面&#xff0c;为提前适应&#xff0c;练习时请使用在线自测&#xff0c;而非本地IDE。 描述 …...