bug 定位方法
简介
Bug 定位是软件测试过程中至关重要的一个环节,旨在识别和解决软件中的缺陷或问题。学习和掌握 Bug 定位方法对于软件开发和测试人员来说是不可或缺的,它不仅能够提升个人的技术能力,还能对团队和项目的成功产生积极影响。
bug 定位方法价值
- 提高问题解决能力
- 提升代码质量
- 增强团队协作
- 提高职业竞争力
- 减少用户投诉
bug 定位方法
常见 bug 分类
为什么需要掌握 bug 定位
- 提交
bug
时候追加更多有用信息,方便研发更快的解决问题。 - 分析
bug
形成原因,进行溯源并建立特征进行批量追踪。
bug 展现层
- 条件:测试数据
- 过程:测试步骤
- 结果:测试结果
技术架构层次
- 视图层
View
:- web Ul html css
- app activity view
- 控制器层
Controller
:- web: chrome、devtool
- app: dalvik art objectc-runtime
- 模型层
Model
:- 模型的传递方式httptcprpc串口
- 模型的形式json xml binary
- 模型定义schema
MVC 三层分析方法
View
层: 运行平台、应用调试机制、链路分析。Controller
层: 运行平台、应用调试机制、链路分析。Model
层:运行平台、应用调试机制、链路分析。
view 层常用分析方法
- UI 人工测试 自动化测试
- UE 人工测试 自动化测试
- UI Diff 自动化分析
controller 层常用分析方法
- 运行平台日志:log。
- 应用调试日志:debug trace hook profle。
model 层常用分析方法
- 运行平台log。
- app 调试机制。
- 链路分析:代理抓包 嗅探抓包。
web bug 分析方法
web ui view 层 bug 分析方法
- 主要依赖于 html css js。
- 可以使用 chrome 开发者工具 elements 与 style。
web controller 层分析方法
- console 可以了解 js的输出与报错信息。
- source 模块可以对 js 进行 debug。
web model 层分析方法-分析数据传递方式与结构
- 运行平台 log
- chrome network
- 链路分析
- 代理 proxy: fddler charles
- mitmproxy
- 网络层协议 network:tcpdump
- wireshark
app bug 分析方法
app view 层 bug 分析
- Ul界面交互
- UX/UE 用户体验
- Ul Diff: uiautomator dump
app controller 层分析
- 通过 logcat 分析 app runtime 日志
app model 层分析方法
- 运行平台 log
- 应用:应用日志
- 链路分析:
- 代理抓包:charles fddler mitmproxy
- 嗅探抓包:wireshark tcpdump
Android profiler 网络分析
Android Profiler
是 Android Studio
中用于监控应用性能的工具,包括 CPU、内存、网络和电池使用情况。网络分析(Network Profiler
)是其中的重要部分,帮助开发者监控应用的网络活动,诊断和优化网络性能。
使用代理工具
网络协议层分析
性能 bug 分析方法
H5 性能分析方法
利用 chrome 分析 web 性能
分析性能瓶颈 使用 profile 进行代码剖析
使用 Chrome DevTools
中的 Profiler
面板有效地进行代码剖析,识别并解决性能瓶颈,从而提升网页的性能和用户体验。
代码覆盖率分析方法
总结
- 明确 bug 问题的现象与复现步骤。
- 分层分析关键过程的数据与问题特征。
- 积累 bug 特征与问题根源特征,丰富测试经验,提高 bug 发现的能力。