• 0
  • 0
分享
  • 行之有效又自我提高的Bug跟踪方法了解一下——软件测试圈
  • 曼倩诙谐 2021-07-13 09:29:34 字数 1806 阅读 993 收藏 0

  对于Bug跟踪分析这块,从我个人这几年的工作经验来看,大部分测试人员一般关注的都是从新建到关闭的这条工作流程。

  至于跟踪过程中和开发人员沟通过程中会遇到各种各样的问题,至于这些问题有没有一个可通用的模板。

  亦或者Bug关闭后有没有进行有效的分析,是什么原因导致的,对于后续测试过程有没有什么参考价值?

  后面我提到的问题,工作2-3年的测试人好像极少有考虑到的,如果每次对Bug都进行及时有效的分析,我相信对于个人成长会有很大的帮助。

  Bug跟踪的一般流程

  这里叙述一下正常我们Bug跟踪的流程都有哪些步骤:新建->修改/非Bug->验证->关闭/打回。

  新建:提交问题,分配给负责人

  一般给pm,由pm下发,也有直接分配给开发人员。

  修改:开发解决问题

  确认是问题,进行修改。如果不是问题,由一些其他因素导致,如数据之类的会非问题;有时还会让测试帮忙验证问题。

  验证:测试人员对修改好的Bug进行验证

  如果验证通过关闭,如果验证失败将Bug打回,一般再打回的过程需要和开发人员确认一下什么原因导致没有改好,有可能代码未更新等原因。

  跟踪过程中遇到常见问题

  通过上面的描述,可以看到沟通基本贯穿着整个环节,说几个常见的场景:

  ·开发人员提出问题下期修复

  ·开发人员提出问题不好修改,目前是最好的解决方案

  ·开发人员说明这个不是问题,但经过你的分析还是问题

  以上几个问题等等之类,我有一套自己的解决方案。

  先同开发个人自己沟通,尽量修改,如果实在解决不了的情况下,有个词叫向上管理,这个方法非常管用。

  直接和pm沟通,最好是一类问题一起沟通,基本上90%以上的问题都能解决掉。比如在有个项目中就有这样一个问题:报表查看字段多出一列空行。

  开发以之前讨论过的结果建议类问题本期不改、这个功能后续会优化,客户提出来我们再改等等。当时我就是抽空找了时间和pm对了一下,不一会儿问题就改完了,省时省力。

  但是也有一个问题,开发联系人可能会对你不满意。这里怎么说呢,个人理解,作为测试人员,本着对工作负责任的态度,就要有专业的职业素养。

  Bug原因分析

  之前发生的一个Bug,大概跟踪了一个星期左右最终找到原因。这期间开发人员配合非常积极,测试也是一直在复现,最后发现解决方案比较乌龙,竟不用改一行代码......

  测试过程

  为了模拟出真实的测试场景,通过调用接口修改状态。在接口调用成功后,物品状态显示不正确(有时正确,有时不正确,非必现),和开发沟通~

  1.0解决方案

  接口调用有前提条件,注意调用时间保持比当前操作时间延后一些,好,继续测试。

  还是复现问题,现象:

  接口调用成功,数据库值未发生变化。

  2.0解决方案

  调试,更改数据库里面的值,更改不了。Sql语句查询,编辑修改不成功,发现表发生死锁,开发认为查询慢,造成的死锁,加了一下索引。继续测试发现问题又出现了。

  开发继续调查

  这时候问题就不好复现了,操作了很多次才复现。突然有一天,下班所有的开发把电脑关机后,数据库锁死的数据突然释放。

  我们发现,因为有很多开发环境,很有可能程序进入其他人的代码里,造成数据库锁住。

  这里普及一下死锁的定义:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

  回顾过程

  发现问题->避免问题的前置条件(屏蔽掉)->判定死锁(关键步骤)->加索引(事实证明跑偏了)->负载均衡->问题解决。

  我仅仅描述了大概的过程,其中经过多少轮的验证已经没有明确的数字了。

  假如和开发没有及时的沟通,单单从Bug验证次数的结果来看,很容易对这个开发做出能力上的评判,但事实上这个开发能力挺强。

  在这个过程中,我理解了负载均衡基本的原理及怎么去判定数据库是否死锁的办法,这些都是测试的经验积累。

  总结

  所以说,怎么才能丰富自己的知识储备,最好的办法是实践

  在实践过程中,发现一个问题,像挖野菜一样,一个个挖,在挖的同时不断拓展思路。

  以上就是对于怎么进行Bug跟踪分析的见解,总结一下最重要的两点:

  ·向上管理及跟踪分析

  ·当然也少不了良好的沟通技巧



作者:桃子   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、测试时间不同:Beta测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段。alpha测试简称“α测试”,可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。2、测试的目的不同:α测试的目的是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试即为非正式验收测试。Beta测试是一种验收测试,通过了验收测试,产品就会进入发布阶段。3、测试人员及场所不同:α测试是由一个用户在开发环境下进行的测试,也可以是公司内...
            0 0 1121
            分享
          •   Selenium是当前最流行的Web UI自动化测试框架,熟悉Selenium的人也知道,Selenium是基于WebDriver。那么能不能不用Selenium,直接调用WebDriver来实现Web UI自动化呢?答案当然是可以的,本文就带你来实现基于WebDriver的Web U自动化。本文通过调用Selenium、Curl命令、直接调用ChromeDriver三种方式,实现了同样的功能。编程语言为C#,已在Visual Studio 2019测试通过,其他主流编程语言也可以完成同样功能。对比三种实现方式,大家就可以容易的理解如何不用Selenium而直接调用WebDriver完成W...
            12 12 1065
            分享
          •   性能测试是描述测试对象性能相关特征并对其进行评价而实施的一类测试,是软件测试的重要组成部分,对于保证软件质量起到了至关重要的作用。TPS指单位时间完成的事务数,是衡量服务器承载能力的重要指标,直接体现软件系统性能的承载能力。TPS在性能测试中常作为重点关注的性能指标,目标TPS的计算需要一套科学客观的方法。  一、目标TPS的估算  当前在软件性能测试中估算目标TPS通常都会考虑被测系统未来一段时间的预期交易量,然而对于未来预期交易量往往是项目组凭借主观经验估计一个业务年增长率来进行估算的,缺乏科学客观的预测方法。  因此,我们提出了一种应用时间序列分析中的ARIMA模型估算被测软件未来预...
            12 12 2207
            分享
          • 读者提问:APP 自动化测试工具有推荐的吗 ?阿常回答:有,Appium。官网地址:https://appium.ioGithub地址:https://github.com/appium/appium (开源社区)阿常碎碎念:Appium 是一个开源的、跨平台的自动化测试工具,可用于 APP 的自动化测试。Appium 支持 iOS 、Android 及 Firefox OS 平台。Appium 使用 WebDriver 的 json wire 协议,来驱动 iOS 系统的 UIAutomation 库、Android 系统的 UIAutomator 框架。它允许测试人员在...
            0 0 1014
            分享
          •   在我看来压力测试的压测对象可以分为UI,接口及数据库三个部分吧,对界面及接口进行压测还算熟悉,定位性能瓶颈,对数据库SQL执行压测也是需要做的工具呢?还是Jmeter。  1、将需要用到的链接Oracle的架包放到jmeter中  在数据库服务器安装路径下,找到ojdbc5.jar,D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib  拷贝到jmeter/lib中。  2、配置Jmeter  (1)新建线程组  鼠标右击测试计划,选择 添加--Thread--线程组。  (2)添加JDBC Connection Configurati...
            0 0 1437
            分享
      • 51testing软件测试圈微信