这两天出现了两个故障,让我和同事用了一两天来定位。这不得不使我来思考:为什么定位问题需要这么长时间,我们到底缺少什么东西?
我们没有原则的记录了很多信息,但是要么记录了很多冗余的信息,要么记录的信息缺少关键的信息来帮助分析问题。那么我们到底需要记录什么信息呢?
在和同事讨论的时候,我们有了新的认识。其实我们的系统总是工作在某个状态,然后在外部输入(激励)下产生特定的输出(响应)。
那么问题就简单了,在系统异常时我们只要把状态和输入记录下来就可以了。
我的同事在此基础上又有了新的想法:其实我们开发时候的原则也是应该这样的。这在我们后面进行TDD开发时有了原则的指导。如果
某一天外面发生了故障,我们把记录的状态和输入拿过来,作为测试用例来运行肯定会失败,那么这个就是我们遗漏的测试用例。
这样想来,整个软件开发过程的原则就一致了,可以以不变应万变。
我们没有原则的记录了很多信息,但是要么记录了很多冗余的信息,要么记录的信息缺少关键的信息来帮助分析问题。那么我们到底需要记录什么信息呢?
在和同事讨论的时候,我们有了新的认识。其实我们的系统总是工作在某个状态,然后在外部输入(激励)下产生特定的输出(响应)。
那么问题就简单了,在系统异常时我们只要把状态和输入记录下来就可以了。
我的同事在此基础上又有了新的想法:其实我们开发时候的原则也是应该这样的。这在我们后面进行TDD开发时有了原则的指导。如果
某一天外面发生了故障,我们把记录的状态和输入拿过来,作为测试用例来运行肯定会失败,那么这个就是我们遗漏的测试用例。
这样想来,整个软件开发过程的原则就一致了,可以以不变应万变。