起因
收到一条用户反馈
问题描述:在软件A中使用输入法卡死
跟进过程
获取用户出现问题的系统和架构
获取用户出现问题的输入法版本
测试小S在本地环境复现问题
跟进结论
用户反馈可以复现,提交bug给开发
bug描述:在软件A中使用输入法,触发B功能后,输入法卡死
开发跟进
开发小X接到bug后查找问题原因,尝试修改,在此过程中,小X联系了用户方,反馈给测试小S说复现的问题不对,跟用户的现象不一致,两方说的不是同一个问题
修正后的用户描述:在软件A中使用输入法,进行了C操作,输入法卡死
问题分析
收到这个信息后,小W和小S一起跟小X进行了沟通确认,小X始终咬定两边不是同一个问题,要求重新复现用户的问题
用户描述:在软件A中使用输入法,进行了C操作,输入法卡死
小S描述:在软件A中使用输入法,触发B功能后,输入法卡死
小W对问题重新进行了梳理,觉得从问题的现象上应该就是同一个问题,但是如何说服开发呢?(@[]@!!)
小W将重点放在了触发C操作和触发B功能上,觉得这两个动作应该有什么未想到的神秘关系存在
小W对两个动作进行了比较,进行了如下思考分析:
这两个动作的区别是什么呢?
这两个动作对输入法的影响分别是什么呢?
小W在本地环境中实际操作两个动作,偶然触发了D操作,发现也能出现卡死的问题
在小W的反复操作中,忽然发现,不止D操作,甚至E操作也会有同样的问题出现
小W对这几个动作多次操作,灵光就那么一闪,出现了一个想法:这几个操作导致的结果都是一样啊,都是导致了输入对象发生了变更呀,难道……
问题解决
小W根据对问题的分析,提出了新的观点:
用户描述问题和小S复现的问题是同一个问题
问题的描述可以修改为:在软件A中使用输入法,触发切换输入对象的操作,回到A软件中,输入法卡死
为了验证该观点,小W先是在本地环境中进行了多次的验证,做了各种输入后改变输入对象的动作,确认都可以复现卡死的现象;后又分别跟用户方和开发小X进行了沟通
最终确认,小W的观点是对的,同时开发小X根据小W提供的信息,快速的定位到问题原因并进行了修改
到此,该问题可以算是圆满结束ヾ(✿゚▽゚)ノ
通过上面问题的出现到解决的过程,可以发现从问题出现到问题解决,中间的纠结,其实都是对问题的分析定位,小编根据以上问题的分析过程,总结了在问题分析定位时的几个事项:
1) 问题描述是否清晰无歧义
2) 问题的相关信息是否收集全
3) 本地复现步骤与用户是否一致
4) 其他操作是否会导致同样现象
5) 各步骤引发的目的是什么
分享结束,欢迎互动分享,共同进步