专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

软件测试之BUG分析定位概述

51Testing软件测试网  · 公众号  · 测试  · 2017-03-09 17:33

正文


  你是否遇到这样的场景?

  QA发现问题后找到DEV说:

  不好了,你的程序出问题了!

  DEV(追查半小时之后):

  唉,是你们测试环境配置的问题

  唉,是你们数据不一致

  唉,是你们**程序版本不对

  唉,是**产品线的问题

  当时的日志呢?

  当时cpu有异常么?

  可以复现么?

  这里就应该是这样啊!

  你是否期待这样的场景?

  QA发现问题后,经分析判断,胸有成竹的找到DEV说:

  你的程序出bug了,初步断定是XX类的XX判断分支有问题,应该把某某的判断一改就好了!     ==定位精准==

  你的程序出bug了,过去某某产品线就曾经出现过类似的问题,都是某某函数用错了,导致前端某某输入的情况下,会导致某某异常,你检查一下吧!   ==经验丰富==

  你的程序出bug了,应该是某某的问题。页面截屏、日志、系统资源情况、复现步骤我都记录在bug系统了,请尽快修复   ==有理有据==

  RD说:

  赞,和你合作很愉快!

  QA做BUG定位的意义是什么?

  1、明确一个“问题”是不是真的是“BUG”

  — 问题:与预期不符,表象

  — BUG:代码错误,实质

  2、避免来回扯皮,提高测试修复效率

  — 误报降低、原因明确

  3、有助于理解产品内部逻辑流程

  — 知其然,也知其所以然

  4、提升DEV对QA的信任度

  — 靠谱!

  QA做BUG定位的几个误区:

  1、心态误区:不明觉厉,与己无关

  — BUG定位没那么高大上,三板斧会用就行

  2、手段误区:定位必须看代码

  — 大部分定位还用不上代码能力

  3、目标误区:所有问题都该被当做BUG定位

  — 问题不一定是BUG,即便是也得考虑性价比

  4、分工误区:DEV不需要帮助QA的bug定位

  — 大家目标是一致的,DEV需提供可测性支持

  QA定位BUG的大体流程:

  BUG定位经验建议:

  1、碰到问题,别忙定位,首先请:

  — 保存犯罪现场(截图)

  — 确认能复现

  2、先排除QA低级问题,避免被鄙视:

  — 被测程序版本/配置项/网络环境,是否ok?

  — 是不是自己理解错误,本来就该如此

  3、手段多样化,别钻牛角尖,注意性价比:

  — 多观察日志,多熟悉工具,搞不定就放

  4、建设自己的BUG历史知识库:

  — 有助于温故而知新

  5、小版本的新BUG,可通过代码diff定位:

  — 代码DIFF的部分是罪魁祸首,很快

  6、要求DEV提高可测性

  — 合理的debug日志、中间结果dump

  — 方便可控的逻辑开关

  BUG定位手段:

  普通青年

  — 日志、返回码、异常值

  文艺青年

  — 各种非侵入式观察工具

  NB青年

  — 代码走查、JPDA远程调试

  WEB项目BUG定位

  明确是浏览器端问题还是服务端问题

  — 用Fiddler/Firebug看HTTP内容是否正确

  — 到这一步,其实就可以算阶段性结论了!

  浏览器端问题:

  —— 用Firebug做进一步定位

  服务端问题:

  — 通过观察日志和接口内容缩小怀疑范围

  — 高级手段:JPDA远程调试

  一般系统的定位调试  

  • 浏览器端常见问题

  • 是否是浏览器设置问题?

  • 是否是浏览器兼容性问题?

  • 用其他数据是否可以复现?

  • 是否是cookie相关的问题?

  • 是否正确发出了请求?

  • 是否得到了正确的应答?

  • 是否是网络硬件原因?

  • 是否是JS跨域问题?

  • 是否是前后台接口不一致问题?

  • 是否是字符编码带来的问题?

... ...

 
推荐阅读

点击阅读☞如何定位Web系统前后台的BUG

点击阅读☞从bug中能得到什么——简述缺陷分析

点击阅读☞基于Bug的测试策略分析

点击阅读☞说说我六年分析Bug的一些心得

点击阅读☞程序员Bug考核分析与现阶段对代码质量把控方法

点击左下角“阅读原文”查看更多内容!