今天中午,项目经理在群里说线上的项目有问题,并截图说明问题了。我先让测试看一下,然后我自己查看代码。
测试说无法复现
我在想那里的代码我没有修改过(接锅老项目,不熟悉尽量不改),应该不是我修改的问题。测试说无法复现,
我只能在线上调试。
运维说没有问题
我有一台服务器的权限,我线上的域名绑定到那台服务器上,然后调试,发现500错误。找运维协助一下,运维说,
请求已经转发过来了。是程序超时问题。
同事协助调试
我们一起查找了各种日志发现一个无权限写入的记录,发现日志是root权限,一般情况下,都应该是www权限。我
立即修改成www权限,程序正常访问。
测试说已经复现
在测试的努力下,bug终于重现。这样就可以不用在线上调试,我立即思考如何调试。此时,已经入夜,头稍晕。
思考无果。测试跟进,有伙伴,效率有所提升。我边思考边说,和测试回顾项目的逻辑。我们正在一步一步逼近
真想。我定位到一个函数,然后不调试打印数据。突然,我们发现数据前后不对。然后不断缩小调试范围,一处
不合理的地方被发现,我十分肯定。立即修改,自测通过。这应该是之前的bug,但是场景用少,所以没有发现到。
结束
测试不放心,然后在此基础上,用不同的场景测试了一下,测试通过。修改代码版本,合并到develop分支,再合并到
master分支,部署完成。上线测试同样没有问题。
总结
回家。测试很重要、老项目真的很坑。 — 一个背锅侠的自言自语