#1 首先由4个问题开始:
- 缺陷处理存在的通病是什么?
- 通病产生的原因,需要如何去面对和提高?
- 怎么分析日志和处理缺陷?
- 缺陷的后期处理?
#2 听听程序猿的心声 - BUG的描述不清楚,表达逻辑欠缺;
- 无效问题一大摞,重复问题数不清,偶现问题log不全;
- 不会分析log或代码。
#3 看看测试童鞋们的抱怨 - 偶现的bug已经附log,开发说log看不出相关信息,要求复现。
- 开发不自觉自测,改的新代码引发更多的问题都未及时发现。
- …
#4追根溯源到底是什么问题?
- 彼此的自觉性。
- 互相的不理解。
- 沟通的不及时性。
- 技能存在的差异。
#5 怎么解决呢?----有的攻破如下图
#6 缺陷分类
6.1 死机重启
- 用log工具打开log。
- 保证有完整的log。
- 分析重启的类型。
6.2 报错崩溃
6.2.1 报错的应用,要清楚以下几点:
- 完整有效的log
- 报错的概率
- 报错的最短路径
6.3 常见的报错类型
6.3.1 ActivityNotFound ----->找不到对应的activity。
应用跳转报错
6.3.2 NullPointerException ------>调用、访问、修改对象不存在的字段。
6.3.3 ArrayIndexOutOfBounds ----->数组索引超限制,如数组a[7],访问a[8]。
6.3.4 IllegalArgument ----->非法参数异常,方法调用异常。
6.3.5 ClassCastException ----->强制类型转换异常。
6.4 应用无响应,原因有如下三条:
###6.4.1 长时间的I/O处理,比如读写大文件,网络访问时造成的阻塞。
###6.4.2 执行耗时的运算,Android默认为超过5000ms即5秒开始弹出ANR窗口。
###6.4.3 Service和appWidget中使用多线程,除非它和Activity工作在不同的进程。
##6.5 功能逻辑缺陷,分为以下五方面:
- 未实现需求的功能;
- 实现需求之外的功能;
- 功能实现与需求不吻合;
- 默认状态与需求不符合;
- 调用应用,点击无效。
6.5 交互视觉缺陷,分为以下四方面:
6.5.1 与交互图不一致
- 交互图提及的功能或状态未实现,
- 与交互文案不一致。
6.5.2 与视觉图不一致
- 图标规范、字体大小,
- 公共规范。
6.5.3 缺少交互详细信息
- 跟产品或UE定义明确的功能需求
- 项目组信息同步,完善功能
###6.5.4 未设计视觉效果 - 报bug跟进
- 提醒UI补充
#7 缺陷策略:多思、共享- 好记性,不如烂笔头–>多思考,勤作笔记
- 经典的bug出现方式、处理方式,及时收藏
- 好的测试方法、测试策略,促进组内的建设
8 缺陷报告
- 报告的规范性、实时性
- bug分析图(发展、状态、影响)
- 风险评估、产品质量状况
#9 案例的更新与维护
1.案例的意义,影响范围
2.必要性、及时性
3.案例的高效性、时效性
10 测试工作优先原则
- 紧急不严重–稍后做
- 严重紧急 --立马做
- 严重不紧急–排期做
- 不严重不紧急 --有空做
**总之 **缺陷的分析与处理需要开发和测试的共同配合、沟通、协作完成!