项目上线前发现严重Bug怎么办?

今天分享一个面试问题,现在有一个面试场景:

项目计划明天发布,但是在今天你作为测试人员发现了一个严重的bug,市场相关人员又在催发布的事情,这个时候你应该怎么办?

这是测试工程师不管是在面试,还是在工作中都会遇到的问题,今天就来聊聊针对这种情况,测试人员比较好的一个处理方案。

1.  首先,确认Bug。

作为测试人员我们要确认这确实是一个稳定存在的Bug,而不是偶然出现的Bug,可以在其它同事的电脑或相关设备上去再次验证。

我们要确认上一版本是否有同样的Bug,以便知道是当前版本新引入的还是一直未发现被漏测的。

我们要在这个版本的不同环境去确认这个缺陷,比如开发环境、测试环境、预生产环境(staging)等,以便知道环境对这个缺陷的影响。

这些工作除了可以帮我们确认这个Bug外,还可以帮助我们在下一步报告这个缺陷时,为团队提供更多更有用的信息。

2.   接着,报告缺陷

如果确认了这确实是一个稳定存在的严重Bug,就要尽快通知给相关人员,比如相关开发、项目经理、相关市场人员等,最好能组织一个会议,在会议上把缺陷的各种情况说清楚,除了技术层面的情况,还要讲清楚这个Bug对客户可能产生的影响,方便市场人员对缺陷的判断。

3.  分析缺陷解决的可能性

和开发一起分析这个缺陷是否能在明天上线前解决,这个工作量不止包括开发修复Bug的时间,还要包括修复Bug后测试人员对可能影响到的功能的回归测试的工作量,还要分析修复该缺陷时进行的代码更改带来的新风险。

4.  思考替代方案(workaround)

和团队一起思考可行的替代方案,用户完成一项业务,通常都走流程A,但当前走流程A一定会遇到这个严重Bug导致用户无法完成此业务。如果有另一种方案,比如走流程B,虽然复杂一点但仍然可以完成该业务,这就是一种替代方案,当然还有其它技术层面的替代方案。

有替代方案就会好办很多,如果缺陷在明天上线前无法修复,和相关人员商量后,我们可以把这个缺陷做为已知问题(known issue)对项目进行正常的发布,并确保通知到用户该版本存在的已知问题以及替代解决方案。

5.  Bug修复验证

如果缺陷在明天上线前可以修复,测试人员应该立即分析修复此缺陷会影响到的相关功能,并把相关测试用例挑选出来准备好,以便修复完成后可以立即开始测试工作,最大限度地减少进一步的延迟。

如果缺陷无法在明天上线前修复,经团队评估做出了延迟发布的决定,测试人员也应该与开发团队保持密切联系,以便缺陷修复后可以尽快开始验证工作。

6.  经验总结

对于项目上线前才发现的严重Bug要及时进行经验教训的总结。

对于测试人员来说,如果是漏测的bug,一定要及时补充和完善测试用例,并注重同行评审。

另外要评估和调整测试用例执行的优先级,确保影响核心功能的高优先级测试用例被优先执行,确保严重的bug应该在此轮测试的最初时间被发现。如果有自动化脚本,也要调整自动化脚本的执行优先级。

分析开发人员产生此bug的原因,并给予相应的建议,比如增加单元测试覆盖率或者代码审查等。


大家对这个问题是怎么回答的呢?或者在实际工作中是怎么处理的呢?欢迎在下方留言^_^

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

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

相关文章

JVM常用命令

jps —查看pid jstat -gcutil 4364 1000 2000 —查看堆内存占用百分比,每秒打印1次,总共打印2000次 S0:幸存1区当前使用比例 S1:幸存2区当前使用比例 E:伊甸园区使用比例 O:老年代使用比例 M:元…

基于计算机视觉的身份证识别系统 计算机竞赛

0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-sen…

初识jQuery

文章目录 一、jQuery介绍二、Jquery优势三、jQuery版本四、jQuery对象jQuery的引用js代码与jQuery代码对比标签对象与jQuery对象 五、jQuery查找标签1.基本选择器2.组合选择器3.层次选择器4.属性选择器5.基本筛选器6.表单筛选器 六、筛选器方法七、操作标签1.class操作2.文本操…

048基于web+springboot的校园资料分享平台

欢迎大家关注,一起好好学习,天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本校园资料分享平台有管理员和用户两个角色。管理员功能有个人中心,学生管理,资料分享管理,资源分…

软考高项-挣值管理-TCPI

术语公式实例计算工具和技术-TCPI(完工尚需绩效指数)是一种为了实现特定的管理目标,剩余资源的使用必须达到的成本绩效指标,完成剩余工作所需成本与剩余预算之比。BAC10000;AC4500;EV3000;非典型的EAC11500;典型EAC14999TCPI&…

FastBond2阶段2——基于ESP32C3开发的简易IO调试设备

1. 项目介绍 之前买了许多国产单片机esp32c3一直在吃灰,没有发挥它的真实价值。非常感谢硬禾组织的Fastbond2活动,刚好两者经过微妙的碰撞。恰可以用于FastBond2活动主题4 - 测量仪器(单片机开发测试领域),或者用于国…

VR全景在医院的应用:缓和医患矛盾、提升医院形象

医患关系一直以来都是较为激烈的,包括制度的不完善、医疗资源紧张等问题也时有存在,为了缓解医患矛盾,不仅要提升患者以及家属对于医院的认知,还需要完善医疗制度,提高医疗资源的配置效率,提高服务质量。 因…

Linux学习笔记之三(vim编辑器)

目录 1、vim的四种工作模式2、正常模式下的操作指令2.1、进入编辑模式2.2、进入命令行模式2.3、进入视觉模式2.4、光标跳转2.5、复制、粘贴、删除2.6、重复、撤回操作 3、命令行模式下的操作指令 1、vim的四种工作模式 vim的四种工作模式分别是编辑模式(insert mode)、命令行模…

PCL 计算USC(UniqueShapeContext)特征描述子

目录 一、概述二、代码示例一、概述 USC(UniqueShapeContext)特征描述子是一个用于在点云数据中识别和提取独特形状的算法。这个算法的主要目的是在复杂的点云数据中找到重复出现的形状,并且只保留一个。它基于一个独特的形状描述符,通过计算点云中每个点的形状上下文,生成一…

多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉 计算机竞赛

文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习多目标跟踪 …

构建一个CAN报文周期任务类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、can周期任务类构建总结 前言 提示:这里可以添加本文要记录的大概内容: 最近想着有时间实现总线报文收发的动态的配置,…

【Linux】僵尸进程、孤儿进程的理解与验证

僵尸进程 概念 僵尸进程(Zombie Process)是指一个已经终止执行的子进程,但其父进程尚未调用 wait() 或 waitpid() 函数来获取子进程的退出状态。 Linux 中,僵尸进程会保留一些资源,如进程 ID、进程表项和一些系统资源…

王道p18 07.将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。(c语言代码实现)

视频讲解在这:👇 p18 第7题 c语言代码实现王道数据结构课后代码题_哔哩哔哩_bilibili 本题代码如下 int merge(struct sqlist* A, struct sqlist* B, struct sqlist* C) {if (A->length B->length > C->length)//大于顺序表的最大长度r…

48基于matlab的经验傅里叶分解,适用于非线性及非平稳时间序列分析,将信号进行精确分解。程序已调通,可直接运行。

基于matlab的经验傅里叶分解,适用于非线性及非平稳时间序列分析,将信号进行精确分解。程序已调通,可直接运行。

图学习笔记

1、邻接矩阵&#xff08;vector二维数组&#xff09;的DFS&#xff08;递归实现&#xff09; class Graph { public:Graph(int vertices);void addEdge(int from, int to);void DFS(int startVertex);private:int vertices;vector<vector<int>> adjMatrix;vector&…

java中的Thread类解析

实现线程的三种方式 1、继承Thread类&#xff0c;重写里面的run方法 public class MyThread extends Thread{Overridepublic void run() {System.out.println("threadName:"Thread.currentThread().getName());}}/*** 方式一&#xff1a;继承Thread类&#xff0c;重…

玻色量子签约移动云“五岳”量子云计算创新加速计划!

2023年4月24-26日&#xff0c;由中国移动通信集团主办的“云擎未来 智信天下”2023移动云大会在苏州圆满落幕。 中国移动在本次大会发布了“五岳”量子云计算创新加速计划。作为中国移动量子计算方向的战略伙伴&#xff0c;玻色量子创始人&CEO文凯博士代表北京玻色量子科技…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义&#xff0c;两地指的是两个城市&#xff1a;同城&#xff0c;异地。三中心指的是三个数据中心&#xff1a;生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统&#xff0c;双中心具备相当的业…

【c++随笔11】面向对象和封装

【c随笔11】面向对象和封装 一、什么是面向对象编程&#xff1f;1、面向对象以对象作为程序的基本单元2、类和对象3、特性继承和多态性 二、什么是封装&#xff1f;1、类的定义和访问修饰符2、封装数据和公共接口3、数据验证和处理4、封装的优点5、实际应用示例 三、再次理解1、…

1,Opencv常用结构

1&#xff0c;Point类&#xff1a;点表示 point表示二维结构的点,(x,y) cv::Point point; point.x 100; point.y 100;2&#xff0c;Scalar类&#xff1a;颜色表示 cv::Scalar colorBlue(255,0,0);//蓝色 cv::Scalar colorGreen(0, 255, 0);//绿色 cv::Scalar colorRed(0, …