培训 · 第二课

自动化不工作时该看哪里

判断系统坏了,最省事的信号是它报错。真正难办的是不报错却跑错的系统:屏幕上一切正常,结果却悄悄错了。本课讲遇到这种情况时该看哪里、按什么顺序看。

什么是安静的故障

吵闹的故障会自己现身:有东西停下、灯变红、通知弹出来。安静的故障什么也不说。系统照常运行,每一步都报成功,产出的结果却是错的。可能过几天才被发现,因为没有人会怀疑一个正在运行的东西。

常见的样子有这几种:某个字段来的时候是空的,于是计算从零开始;范围写短了,于是有一列从来没被读到;规则只在某一种情况下被跳过。这三种情况系统都会说成功。安静的故障更危险。

三步诊断

先核对输入

进入系统的数据真是您以为的那份吗?字段名、范围、空单元格。大部分故障不出在规则上,而出在送到规则跟前的东西上。读规则之前,先用眼睛看一遍输入。

再核对规则

输入没问题,就轮到规则。把它在哪种情况下做什么逐条写下来,再拿一个真实例子在这份写法上走一遍。纸上站不住的规则,在系统里也站不住。

最后数一数输出

把预期的记录条数和实际产出的条数对一对。数目对不上就是有故障,哪怕屏幕上什么也看不出来。数数比看着更可靠。

重现不了的东西不要动手修

这一步被跳过的次数最多。故障要是在您手里再也出不来,您也判断不了所做的改动到底有没有用。先有意把故障再弄出来一次,之后再开始修。

还有一个陷阱。一个检查工具长期给出同样的告警,那条告警就不再携带信息了。总是亮红灯的灯,没有人会读。告警应该时不时被验一验还成不成立,否则真正的故障会消失在同一块屏幕里。

如果怀疑某个系统正在悄悄跑错,写信给我们,一起看看。

常见问题

系统不报错,怎么知道它坏了?
靠数输出。定期把预期的结果条数和实际产出的条数对一对。这两个数之间的差距就是故障的第一个迹象,哪怕屏幕上什么也没出现。
看日志就够了吗?
常常不够。日志记的是系统做了什么,不记它没做什么。压根没跑过的步骤不会留下痕迹。所以数输出必须和读日志放在一起。
修好了但心里没底,该怎么办?
试着有意把故障请回来。如果不再像原来那样出现,修复多半是站住了。如果照样出现,那次改动关掉的是症状而不是原因。
一次改好几处会有问题吗?
通常会。两处一起改,就分不出是哪一处起了作用。诊断时一次只改一处看着更慢,实际上更快走到答案。
这套办法适用于哪些工具?
和工具无关。输入、规则、输出这个顺序,在表格里和在自动化流程里同样成立。变的只是您盯着的那块屏幕的名字。