测试人员最本质的工作就是寻找bug,提交bug、验证bug、推进bug的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。...一、什么是bug 软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。...二、bug的生命周期 生命周期中缺陷状态:新建–>指派–>已解决–>待验–>关闭 发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭BUG...2)测试用例不可能穷尽,总有超出你预料之外的因素,或者是神操作出现的bug。 3)成本问题,没有充足的时间编写测试用例,发现的bug 2、提交bug 在提交一个缺陷的缺陷,首先尽量描述这个缺陷的属性。...Bug重现环境,bug类型,bug等级,bug的优先级以及详细的重现步骤,结果与期望等。 当然,我们在提交一个问题之前首先应该保证,这个缺陷是没有被提过的,以免造成重复缺陷单。
作为一名测试人员,重要的工作内容之一,就是找BUG,提交BUG,验证BUG,推进BUG的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。...找到BUG后,那么,就要对BUG区分等级,以便开发人员,根据BUG的优先级来处理BUG,优先解决紧急的,致命的BUG,次要解决严重的BUG,接着解决一般的BUG,再接着解决轻微的BUG,最后,解决界面上的细小问题...找到BUG,提交BUG后,那么,就要进入BUG的生命周期了。 bug的生命周期 BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程。...生命周期中缺陷状态:新建–>指派–>已解决–>待验–>关闭 发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭BUG 如果待验的BUG...中间其他状态:拒绝、延期等 BUG的处理流程图(生命周期图) 设计如此(不是缺陷):1、核对需求规格说明书 2、找业务或者产品进行确认 3、确认是设计如此(不是缺陷),则直接关闭BUG。
你们公司是如何管理bug的?...考查点:缺陷的生命周期 常见的流程就不多说了,CSDN上有很多, 今天说一些不一样的点: 正常流程:打开–接受–已解决-关闭 其它状态:拒绝、重新打开、遗留 1、线上的bug优先级最高,会要求测试leader...亲自协助运营、开发人员定位, 邮件报告相关领导: bug分析、开发人员如何修改,有哪些影响范围, bug修改进度,开发和测试的改进措施; 2、测试环境的典型bug(多个系统都存在的问题), 会要求开发人员...在缺陷管理平台上 标注出现原因,修改了什么,影响范围等; 3、经bug评审会决定, 有些bug优先级较低,或修改影响范围太大,风险过高,可先置遗留状态,并汇总给产品,排期下个版本修改; 4、偶发bug...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
定义一个bug的严重程度 每个公司的要求都不同,这里只是提供一个参考 Blocker(崩溃): 阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失...,应及时处理) 3. bug的生命周期 ● New:新发现的Bug,未经评审决定是否指派给开发人员进行修改。...● Open:确认是Bug,并且认为需要进行修改,指派给相应的开发人员。 ● Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。...● Closed:修改状态的Bug经测试人员的回归测试验证通过,则关闭Bug。 ● Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。...无效的bug:open->closed open-rejected-closed
解Bug之路-Druid的Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少踩点坑。 前言 此Bug是Druid低版本的Bug,此Bug至少在1.0.12版本就已经修复。...Druid的Bug现场 在紧张的新项目开发的日子里,突然收到线上某系统的大量报警,对应系统的人员发现此系统在某一台机器上dump了大量的error日志。...Sharding Proxy的Bug 于是此问题又萦绕在笔者心头,在又一番不下于上述过程的努力之后,发现一个月之前上线的新版本的Sharding Proxy的内存泄露Bug导致频繁GC(并定位内存泄露点...终于这次的连环Bug算是填完了。 总结 追查Bug,日志和源码是最重要的两个部分。最源头的日志信息量最大,同时要对任何不同寻常的现象都加以分析并推测,最后结合源码,才能最终找出Bug。
问题 今天,我的下级代理联系我说,我们的平台,应用服务批量导入后,用户密码含有“0”的都不显示,例如密码是“07121239”但是平台只显示“7121239”,今天做了下排查,本文仅记录一下今天排查的经历...排查前端 在前端加了个调试后密码依然是含“0”的,那就说明问题应该在后端 排查后端 由于项目是原生php写的,部分代码,就直接通过[说明]跳过,更改之前的部分代码 代码返回是一个json,但是数据返回的password是“123456”,于是我重新打印了sql查询的语句,发现数据是“0123456”,说明应该不是sql查询问题,往下排查除了“json_encode...102.55156461759","latitude":"24.359801443673","vip_data":"2023-07-10 16:22:03","vip_info":"false"}} bug...> 看下修改后的结果: password显示“0123456” {"code":100,"msg":"\u67e5\u8be2\u6210\u529f","data":{"id":"45","phone
可是在回答区,有一部分用户也反馈,他们屏幕刷新率和 requestAnimationFrame 是同步的。这样也印证了大概率是一个Bug。...真的是 Bug 于是我去Chromium Bugs网站内去查找,找到了这样的一个Issue。内容也在写,使用了144hz刷新率的显示器,但FPS上限依然只有60。 ?...wiki.archlinux.org/index.php/X… 既然是Bug,那我们就看下Chromium到底是怎么修复的 修复逻辑 找到回答中具体的commit记录,然后链接到Chromium Gerrit...关于多显示器 从Chromium Gerrit平台提交的代码注释中可以看到,多显示器支持其实是存在问题的。这里可以参考另外一个Bug。...所以这还是个Bug 其他参考 www.cnblogs.com/biglucky/p/… superuser.com/questions/6… www.html5gamedevs.com/topic/17550
bug收集:专门解决与收集bug的网站 网址:www.bugshouji.com 前言 react 生命周期指的是组件从创建到卸载的整个过程,每个过程都有对应的钩子函数会被调用,它主要有以下几个阶段...: 挂载阶段 :组件实例被创建和插入 DOM 树的过程 更新阶段 :组件被重新渲染的过程 卸载阶段 :组件从 DOM 树中被删除的过程 旧版生命周期 挂载阶段:componentWillMount -...,通常在这里处理一些善后工作,例如关闭定时器、取消监听等等 旧版生命周期执行流 新版生命周期 react 打算在17版本推出新的 Async Rendering(异步渲染),提出一种可被打断的生命周期...,而可以被打断的阶段正是实际 dom 挂载之前的虚拟 dom 构建阶段,也就是要被去掉的三个生命周期。...这个生命周期主要为我们提供了一个可以在组件实例化或 props、state 发生变化后根据 props 修改 state 的一个时机。
什么是Bug Bash? Bug Bash即Bug大扫除或者说Bug大扫荡,在产品发布之前,为了保证产品的质量,团队成员一起集中精力来找bug的活动。这里的bug指的是产品缺陷。...不懂技术的同学,可以把它当做一个大家来找茬游戏。 Bug Bash的好处 1. 有这样一种正式的找bug个动作,能够倒逼我们去梳理上线还缺少什么问题。(搭建一个稳定的环境) 2....我们可以给Bug Bash设计的更具“游戏化”,让团队放松,增加团队更有凝聚力。 Bug Bash在什么场景下使用? Bug Bash在项目中不是必须的。...现场准备记录bug的工具,如白板、便签、笔等。最好还准备一些水果,饮料、小奖品等。 提前准备好测试的环境:如一些特别角色的账号,虚拟的账号金额等。 实时展示所有更新出来的bug。...全员对提交的Bug进行分析,制定出解决的方案并实施。项目经理跟进修复。 使用Bug Bash的注意事项 bug记录尽量简单,可以提前做一个bug模版,方便大家写内容。最好是把操作的步骤和截图都存下来。
大家好,又见面了,我是你们的朋友全栈君。 项目管理的基本内容:计划、组织和监控。 项目生命周期划分为3个基本的阶段:计划、实时监控和总结。 根据PMBOK,项目生命周期分为5个阶段: (1)启动 。...一般会根据项目的特点,对项目作业进行分解,估算项目的工作量;确定和落实项目所需的资源;识别出项目的风险及其对应措施;确定各个阶段性要递交的成果及其验收标准;最后确定项目具体的、整体的实施方案,写成文档。...在执行阶段,监控室非常重要的,即要随时掌握项目的进展情况,了解有什么问题需要解决,有没有新的需求或需求是否发生变化等。如果发现项目偏离计划,就需要采取措施,纠正项目出现的偏离,使项目回到正常的轨道上。...项目监控包含以下方面: 了解有什么问题需要解决; 有没有新的需求或需求是否发生变化; 协调项目组各方的关系,促进项目组的合作; 保持和客户的沟通,及时获得客户的反馈; 收集项目度量数据,对监控指标的数据进行分析...除此以外,还应对项目组成员的绩效进行评价,交给相应的技术管理部门和人事部门。
大家好,又见面了,我是你们的朋友全栈君。...SpringBean生命周期详解 一、简述: Spring是我们每天都在使用的框架,Bean是被Spring管理的Java对象,是Spring框架最重要的部分之一,那么让我们一起了解一下Spring中Bean...的生命周期是怎样的吧 二、流程图 总体分为四个阶段: ①实例化 CreateBeanInstance ②属性赋值 PopulateBean ③初始化 Initialization ④销毁...三、SpringBean生命周期中的增强接口PostProcessor: 在上图里有多种后置处理器接口,它们贯穿了Bean的生命周期,且它们的实现类都会在SpringIOC容器进行初始化的时候进行实例化...,让我们来做一个区分: 解释: Bean的实例化: 是指Spring通过反射获取Bean的构造方法进行实例化的过程 Bean的初始化: 是指Bean的属性赋值、执行初始化方法(init-method
大家好,又见面了,我是你们的朋友全栈君。 面试官:今天要不来聊聊Spring对Bean的生命周期管理? 候选者:嗯,没问题的。...: 候选者:相关属性注入完之后,往下接着就是初始化的工作了 候选者:首先判断该Bean是否实现了Aware相关的接口,如果存在则填充相关的资源 候选者:比如我这边在项目用到的:我希望通过代码程序的方式去获取指定的...候选者:嗯,这块我也是看过的,其实也是在Spring的生命周期里面嘛 候选者:从上面我们可以知道,对象属性的注入在对象实例化之后的嘛。...面试官:确实(: 候选者:我稍微总结一下今天的内容吧 候选者:怕你的观众说不满意,那我就没有赞了,没有赞我就很难受 候选者:首先是Spring Bean的生命周期过程,Spring使用BeanDefinition...Bean的生命周期,Spring预留了很多的hook给我们去扩展 候选者:1):Bean实例化之前有BeanFactoryPostProcessor 候选者:2):Bean实例化之后,初始化时,有相关的
做测试这一行,总有一道绕不过去的坎就是定位bug,这其实是非常花费时间的。也许有很多人不以为然,觉得无非就是发现bug后提交bug管理系统,描述操作步骤,预期结果和实际结果哪里不一致,然后继续测试。...交互设计、文字、性能、功能 ●bug定位通用思路:现象-->原因-->验证手段-->结论-->现象 测试bug定位原因归类: 测试环境相关 ●是否安装了flash及flash的版本——可能导致部分页面显示出问题...●后端可能发现的问题——逻辑的,数据的,策略的,接口的,性能的等 测试bug定位原因归类: 数据流相关 ●上下游模块是否连接正常——模块的ip和端口的配置,白名单黑名单配置,session授权 ●模块的数据发送接收是否正常...),系统的部署,程序的bug 环境相关 ●操作系统相关—— 是否和线上一致,内核版本,刷脏页时间,有没有调用directIO ●查看系统状态——Ps,top,/proc/pid/*, vmstat,netstat...正确的思路+丰富的业务知识+丰富的技术背景知识+较好的调试和开发能力= 强大的bug定位能力Bug定位的过程是能力提升的过程 Bug定位的过程也是境界提升的过程
前端,笔者在使用Jaeger进行Trace监控的时候,当数据量增大到一定数量级时,出现了一次CPU暴增导致节点服务器挂了的经典案例,这里对案例进行一个简单的抽象,供大家参考:首先通过pprof对耗时的函数进行定位...:图片发现是在Trace初始化的调用了HostIP方法特别耗时然后看了下函数的实现:图片找到了问题的疑似点:net.InterFaces这个方式会调用底层的系统函数获取本机的IP,会打开一个socket...飙升,出现了Node的问题那看看jaeger为啥会有这个问题跟踪一下git上的提交记录:啊,原来jaeger在某个版本已经修复了!...把之前获取的IP放在内存里,下次就不再重复获取了!图片难道有项目遇到了这个问题了?看看commit图片是在修复401问题,看下401问题是啥?...ip,这个时候入口机的ip和内网ip就适配了,jaeger信息也会异常,所以提出了这个问题,并进行修复图片我们看看jaeger开发者这么说图片图片原来开发者一直也是这个理念,而且在java的客户端已经实现了
[ com.lm.model.Student] declared in Hibernate configuration entry 解决方案:是因为在将spring框架和hibernate框架进行整合的时候...由于Spring中的“asm-2.2.3.jar”和Hibernate中的“asm.jar”包冲突 Overflow or underflow casting: "15822833227" into...class java.lang.Integer - [unknown location] 溢出或下溢铸造:“”走进课堂java.lang.integer - [未知的位置] No result defined
setTimeout(function(){ this.detail = e.result.data.data['0']; //只有这里是对的...complete: () => { } }) }, 0) //箭头函数中的this
你日常开发遇见过什么样的Bug?遇见过什么难调试的Bug?...笔者日常遇见的Bug: 如事务的回滚及传递依赖问题 空指针 死锁 传参错误,返回错误 精度丢失 性能优化 OOM等 当然还有一些其他Bug,不过这些Bug你觉得难吗?...如平时遇见的事务Bug,无非是对动态代理了解不够深入,又或者是事务的异常,Spring事务和数据库事务关系不是很理解,归根结底Spring事务会把事务翻译成数据库可执行的事务脚本,如:start,commit...个人结合实战觉得比较难调试的Bug有两种,野指针和并发问题: 野指针 同一个对象,两个指针,一个释放了,另外一个不知道还拿来用 同一个指针,不同位置 不再指向任何对象的指针 NulIPointerExcetion...并发问题 多线程存取同一块儿内存空间 一直修level太低的Bug跟躺平有什么区别?
前言 前两天在搞项目的时候,遇到了一个有意思的nginx的配置问题。准确来说,也并非是bug。 环境 window系统,nginx1.15。 没有测试linux环境,有兴趣可以测试。...配置文件原内容 这是windows系统常见的配置,初看是没有问题的。nginx -t也没有问题。 但是,启动nginx,访问项目的时候就会报错。...nginx在解析路径的时候应该是按字符串解析,所以\t会被当成制表符,解析后路径就变成"C:\Program Files est"。因此找不到项目跟根目录。
如果要动态复制一个LegacyText的文字,保持原来的中心位置,角度等,但修改其大小,发现有个别文字会偏离真正的中心位置,结果一番跟踪,发现问题在于构造时用的角度,不能是太零的。...一、 判断是否由于个别Leagcytext的定义引起,结果:思源路三个字几乎一样,但两头的出错 二、 跟踪三个字符的添加过程,发现直到添加坐标前,三个字的坐标完全没有问题 三、 尝试修改文字大小,无用...四、 尝试修改构造函数,发现如果不要角度,则一切正常,因而与角度有关 五、 统一修改角度值,发现0,90,270,360均正常,但三个字的真实角度270.8却出错,270也出错。
线程的生命周期 线程的六种状态: NEW、RUNNABLE、BIOCKED、WAITING、TIME_WAITING、TERMINATED。...NEW:初始状态,线程被构建,但是还没调用start方法; RUNNABLE: 运行中状态,包括了就绪状态跟运行两种状态; BLOCKED: 阻塞状态,线程进入等待状态,也就是线程因为某种原因放弃了CPU的执行权...,分为多种情况 等待阻塞: 运行的线程执了wait方法,jvm把当前线程放入到等待队列中 同步阻塞:运行的线程获取到对象的同步锁时,若该同步锁被其他线程占用了,jvm会把当前线程放入锁池中 其他阻塞:...: 一个正在无限期等待另一个线程执行一个特别的动作的线程 TIME_WAITING: 超时等待状态,超时以后自动返回 TERMINATED:终止状态, 表示当前线程执行完毕。...首先线程的出生到销毁是上面的3个状态; 接着线程可以调用wait()方法变成WAITING状态 ? 当有两个线程的时候,我们加锁可以转变线程的状态为BLOCKED ?
领取专属 10元无门槛券
手把手带您无忧上云