专栏名称: 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中能得到什么——简述缺陷分析







请到「今天看啥」查看全文