浅谈解决问题的思路

一、起因

  先引一个故事,今天北京雷阵雨,中午家里的小米电视打不开,拿着遥控器摁了几次都没有反应,首先想到可能是遥控器没电了,边找手机(手机上有遥控软件)边想着回头买块电池换上,过了会才发现,原来是给电视供电的插排没开。

二、分析

1、为什么先想到的是遥控器问题?

  最直接的原因是遥控器当时就在手上,平常用的最多的也是遥控器,从概率上来说,遥控器出问题的可能性是最大的,所以当时就判定是遥控器的问题,如果没有后来的发现,只有在解决了遥控器问题(换上新电池或者使用手机遥控)时,才会发现,问题的原因,可能不在遥控器;

2、为什么不会想到是电源的问题?

  电视机的电源一直插在插座上,平时不会动,想当然的将电源问题略过;

三、结论

  在解决问题时,首先判断出现问题的最可能原因,根据问题描述(erros)进行处理,这是解决问题的首选方式,也是第一步,但是当报错信息不能体现问题的具体所在,或者说没完没了的一直解决问题,就要考虑完整的问题解决方案了。

  思路:首先考虑实现预期结果所需的必要条件(如电源、电视、遥控器都正常),在运行项目时,首先得有良好的运行环境(各种可用的依赖包、解释器、正确的路径匹配等)、完整且正确的代码,以及各种符合要求的硬件资源等。

  其次理顺各必要条件的职责、发挥的作用,以及完成实现时各部分的关系是怎样的。

  最后根据报错信息,判断那些部分会出现该类的问题,做排除法。

  比如开头讲的故事,电视打不开,首先想到是遥控器的问题,经过测试后发现不是遥控器的问题,就要考虑,如果想要正常开机所需的必要条件:电源、电视、遥控器都正常,同时判断出现问题的所有可能原因:没电、电源插头或线有问题、电视机有问题(主板、显示器坏了等)、遥控器问题,使用排除法,由易到难进行一一判断,最后解决问题或者找到问题出现的原因所在。

写在最后:在进行项目测试时,有时候会发现出现了问题,没及时处理,第二天重新运行,又正常了,奇葩啊。。。

猜你喜欢

转载自www.cnblogs.com/wendaobiancheng/p/9177288.html