如何应对难以重现的Bug?

软件测试之如何重现难以重现的bug   生活中有这么一种现象:如果你关注某些东西,它就会经常出现在你眼前,例如一个不出名的歌手的名字,一种动物的卡通形象,某个非常专业的术语,等等等等。这种现象也叫做“孕妇效应”。还有类似的一种效应叫做“视网膜效应”,它讲的是:你有什么东西或者特质你就特别容易在别处发现你有的这类东西和特质。干了多年测试的我就会经常发现日常使用的系统中有很多的bug,而我老婆就发现不了。今天要说的事儿是“重现难以重现的bug”,这件事儿在本周共遇见了4次:第一次是微博上有一篇《程序员,你调试过的最难的 Bug 是?》(后面会附上 阅读详情
作为程序员或测试人员,你碰到过难以重现的Bug吗?
 
作为软件开发人员或测试人员,我们总是会跟各种形式的Bug战斗。
 
1. 令人头疼的偶发性Bug:
 
有一些令人头疼的Bug,让你绞尽脑汁费劲心力总是找不到原因。
这类Bug最大的特点:
 
偶发性Bug!
偶发性Bug!
偶发性Bug!


重要的事情,重复三遍!
 
一般的Bug,开发人员可以通过调试Debug等手段,比如:
 
断点调试
单步调试
 
但Debug的前提条件是: 稳定的复现Bug!
 
注意“稳定”二字,其实你的Bug复现一次、两次,还是容易的,但问题是稳定复现
 
因为如果不能稳定复现,那么单步调,断点调,都无用武之地!
 
2. ”稳定复现Bug“的技术手段
 
如果有一种技术手段,
能够如同摄像头一样将犯罪份子(Bug)的整个犯罪行为过程记录下来
 
那么,解决之道就很简单了:
 
将视频拉到犯罪时间点,重现犯罪现场,看一看现场情况
 
对于程序而言,同样的
 
如果我们可以详细记录程序的执行过程,如同摄像一样
 
那么回放程序执行过程,就能分析并定位这种偶发性Bug了
 
3. DT-Win怎么记录并稳定复现Bug?
 
   自动化的Instrument技术,无需人工写log代码;
   长时间记录程序执行过程,最长可达30天;
   日志自动可视化分析,PC端“稳定复现Bug”;
 
   当然DT-Win还有其他很多功能,详细点击“DT-Win”进入产品页面,进行详细了解。
不可重现的BUG的应对策略 问题场景:有一些比较严重的BUG随机发生,难以查找规律的,测试工程师提交上去后,有可能会出现以下三个情形:1.开发人员试图重现,重现不出,Reject回来;2.开发人员找不到规律,所以不去解决,问题一直处于Open状态;3.开发人员因为问题难以解决,所以直接Resolved回来,觉得反正是偶发的,先改成解决状态再说。对开发人员、项目经理和测试工程师来说,正确的处理方法应该是怎样的?解决方案:1 缺 阅读详情

相关推荐

阿里开源最强数字人工具 EchoMimicV2,本地部署(一)

EchoMimicV2是阿里推出的半身人体AI数字人项目,基于参考图片、音频剪辑和手部姿势序列生成高质量动画视频,确保音频内容与半身动作的一致性。现在本地部署,安装体验一下。

缘分天空的专栏 4614

【软件测试】测试人的懊恼,你要揭开的秘密复现bug......

我们测试人常常会懊恼你是否在为忘记前面怎么执行测试而出现bug苦苦冥思,因为现在你需要说明怎么复现它?你是否在为开发人员不能根据你提交的bug描述而复现问题无奈?你是否在开发人员的机器上不能复现bug而百思不得其解?你是否在为忘记前面怎么执行测试而出现bug苦苦冥思,因为现在你需要说明怎么复现它?碰到这样的情况,往往是缺乏对应的测试用例,且执行流程过于复杂导致的。而往往出现在探索性测试阶段,因为我们可能灵机一动就会想到一个可能会出现bug的测试场景。

大佬云集技术答疑交流群:743262921(进群暗号:222) 1150

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

遇到无法复现的 Bug

在软件开发中遇到无法复现的 Bug 是常见的情况。处理这类问题需要耐心、系统性和创造性。通过记录复现步骤、检查环境配置、查看日志和调试信息、分析输入数据、使用调试工具、增加日志输出、编写单元测试和进行代码审查等方法和建议,我们可以更好地解决无法复现的 Bug。同时,持续优化和改进我们的开发流程和代码质量,可以帮助我们预防类似问题的发生。希望本文提供的建议对您在处理无法复现的 Bug 时有所帮助。了解问题排查的技术和策略,以及不断学习和实践,将帮助我们成为更好的开发者,并提高我们解决复杂问题的能力。

百鸣的专栏 2294

保姆级教程:在ROS Noetic下,手把手教你将自定义A*全局规划器打包成插件(附避坑指南)

本文提供了一份详细的ROS Noetic下自定义A*全局规划器插件开发指南,涵盖从环境准备、算法优化到插件配置与调试的全流程。通过实战案例和避坑技巧,帮助开发者高效实现机器人导航中的全局路径规划,特别适合需要优化ROS导航栈的开发者。

weixin_29168675的博客 285

基于STM32的RS485土壤氮磷钾与PH传感器数据采集与OLED显示实战(附完整代码)

本文详细介绍了基于STM32单片机通过RS485协议采集土壤氮磷钾与PH传感器数据的实战项目。涵盖硬件选型、连接方法、Modbus-RTU通信协议解析、STM32程序实现及OLED显示,提供完整代码和调试技巧,适用于农业物联网环境监测系统。

kotlin6android的博客 336

难以重现的 Bug如何处理

对很多测试人员(尤其是对新手来说)在工作过程中最不愿遇到的一件事情就是:在测试过碰到这样的事情,职业素养和测试人员长期养成的死磕的习性会让她们觉得不能放过这个bug,但是重现这样的 bug 有时候需要花费大量的时间,有的时候还有一些盲目性(因为黑盒测试的缘故,很多内部状态是不可见的,因此无法获取有效的信息来做跟踪),效率较为低下。在实际工作中,时间和进度摆在那里,在经历了多次痛苦的失败尝试之后,测试人员的处理方法一般会有如下几种:1.向开发人员寻求帮助来重现 bug;

菜鸟学识的博客 2645

Kubernetes集群资源优化实战:Volcano调度器如何帮你省下30%GPU算力

本文详细介绍了如何通过Volcano调度器的Binpack策略优化Kubernetes集群中的GPU资源利用率,解决AI模型训练中的资源碎片化问题。通过实战配置和调优指南,帮助用户提升30%的GPU算力利用率,显著降低任务等待时间和硬件成本。

weixin_30832143的博客 507

bug复现

(1)仔细回忆bug出现时细节(2)bug出现之前有没有什么前提之类(3)比较难重现可能是偶然性的缺陷,可以列为风险

yanhaijunyan的博客 1693

NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案(附详细排查流程)

本文深入探讨了NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案,包括快速临时修复、标准系统配置和PAM模块根治方案。详细分析了错误原因,提供了完整的排查流程和性能优化建议,帮助开发者高效解决RDMA网络环境下的内存锁定问题。

nut55的博客 625

RK3568/RK3588 + YT 9215交换机芯片,MAC TO MAC 调试记录

原来的方案是rk3568 gmac 直接接phy,phy 接 switch 芯片,只是把交换芯片当交换用,驱动方面基本不用开发,但是要做vlan 那么必须涉及交换芯片的开发。选择裕太微有两个方面的原因:1.国产化替代2.可获得原厂技术支持3.目前已经完成 两个gmac 口交换芯片的配置,实现vlan,内部交换,两个光口可正常通信。

Nyiragongo的博客 1万+

一个复现BUG的好方法

如果涉及到数据库操作,最好将数据库的可视化界面调出来(推荐使用DBeaver,免费且可设置一秒刷新一次数据库信息)。之所以要这么大费周章,是因为某些BUG复现不太容易,有时候会触发,有时候又不触发,而一通乱操作,好不容易触发后,却记不住当时都进行了哪些操作。将屏幕录制的视频放到视频剪辑软件中(诸如剪映这类),将前面和操作无关的视频片段删除,排除干扰。为了验证自己的猜测,同时可以调整代码,作出试探性更改,运行以验证猜测是否正确。一旦复现了BUG,就停止屏幕录制。使用屏幕录制软件,将整个屏幕的内容囊括进去。

dalaomanzou的博客 795

Python 爬虫实战:深入闲鱼平台,抓取二手好物价格波动数据

本文介绍了如何利用Python爬虫抓取闲鱼(Xianyu)二手交易平台的商品价格数据并分析其波动趋势。通过requests和BeautifulSoup库实现网页数据抓取与解析,使用pandas进行数据清洗和存储,最后借助matplotlib可视化价格波动情况。文章详细展示了从网页结构分析、数据采集到波动率计算和趋势可视化的完整流程,并建议通过定时任务实现持续数据更新。该项目能为二手市场交易者提供价格参考,帮助优化买卖决策。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3375

如何应对难以重现的偶发性bug?

作为程序员或测试人员,你碰到过难以重现的Bug吗? 作为软件开发人员或测试人员,我们总是会跟各种形式的Bug战斗。   1. 令人头疼的偶发性Bug: 有一些令人头疼的Bug,让你绞尽脑汁费劲心力总是找不到原因。 这类Bug最大的特点:   偶发性Bug! 偶发性Bug! 偶发性Bug! 重要的事情,重复三遍!   一般的Bug,开发人员可以通过调试Debug等手段,比如:

Trinity_Techologies的博客 8520

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

如何重现难以重现的bug

生活中有这么一种现象:如果你关注某些东西,它就会经常出现在你眼前,例如一个不出名的歌手的名字,一种动物的卡通形象,某个非常专业的术语,等等等等。这种现象也叫做“孕妇效应”。还有类似的一种效应叫做“视网膜效应”,它讲的是:你有什么东西或者特质你就特别容易在别处发现你有的这类东西和特质。干了多年测试的我就会经常发现日常使用的系统中有很多的bug,而我老婆就发现不了。今天要说的事儿是“重现难以...

weixin_30895603的博客 266

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何看待那些不能重现的bug

在我们日常测试活动中,经常会发现一些bug,但是这些bug可能就是昙花一现,再也无法(或者很难)重现出来,内心灰常崩溃。那到底有哪些方面可能会导致这类的缺陷发生呢? 我以自己工作中所遇到的给出一些自己的总结,当然如有补充请自行添加。   一.环境问题 这个问题导致的缺陷无法重现的情况还是比较多的,测试和开发环境的不一致可能导致开发那边缺陷无法重现,还有实际运行环境和我们测试的环境不

zhusongziye的博客 3794

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大模型Agent开发实战:从架构设计到工具调用与记忆管理

大模型驱动的智能体(Agent)正成为AI应用开发的核心范式,其本质是LLM与规划、工具调用、记忆及执行循环的深度融合。通过理解ReAct等关键机制,开发者可以构建出能自主决策并完成复杂任务的系统。工程化落地的价值在于提升自动化效率与任务稳定性,广泛应用于智能客服、数据分析、代码生成等场景。然而,实际开发中常面临上下文混乱、工具调用失败、状态不可控等挑战,需要系统掌握框架选型、记忆管理、工具设计及可观测性建设。本文基于一线实战经验,系统拆解Agent开发闭环,从最小循环实现到LangGraph编排,再到批量

weixin_33908217的博客 384

难以重现的bug怎么处理

这时候,真正的问题来了:如何捕捉难以重现的bug?这件事儿对于测试人员来说就这么难么? 答案并不那么乐观,重现“难以”重现的bug本来就是一件“难以”完成的事情。但“难以”并不是不可能,通过一系列的测试、分析方法,我们是能够抽丝剥茧把绝大部分隐藏的很深的bug揪出来的,当然有的时候你要考虑投入产出比,但投入产出比不是本篇要考虑的 为什么不能重现bug? 最大的原因就是:测试人员对被...

weixin_30703911的博客 531

测试的侦探艺术:如何应对偶现bug

在软件测试领域,偶现bug(Heisenbug)是最令人困扰的问题之一。它们像幽灵般飘忽不定,在测试环境中时隐时现,给产品质量评估带来巨大挑战。作为质量守门人,测试工程师需要一套系统化的方法来应对这类棘手问题。

weixin_42788944的博客 1148

发布之后

发布之后,系统才开始在真实的数据、环境上运行,才开始经受真实用户的考验。发布,不意味着项目的结束,却是挑战的到来。如何在发布之后,快速修复 影响到 系统使用的bug;如何在发布之后,快速改进在真实环境中无法承受的性能问题;如何在发布之后,快速调整用户体验较差的界面设计或者功能实现。开发团队或 者维护团队,如果不能快速响应这些突然袭来的变化,就会给客户带来损失。   同...

andyhu1007的专栏 151

难以重现的Bug怎么处理

在开发过程中,不管是开发人员还是测试人员最不愿意碰到就是偶现的Bug。如果复现吧需要花费大量时间和精力,而且还不一定能成功复现,不复现吧到线上出了问题谁都受不了。 为什么不能重现Bug? 1.环境的变更造成了bug难以重现,被测物自身发生了某些变更。环境的变更一般是由于多人共用环境造成的,也有少量情况下是系统内部或者时间触发的变更(这类bug非常难重现)。 2.没有找到真正引发bug的操作和步骤。...

wang_zhenpeng的博客 2875

【转】如何对待测试中不能重现的BUG

如何对待测试中不能重现的BUG 作者:谢金花 在测试过程中,我们总会遇到一些偶然发生的、不能重现的BUG,或者在测试人员那里可以重现,但是在开发人员处却不能重现的BUG。而且偶然发生的“无法重现”的BUG多半是“计划外”的。无论站在开发人员还是测试人员的角度,都不愿意遇到不能重现的BUG,因为这意味着要花更多的时间去查找原因和修改BUG,甚至短期内无法修复,需等待以后再次出现或许才能解决。 ...

iteye_12651的博客 554

怎么应对无法重现的bug

他人已复现 第一步收集信息,尽可能的了解复现的详细环境(手机型号、浏览器版本、操作系统,网络环境等),了解对方是否是可以稳定重现的。 在他人尽可能相同的环境下,先做基本还原,是否重现。 尽可能的了解复现的详细步骤(原始数据产生、数据类型、操作步骤等) 根据复现步骤,去重现问题。重现问题之前是否有其他比较特殊的操作,之间关键性是否很大。进一步尝试去重现。 尽可能的掌握复现的时间(可以根据...

zrg3699的专栏 1882
上一篇: 利用Wind River VxWorks 7实现自动化软件测试
下一篇: 黑盒测试(功能测试)
Trinitytec
博客等级 码龄11年 165粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值