关闭

软件测试之BUG分析定位概述(QA如何分析定位BUG)

标签: 测试QA定位bug
6128人阅读 评论(1) 收藏 举报
分类:

你是否遇到这样的场景?

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跨域问题?

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

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

使用Firebug 和 Fiddler

Firebug教程视频:
http://www.56.com/u13/v_NjQzMjcwMzQ.html

Fiddler教程:
http://wenku.baidu.com/view/32b6052f6c85ec3a87c2c5af.html


后台服务定位手段

输入条件构造

网络通信包(驱动、桩、真实的上下游模块)

数据文件

配置文件(包括词表,黑白名单等)

共享内存

输出检查

网络通信包

数据文件

日志(尤其是异常日志)

监控:
系统监控:cpu、句柄、IO、内存
模块级监控:内存结构体信息

调试DEBUG

JPDA打断点

后台服务常见问题

自顶向下排查(从系统入口模块开始)

是内部逻辑问题还是下游数据问题?

是否是某些配置下发生的问题?
日志中是否发现线索?
系统资源情况中是否发现线索?
是否是边界值、并发等问题?

下游模块是否交互正常?

是否是多线程下的问题?

是否是大压力下的问题?

是否是不同模块间接口的定义不一致?

是否和服务器软件版本及设置有关?

自底向上排查(从系统末端模块开始)

最底层的模块是否正常收到了请求?

是内部逻辑问题还是上游请求问题

NB青年必备:JPDA

参见:http://blog.csdn.net/kaka1121/article/details/51008195


相关博客:
http://blog.csdn.net/nancybaocool/article/details/38960945
相关文档:
http://wenku.baidu.com/link?url=Fd_n31TBT5JqggblSpohGOP9-BAuq-QkctQu3O6x0jjDfnXwE4lj1usH0CBznax0GqDXYTPfsfembvil5JpExWb08xzJI8yNZoZuKkNSn9C

0
0
查看评论

定位Bug技巧总结

解决Bug是编程人员的天职(创造Bug算是一种天赋吧),甚至有人这么认为:开发人员的能力可以依据他能决解Bug的复杂程度来评定。简单的Bug大多数程序员是靠臆断来解决的,但是当Bug隐藏在代码的最深处,臆断不能够解决问题的时候,或许我们就得依靠些许技巧而不是重启。.......虽然上面介绍了许多关于...
  • sinat_25141403
  • sinat_25141403
  • 2016-05-03 20:11
  • 3104

bug的定位比修改重要1000倍

bug的定位比修改重要1000倍 砍倒一棵树,当然也有技巧,一斧子一斧子劈得要在正确的位置上,还要喊好顺山倒,别砸到别人和自己。不过,在一片林子里找到你想要的那一棵,才是更重要的事,也更困难。修改一个bug,可能只是一个字符,而在几千几万行代码里找到应该修改的地方,就困难得多。就像,修改一个变量,...
  • younggift
  • younggift
  • 2013-11-30 00:38
  • 3591

【BUG定位】-如何定位Web系统前后台的BUG

如何定位Web系统前后台的BUG
  • zhailihua
  • zhailihua
  • 2017-11-06 18:44
  • 178

Bug产生的原因有

开发人员完成功能后,需要自测: 开发过程中:每个工程师都希望能再前期就能将功能梳理完毕 自测意思是只在自己的手机上 Code Review 没有命名规范和代码规范。 对输入输出的数据不做验证。 Bug...
  • u011904605
  • u011904605
  • 2016-08-01 16:02
  • 1457

bug统计分析初步

bug 统计分析初步
  • lonelyrains
  • lonelyrains
  • 2015-02-27 10:49
  • 2492

深入BUG分析

BUG不是纸面数据,数据为王的时代,BUG应该为测试、应该为质量提供更多的信息。
  • u012841352
  • u012841352
  • 2016-05-31 06:25
  • 2376

【度学堂】软件测试之bug分析定位技巧

1、web前端 Web前端就是通常说的网页。互联网公司的前端一般包含如下内容:JavaScript、ActionScript、CSS、HTML(..ML)、Flash、交互式设计、视觉设计web前端测试可能发现的问题——版面设计、交互设计、文字、性能、功能bug定位通用思路:现象-->...
  • nancybaocool
  • nancybaocool
  • 2014-08-31 16:21
  • 4338

测试工程师之bug的定位

身为测试工程师,总有一道绕不过去的坎就是定位bug,这其实是非常花费时间的。 也许有很多人不以为然,觉得无非就是发现bug后提交bug管理系统,描述操作步骤,预期结果和实际结果哪里不一致,然后继续测试。并不是说这样做的不对,只是说这样做的不够好,看似节约了测试时间,实则对于项目的进...
  • zhusongziye
  • zhusongziye
  • 2017-09-26 20:22
  • 425

Web测试中定位bug方法

在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具、数据库工具配合去排查。 bug定位常用工具 Firefox——firebug、web developer、live...
  • qq_36260310
  • qq_36260310
  • 2018-01-18 17:49
  • 43

Android快速定位Bug总结

这几天修改公司以前的几个android项目,代码是别人写的,坑得自己来填。这种情况下根据测试对BUG描述,快速定位问题,具体就是快速找到在那个文件中、那些代码引起的问题。经过几天摸爬滚打,也找到一些好的方法分享总结一下,不足之处欢迎拍砖。    1.前人写的代码规范和合理,注释...
  • android_gogogo
  • android_gogogo
  • 2017-02-15 17:16
  • 616
    微信公众号
    A8004E22-6263-4F37-965B-A6422188B9BF
    QQ群
    个人资料
    • 访问:273246次
    • 积分:3556
    • 等级:
    • 排名:第11042名
    • 原创:60篇
    • 转载:30篇
    • 译文:1篇
    • 评论:26条
    最新评论