问题,俗称BUG.在测试工程师的职责范围内,要尽可能且尽早地发现程序上的问题,找到问题,然后暴露出来给开发修复,减少线上问题的发生,降低公司因线上问题产生的风险。在发现问题之后 ,也要关注定位问题、分析问题,下面针对测试过程和线上问题的定位分析问题展开讨论:
一、测试过程定位问题
整体思路:先判断是前端还是后端问题,再跟根据前后端问题属性展开定位
前端问题:
1.样式-与UI设计对比、测试各机器 各系统 各浏览器上的兼容
2.获取静态资源、JS报错-浏览器F12或 调试界面可以看到报错信息
3.参数传错-字段传错,或字段枚举取错值等 ,可参考接口文档
4.字符类型、字符长度-除需求原型上提及到的,还可参考本司同个系统内或业界内类似功能的做法(可能 需求上不会标明)
后端问题:
- SQL报错,比如:修改数据保存的时候,字段超长了或者字段类型不一样等等
- 接口报错、可参考接口文档判断是否接口请求是否传输正确,查看报错接口响应体信息和接口请求信息,可通过响应体的code 和message初步判断,然后再进一步查看服务日志,通过日志定位到具体报错原因。
- 配置问题-这类问题也可以归为环境问题?验证业务时所需要的环境、所需的配置这些都可以在测试数据准备阶段可以提前了解,验证业务所需要的环境、配置是什么。
如何扒拉日志,在简书上也有小伙伴分享,可以参考阅读下:
https://www.jianshu.com/p/7438ee379649
像文章上提到重要的一点
能快速定位问题,离不开你对业务系统、业务逻辑的熟悉程度,
在页面上看不见的部分,数据也要知道从哪里来到哪里去
定位问题使用的常用工具
具体如何 使用这些工具,可自行搜索一下,这里不做拓展:
浏览器:F12工具(看console和network)
APP、H5\web:Charles、fiddler、Android Studio
二、分析定位线上问题
线上问题分析思路:
哪个系统、系统哪个模块、模块相关功能有哪些、产生这个问题的数据上下游流程是如何的、问题的影响范围、严重程序、产生线上问题的根本原因、解决问题的措施是什么1
数据问题:是整体系统数据问题,还是某个范围的数据问题,影响范围是多大
业务问题:需求设计未考虑完整的、市场变化引起的场景不满足、漏测导致的
操作咨询问题:用户操作不熟悉、对系统不熟悉所产生的咨询,或所导致的问题--公司是否要安排对应业务培训等
运维问题:公司内大部分业务系统报错、访问不了~ 可能是公司服务器网络错误、被攻击、修改机器配置导致等
很重要的:
是否能快速定位分析问题,离不开你对业务系统、业务逻辑的熟悉程度,在页面上看不见的部分,数据也要知道从哪里来到哪里去
在排查线上问题过程中,原则之一就是先救火再追责,先把火熄灭了,降低损失后,再追因定责定短期措施、长期措施。
网友评论