黑盒测试bug定位
前提:
- 明确需求文档,产品逻辑。
了解途径:需求文档、checklist。 - 了解技术方案
-
客户端
- 实现方式(native reactnative hybrid wap)
- 发送网络请求时机 (点击按钮、切换tab、唤起app、置于后台重新唤起、失败后重试等)
- 网络请求url、参数(数据类型,是否必传,cookie设置) eg:ios不同系统long型 位数不同
- 响应请求处理(请求成功、失败、超时逻辑)
- 数据存储(内存、文件、SQLite) case:杀进程、删除文件、覆盖安装
- 数据处理逻辑(是否判空等,逻辑分支)
- 所需权限申请(照相机、允许通知、文件读取、麦克风)
-
后端
- 接口处理逻辑(入参,出参,计算、过滤等)
- 后端数据来源(mysql、redis、第三方接口调用、配置)
抓包工具、接口文档、询问开发。都可以进行了解,一定要好好沟通!!!!!
3.定位步骤:
-
明确bug发生时具体现象及期望结果
- 严重:闪退,崩溃,自动重启,操作无响应,流程有问题,信息显示问题等等。
- 一般:页面展示不好,提示不清楚等等等。
- 性能:内存泄漏,ANR。
-
确认bug发生的条件:
- 是否必现:浏览器,操作系统,手机系统&机型
- 网络环境:断网,弱网,网络切换
- 接口请求:是否正常发送请求,请求参数是否正确,后端接口响应是否正常
- 特殊骚操作:这一条说不清楚
-
前端问题定位:
- 抓日志
- 抓包
- 开发debug
-
后端问题:
- 是否第三方调用异常
- 数据库中数据错误
- 数据处理逻辑错误:空指针、计算错误、未命中缓存、边界处理等
- 资源使用(线程池、数据库连接池)
-
前端问题:
- 字段未判空、使用的方法版本不兼容、未申请到所需权限(必现:一般崩溃原因)
- 资源回收不及时(非必现 崩溃原因)
- 请求参数赋值错误
- 数据处理错误(缺少处理逻辑)
- 线程安全问题