当前位置:
文档之家› 软件测试之bug分析定位技巧
软件测试之bug分析定位技巧
后台系统测试——常用的分析定位思路(续) 常用的分析定位思路( 后台系统测试 常用的分析定位思路
当你遇到一个与预期输出不符的情况时:
自底向上排查(从系统末端模块开始)
最底层的模块是否正常收到了请求? 是内部逻辑问题还是上游请求问题? ……
后台系统测试常见的 多发区
总结
经验总结,不是标准 Bug千差万别,需要case by case的分析定位 修炼内功
对业务系统的掌握 测试方法 开发技术
多思考、多积累、多总结
问题解答
咨询方式
联系人
董萌
联系方式
dongmeng@
参考资料
参考网址
(暂无)
参考书目
(暂无)
从线下线上环境的差异出发
数据规模 流量规模 并发访问 异常输入 多机存储 跨机房
常用技巧
修改host表:通过机器名确认问题 “线下连线上”:慎用! 日志还是日志!
一些tips 一些
充分利用配置文件 注意验证码、行为过滤阈值等开关项的使用 充分利用日志 注意日志超过2G会回滚 充分利用辅助工具 注意工具也会有bug 要求增加程序的可测性 日志、开关、接口、输出中间结果等 可以利用diff和源码 及时保存现场 截屏、截包、页面源码、日志、Core文件 去bug系统挖掘历史经验
后台系统测试——常用的分析定位思路 常用的分析定位思路 后台系统测试
当你遇到一个与预期输出不符的情况时:
自顶向下排查(从系统入口模块开始)
是内部逻辑问题还是下游数据问题?
是否是某些配置下发生的问题? 日志中是否发现线索? 系统资源情况中是否发现线索? 是否是边界值、并发等问题?
下游模块是否连接正常? 数据是否正确发送给下游模块? 下游模块是否正确返回了数据? 是否是不同模块共同作用的结果? 是否是不同模块间接口的定义不一致? 是否和服务器软件及设置有关? ……
你是否期待这样的场景
QA发现问题后,经过一系列分析判断,胸有成竹的找到 rd说:hi,
你的程序出bug了,初步断定是某某分支的某某逻辑和某某 分支的某某逻辑冲突了,应该把某某的判断一改就好了!— — 定位精准 你的程序出bug了,过去某某产品线就曾经出现过类似的问 题,都是某某函数用错了,导致前端某某输入的情况下,会 导致某某异常,你检查一下吧! —— 经验丰富 你的程序出bug了,应该是某某的问题。页面截屏、日志、 系统资源情况、复现步骤我都记录在bug系统了,请尽快修 复 —— 有理有据
页面布局、用户功能、易用性、兼容性
主要的测试手段
模拟用户输入,在浏览器页面上进行输入、点 击等行为
web前端测试 前端测试——常用的分析定位思路 前端测试 常用的分析定位思路
当你遇到一个与预期输出不符的情况时:
是否是浏览器设置问题? 是否是浏览器cache的问题? 在其他浏览器上是否可复现? 用其他数据是否可以复现? 是否是cookie相关的问题? 是否正确发出了请求? 是否得到了正确的应答? 是否是网络原因? 是否是跨域问题? 是否是程序版本的问题?
web前端测试 前端测试——常见的 常见的bug多发区 前端测试 常见的 多发区
浏览器兼容性 浏览器按钮操作 字符编码 页面跳转 跨域 性能
web前端测试 前端测试——常用的辅助工具 前端测试 常用的辅助工具
常用辅助工具
firefox插件:
Firebug Web developer Live http headers http fox
ie插件:
Httpwatch
慢速网模拟工具 (/projects/tooslow/)
后台系统测试中bug的分析定位 的分析定位 后台系统测试中
什么是“后台系统”测试 主要关注点
逻辑流、数据流、策略、接口、性能
进一步划分
后台系统级测试 后台模块级测试
主要的测试手段
RD说:赞,和你合作很愉快!
课程简介
为什么QA需要对bug进行分析定位,直接抛 给rd不可以么? 关于bug的预备知识
什么是bug? bug的处理流程
测试对象划分
Web前端(UI相关) 后台系统
Web前端测试中 前端测试中bug的分析定位 前端测试中 的分析定位
什么是“web前端”测试 主要关注点
软件测试之bug分析定位技巧 软件测试之bug分析定位技巧 bug
董萌 dongmeng@
课程介绍
培训目的:
让新人掌握常见的bug分析定位技巧,提高测试 效率及独立解决问题的能力
培训对象:
质量部新入职的同事
培训时间:
全部课程大约70分钟
课程大纲
课程简介 web前端测试中bug的分析定位技巧 后台系统测试中bug的分析定位技巧 线上问题的分析定位技巧 总结
计算机系统时间显示不对
汽车无法发动
你是否遇到这样的场景
QA发现问题后,匆忙找到rd说:不好了,你的程序出问 题了! RD(追查半小时之后)
唉,是你们测试环境配置的问题 唉,是你们数据不一致 唉,是你们**程序版本不对 唉,是**产品线的问题 当时的日志呢? 当时cpu有异常么? 可以复现么? **的处理就应该是这样啊!
模块间接口 边界值 并发操作 异常条件 编程语言差异(hash算法,编解码) 性能 服务器软件及配置
后台系统测试——常用的辅助工具 常用的辅助工具 后台系统测试
常用辅助工具
Curl及其他发送接收http请求的工具 产品线特色的驱动工具 产品线特色的桩工具 截包工具 读取二进制文件工具
线上问题的分析定位思路
后台系统测试中bug的分析定位(续) 的分析定位( 后台系统测试中 的分析定位
输入条件构造
网络通信包(驱动、桩、真实的上下游模块) 数据文件 配置文件(包括词表,黑白名单等) 共享内存
输出检查
网络通信包 数据文件 日志(尤其是异常日志) 日志(尤其是异常日志) 监控
系统监控:cpu、句柄、IO、内存 模块级监控:内存结构体信息