总结一些工作上的系统调试方法

经过项目水深火热的过程与师傅的谆谆教导,下面总结一下项目问题调试解决思路。

面对一个系统级别软硬件系统,当出现一个问题的时候需要对自己进行灵魂拷问的状态如下:

 

# Debug解决方案(面向硬件)

 

0. 软件问题or硬件问题?

首先这个问题是不是软件可以规避的,从debug的时间成本,改动成本和收益来判断。

 

1. 问题的出现是必然还是偶然的?

针对系统SW/HW出现的问题,需要先对问题出现的情况快速测试。

对于必然出现的问题,分析其工作流程定位root cause。

对比偶然性问题,通过一定数量的测试数据来找到容易出错的part,分析其工作流程定位root cause。

 

2. 以最简洁的方式来复现问题。

针对一个已确认的问题,尽可能以更少的测试向量来做问题分析。

如去除冗余的HW连接方式与简化SW测试demo。

 

3. 以"确定/确保"的心态来找问题。

问题可能会出现在软件/硬件任意一part,尽可能多的在调试中找到与测试项有关的细节与研发同事沟通,协同定位问题。

必须避免"重新编译一次或许就规避该问题"的方式。

 

4. 以找到`Root Cause`为目的进行测试,避免问题的测试项无法收敛。

 

 

 

# Debug后测试方案

 

1. 对解决bug后的问题进行单一测试

当前问题现象有没有重现,从概率,系统运行时间来综合测试

 

2. 回归测试

包括之前曾出现过的问题进行回归测试,确保本次bug的修复不引发别的bug

 

3. 生产测试

全面的测试,作为出厂前的功能测试,确保所有测试向量的通过。

posted @ 2020-06-16 21:45  kumata  阅读(699)  评论(0编辑  收藏  举报