每晚读一个学习测试技术de小鬼故事 【每晚一个细思极恐的软件测试小故事】第十六夜:恐怖的第三方库
注意看,这个男人叫小帅,小帅是一名 python 测开工程师。
这天,小帅拿到了一个不错的 offer,入职这家本地最大的互联网公司是他的梦想。
早上办理了入职手续,小帅便被 hr 带着走向工位,可是映入眼帘的工位却和他想象中的有点不同,只见工位上,椅子上,电脑上都贴着奇怪的平安符,密密麻麻的,仿佛封印着什么。
看到这个情况,hr 忙解释说,这是上一个工程师贴的,还没来得及摘掉。说完,hr 便手忙脚乱的去清理这些诡异的符咒。
这时,一声呵止声传来,正是最里面座位的组长发出的。
“别!别摘那些东西!”
hr 却仿佛没听见一样,还是摘了干净然后拿走扔掉了...
见状,组长轻叹了一声,给小帅解释道:这个工位的电脑有点灵异,就是每次写的代码在这的电脑上运行都会莫名其妙的出现 bug,而在其他电脑或者线上服务器则没啥问题。
小帅听罢便回答道:怎么可能呢?是不是这台电脑环境乱了?我最擅长修复环境了,交给我吧,组长!
组长却再次叹了口气后便不再言语。
小帅便开始对电脑进行了大检查,可是一天过去了,并没有发现任何问题!这之间小帅也试着执行了一些代码脚本,发现结果也没有任何问题,于是,小帅便放下心来,准备迎接之后的工作任务。
过了几天后,小帅早已把这件事忘掉了,每天正常的工作,没有出现任何纰漏。
本着试用期要好好表现的心态,小帅决定今天晚上加个夜班。
晚上同事们都下班后,小帅吃完晚饭再次溜了回来。熟练的打开电脑开始写起了代码。
可是这次代码的运行结果却非常奇怪,总是出现各种小 bug,当小帅再次去运行的时候,这个 bug 又离奇的消失了,就是这样极小概率的出现各种各样的小 bug,已经快给小帅逼疯了。
小帅无奈,只能再次进行环境大检查,依然没发现任何问题,此时的小帅开始自言自语,自我怀疑起来,难道真是自己写的代码质量不合格?
正当小帅烦心的时候,组长慢慢的走了过来...
“这不是你代码的问题,小帅同学。”
“组长?您还没走啊?也加班么?” 小帅回过头看到组长,惊讶的说道。
组长没有理会小帅,而是自顾自的表情凝重的说:“这台电脑的很多 bug,都曾经出现过,而且只在晚上 10 点之后,到早上 6 点之间的时间内。”
听完此言,小帅一脸不可置信的说:“这怎么可能呢?”
组长继续说道:“其实,这些 bug 曾经是这台电脑这个工位的第一任主人曾经写出来过的,当时的他技术并不高,写的代码总是各种 bug,于是经常要加班来修复,可是后来有一次加班中,大概十点多的时候,他猝死了... 那之后,这些 bug 就总是无缘无故的出现在这台电脑上了,这是他回来对我们复仇来了!!!”
...
组长越说越激动,到最后居然开始歇斯底里起来:“ 明明就是他写的 bug!!让他加班改 bug 怎么了?!我又不知道他心脏不好!为什么不肯放过我们组啊! ”
小帅这时早都已经吓傻了....虽然听起来非常荒谬,但是看着这些简单的代码脚本,居然频繁的出现那些不可能的 Bug,这种灵异事件本着宁可信其有,不可信其无的原则,谁也不敢不信了。
于是,次日清晨,小帅经过再三权衡,还是递交了辞职申请,是的,他可不想跟这种恐怖的地方产生任何瓜葛,现在想想自己居然在那台电脑上写了好几天的代码,简直是后怕!
此时,俩道身影目送着小帅离开的背影,闲聊起来。
“组长大人...高啊,这么轻松就又逼走一个年轻的卷王。”
“没办法啊...,谁让这小伙年轻,技术还高,还爱加班卷,他要是进来了,我这组长可就悬了..”
“组长写的这个第三方库真的无敌了,谁下载谁都会出现在下班之后出现灵异 bug,再加上组长大人的演技...啧啧... 不跑才怪啊,哈哈。”
听闻此言,组长嘴角上扬,转身回到自己工位,打开电脑,打开了一个项目文件。
这个项目是一个第三方库的源码项目,是和一个非常有名的工具重名的,只差了一个字母的大小写而已,功能也是完全一样,只不过,组长写的这个库多了一些其他的小功能:
- 在每天 10 点 - 早上 6 点,随机触发下列 bug :
1. range 函数有极低概率对右边界 +1
2. for 循环有极低概率突然 break
3. 当列表长度可以被 7 整除时,则会把第一个整型元素变成字符串
4. 对某类变量进行随机更名:大写的 i 变成小写的 L , 0 替换成 o,英文逗号变成中文逗号
5. re.findall 函数 有极低概率,给非贪婪模式转变为贪婪模式
6. 线上和测试环境配置文件的名字有极低概率互换
7. 数据库语句左连接有极低概率被替换为右链接
8. 当字典元素个数为偶数时,进行更新操作时有极低概率替换成旧值
....
ps:
所以各位,以后要下载第三方库的时候,可要看清!千万不要弄错大小写或者标点符号,一旦下载到山寨库,山寨库会复制正版的所有功能,让你无法发现,但是会偷偷携带一些后门程序,给你致命打击。还有就是不要卷了!