在测试的时候,有时候经常会遇到一些难以复现的bug ,比如有的线上bug在少部分用户哪里出现,但是自己复现却是没有问题的 ;亦或者是在测试环境上发现了一个偶现bug ,然后再复现就很难以找到了 ;亦或者是出现一个技术问题 ,像环境部署,明明部署的是没有问题,按照正确的步骤来的,但是就是无法访问系统。
那么,像这类问题它都属于恢复性问题 ,就是正常情况下 ,它都是没有问题的 ,但是在操作的过程中产生了某些微小变化导致了问题的产生。如果没有发生任何变化 ,则情况就保持不变 。这类问题往往需要找到问题产生的根因 ,也就是这个微小的变化在哪 ?所以这个微小的变化是分析问题根因的一个很重要因素 。
接下来介绍的两种方法,都可以有效的找到问题原因 。它们分别是:构成条件法 和 差异对比法
1.构成条件法
所谓的构成条件法 ,就是一个功能要完成正常的操作,它所需要的构成条件,这些条件都是必要的,如果有一个条件不具备,那么该功能就无法完成 。就比如通过xshell连接Linux服务器的功能。若正常情况下,只要有正确的连接信息 ,你都能连接正常 。但是就是这个简单连接操作 ,也依然会出现连接失败的情况 ,连接失败你也未必找到具体的原因。
就以上面的案例我们通过构成条件法来分析下 ,首先想要成功连接到服务器 ,就必须具备两个条件 :
-
必须要有正确的连接信息 ,
-
网络的连通性
以上两个条件缺一不可 ,那如果连接失败 ,我们就可以对这两个条件逐一去排查 。
首先我们再次确认连接信息输入的是否正确 。
-
连接的用户名和密码是否正确 ,因为有时候系统已经修改了密码导致了连接失败 ,但是你不知