只不过为了那红灿灿的爷爷,叶新晨也不得不努力啊。
接下悬赏后,叶新晨就看着这套库封装了设备通讯以及各种命令返回信息的识别、分类以及错误监控等功能。
而且这套库由一种很小众的语言写成,这种语言叫TCL,你可以认为它是一种shell脚本,所以继承了命令行写批处理的各种怪异风格;同时它还提供了类似python的进阶功能,比简单的shell script稍微强大一些——这就在水平不高的自动化测试人员和相对强大的语言能力之间取得了平衡。
做过debug的业内人士都知道,一个bug症状越明显、发作越频繁,它就越好处理;最怕的就是这种维护辅助库一年半载不出现一次的。
所以也难怪人家要悬赏这个,毕竟费时间还不一定找得到,没有一定的经验太难了。
叶新晨也只是大致看了看,目前来说完全没有头绪。
因为相关代码4、5万行都可能是有的;而且这BUG描述也极为模糊、混乱,完全没有方向。
所以对于叶新晨来说,解决这个bug的过程应该曲折一点。
十分钟之后,在这个BUG之前,叶新晨在辅助库中又找到了另一个“积年老Bug”。
这个BUG好像属于偶发,时有时无,让人摸不着头脑。
所以叶新晨准备为这个支撑系统做个模拟运行系统。
为什么要做模拟运营系统,是因为所有这些测试代码其实都要在网元上运行;而这些网元中,性能比较猛的,两台就足够东南亚那些小国全国使用的——从它的电话通讯到电脑网络,全都由这个设备提供支持。
这种设备当然不可能多,如果有测试组想开始测试,就得提前申请;然后如果测试用例有BUG,就把大量机时浪费掉了,那样子写的代码,测试起来就更难了。
而叶新晨是没有这些的,所以只能搞个模拟系统:只要下发命令,就能从数据库找出记录下来的、对应的命令返回给自己,这样就不需要在真机上调试了。
借助这个模拟系统,叶新晨就可以把BUG出现前测试组日志里记载的命令返回“喂”给程序逻辑。
这果然使得Bug重现了。
通过到处插日志打印语句,叶新晨发现这个问题是因为“命令返回的结果信息丢失”引起的,然后进行到这一步,叶新晨发现调查卡到了这里,下面无法进行下去了。
揉了揉自己的脑袋瓜,叶新晨感觉头脑昏昏沉沉了。
“吃饭了老公,先休息一会儿吧,不用那么着急。”
这个时候,王晓雪也是从厨房中出来,看着头发已经乱糟糟的叶新晨,也是猜到叶新晨遇到难题了,所以王晓雪也是想让他休息一会儿。