第569章 第 569 章

季度总结大会,下午三点,公司最大的会议室。

温然坐在倒数第三排靠过道的位置,笔记本电脑屏幕亮著,上面是这次版本的测试报告。她没在看,只是习惯性让屏幕亮著,这样就不会被注意到。

台上,陈序正在演示新架构的设计方案。

“……并发承载能力提升百分之四十,响应时间平均缩短两百毫秒,这是压力测试的数据。”他点击下一页PPT,柱状图跳出来,全场掌声响起。

温然没鼓掌。她盯著屏幕上某一行数据,眉头微微皱起来。

旁边的小张用力拍手,胳膊肘撞到她:“温姐,你不鼓掌吗?陈总这架构也太牛了,百分之四十啊!”

“嗯。”温然应了一声,目光没移开。

掌声渐歇,陈序站在台上,视线扫过全场:“如果没有问题,这个架构下周一就开始全面迁移。”

“没问题!”“陈总威武!”“终于不用忍受老系统崩溃了!”

会议室里此起彼伏的声音。陈序微微点头,准备合上电脑。

温然感觉自己的手心在出汗。

那组数据不对。压力测试的峰值虽然达标,但边界条件没考虑——如果并发量瞬间超过测试值,系统会直接崩溃,没有任何缓冲。这是个隐藏极深的bug,正常情况下不会触发,但一旦触发就是灾难。

她应该说吗?

这是陈序,公司技术总监,天才架构师。他的代码在行业内被当作教科书。而她只是一个测试员,入职三年,连年会都没参加过。

说了,全场会看她,陈序会下不来台,以后的日子可能不好过。

不说,系统上线后某一天突然崩溃,数据丢失,业务中断,到时候所有人都会问:测试怎么做的?

温然的手指蜷起来,抠著笔记本边缘的橡胶条。

台上陈序已经合上电脑:“那今天就到这里——”

“等一下。”

声音不大,但会议室太安静了,所有人都听到了。

温然站起来。

她不知道自己怎么站起来的,腿有点软。全场的目光像聚光灯一样打过来,前排的几个总监转头看她,眼神里写著“这谁”。

小张在旁边倒吸一口气。

陈序站在台上,手还放在电脑上,视线越过一排排座椅,落在她身上。

“你是哪个部门的?”旁边的主持人问,语气有点急,“有问题会后可以单独沟通——”

“测试部,温然。”温然打断他,看著台上的陈序,“陈总监,您这个架构,高并发下有一个边界条件没考虑。”

全场死寂。

有人倒吸气的声音清晰可闻。旁边小张已经缩成一团,恨不得把自己塞进椅子缝里。

温然看到陈序的表情没变,但按在电脑上的手指动了一下。

“说清楚。”陈序的声音很平。

温然深吸一口气,打开笔记本,调出她昨晚跑过的测试数据:“您的压力测试最高峰是每秒一万两千次请求,响应时间稳定在两百毫秒以内。但如果并发量瞬间达到一万五千次,并且持续三秒以上,系统的缓存策略会失效,直接穿透到底层数据库。”

她停了一下,全场没人说话。

“数据库连接池的默认最大值是五千,超过就会排队。但您的架构里没设置排队策略,默认是直接丢弃请求。一万五千次并发,减去缓存承载的八千次,剩下七千次全部打到数据库——五千个连接瞬间占满,剩下两千个请求直接报错。报错后客户端会重试,重试又会产生新的请求,最后雪崩。”

温然说完了。

会议室安静得能听到空调的声音。

陈序站在台上,没说话,视线落在她身上。隔得太远,温然看不清他的表情,只感觉那道目光像探照灯一样,把她从头到脚扫了一遍。

旁边有人小声嘀咕:“她谁啊……”

“测试部的吧……”

“胆子也太大了……”

主持人的表情很精彩,看看温然,又看看陈序,张了张嘴,不知道该说什么。

温然站在原地,手心里全是汗。她看到陈序的手机亮了,他低头看了一眼,然后抬起头,目光再次锁定她。

“你叫什么?”

“温然。温暖的温,然后的然。”

陈序点头,没说对也没说错,只是看著她,顿了两秒:“会后找我。”

然后他拿起电脑,从侧门走了出去。

会议室像被按了播放键,瞬间吵杂起来。温然听到周围各种声音交织在一起,有人问“她说的是真的假的”,有人说“陈总脸色都变了”,还有人说“这测试员完了,以后没好日子过了”。

小张拽她的衣角:“温姐……你疯了……”

温然没说话,慢慢坐下。笔记本屏幕上,她的测试报告还开著,最后一页写著一行红字:边界条件未覆盖,建议重新评估。

她只是做了应该做的事。

散会的时候,李姐挤过来,拍拍她的肩:“丫头,胆子不小。”

温然抬头:“数据是真的。”

“我知道。”李姐压低声音,“但你知道他是谁吗?陈序,公司合伙人级别的技术总监,从来没人敢当面说他有问题。你这是当众打脸。”

温然没说话。她当然知道。正因为知道,才犹豫了那么久。

“不过说都说了,去吧。”李姐朝门口努努嘴,“他让你去,现在就去,别拖。”

温然合上电脑,站起来。

测试部在五楼,技术总监办公室在十七楼。电梯里只有她一个人,镜子照出她的脸——没化妆,头发随便扎著,身上是公司统发的卫衣。和刚才台上那个穿著衬衫、被所有人仰视的人,不是一个世界的人。

电梯门打开,十七楼安静得像图书馆。

温然走过长长的走廊,尽头是陈序的办公室。门虚掩著,里面有说话的声音。

她走到门口,刚想敲门,听到里面传出一句:“……一个测试员,也敢当众打你脸?”

温然的手停在半空。

温然的手停在半空。

里面那个声音还在继续:“……这种事以前从来没有过,你打算怎么处理?”

她听出来了,是技术副总裁老张的声音。

“什么怎么处理?”陈序的声音听不出情绪。

“她当众让你下不来台,全公司都看著呢。你不做点什么,以后怎么管理团队?”

温然攥紧了笔记本边缘。她想敲门,但手像被钉住一样。

“她指出了问题。”陈序说。

“问题可以私下提,非要在大会上?这种员工就是不懂事——”

“老张。”陈序打断他,“你刚才说的那个需求变更,我下午看完回你。”

逐客令。

里面安静了几秒,然后是脚步声。温然来不及退开,门被拉开,老张站在门口,看到她,愣了一下,表情有点尴尬。

“那个……小温是吧?”他咳了一声,“进去吧,陈总等著呢。”

温然点头,侧身让开。老张走过去,脚步声消失在走廊尽头。

她站在门口,深吸一口气,敲了敲已经敞开的门。

“进来。”

陈序坐在办公桌后面,电脑屏幕亮著。他没抬头,视线落在屏幕上,手指偶尔敲几下滑鼠。

温然走进去,站在办公桌前。

会议室里隔得远,她没看清他长什么样。现在看清了——眉眼很深,鼻梁挺直,穿一件浅灰色的衬衫,袖口挽到手肘。没穿西装外套,但气场比台上还强。

屏幕上是一个文档,她认出来了,是她提交的测试报告。

陈序看了十几秒,才抬起头:“坐。”

温然没坐。她背挺得笔直,手里攥著笔记本,准备好了应对接下来的任何话。

——你的数据不准确。

——你当众质疑我,考虑过后果吗?

——以后测试部的工作流程需要重新规范。

她把可能的话都在脑子里过了一遍,准备好了解释和道歉。

陈序靠进椅背,视线落在她脸上:“你的报告,格式不对。”

温然一愣。

“第七页的边界条件测试,应该放在异常场景分类下,不是常规场景。”他语气很平,像在说今天天气不错,“还有,结论写得太简单,只有‘建议重新评估’,没有具体风险等级和发生概率。这样的报告,产品部门看不懂。”

温然张了张嘴。

她以为会是批评,还真是批评。但批评的方向和她想的完全不一样。

“测试报告不是给开发看的,”陈序继续说,“是给所有人看的。产品、运营、管理层,他们需要通过你的报告做决策。格式混乱、结论模糊,他们看不懂,就不会重视你的问题。”

温然没说话。她看著陈序,发现他的表情很认真,不是在找茬,是真的在指出问题。

“我……”她顿了一下,“我知道了。”

陈序点头,视线回到屏幕上,滑鼠点了几下。办公室安静了几秒。

温然站著,不知道该不该走。

“那个边界条件,”陈序突然开口,“你怎么发现的?”

“跑测试跑的。”温然说,“压力测试的脚本是我自己写的,会比标准测试多跑几个极端值。”

陈序抬起头看她。

“标准测试只测到一万二,”温然继续说,“但我习惯往上加百分之三十,看看系统什么时候崩。昨晚跑到一万五的时候,日志开始报错,我追下去发现是数据库连接池的问题。”

陈序没说话,就那么看著她。

温然被他看得有点不自在,垂下眼:“所以……会上说的那个,不是临时想的,是昨晚就跑出来的数据。”

又安静了几秒。

然后陈序说:“那个边界条件,我确实漏了。谢谢。”

温然愣住。

她抬起头,看著陈序。他的表情没变,语气也和平时开会一样平淡,但那两个字像石头一样砸进她耳朵里。

“你……”她下意识说,“不批评我?”

“为什么批评?”陈序反问。

“我当众……”温然顿了一下,“让你下不来台。”

陈序看著她,忽然扯了一下嘴角。不是笑,但比刚才的表情松弛了一点。

“我写的代码有bug,别人指出来,我应该感谢。”他说,“至于下不来台,那是我的问题,不是你该考虑的。”

温然没说话。她发现自己有点不知道说什么。

陈序的视线回到屏幕上,敲了几下滑鼠:“以后你的报告,直接发我邮箱。不用等周报。”

“……好。”

“还有别的事吗?”

温然摇头。

陈序“嗯”了一声,又开始看屏幕。温然转身往外走,走到门口,听到身后又传来声音:

“温然。”

她回头。

陈序还是看著屏幕,但手指停在滑鼠上:“你的测试脚本,方便发我一份吗?”

温然愣了一秒:“……方便。”

“谢谢。”他说。

温然推开门出去,走廊还是那么安静。她走到电梯口,才发现自己手心里全是汗。

电梯门打开,里面站著周晓阳。他看到温然,眼睛瞬间亮了。

“温然!温大神!”他往旁边让,“你从十七楼下来?陈总找你?怎么样怎么样?他骂你了吗?还是夸你了?你刚才在大会上太勇了你知道吗全公司群都在刷你——”

温然走进电梯,按了五楼:“没事。”

“没事是什么意思?是没事还是没事?”周晓阳凑过来,“陈总什么反应?他有没有说以后测试部的人都要小心点?还是说他其实很欣赏你这种敢说话的?”

温然想了想陈序那句“谢谢”,又想了想那句“报告格式不对”。

“没说什么。”她说。

周晓阳一脸失望:“你这个人,怎么什么都问不出来。”

电梯到五楼,温然走出去。身后周晓阳还在喊:“有什么进展第一时间告诉我啊!我站你这边!”

温然没回头。

测试部工位区,小张看到她,蹭一下站起来:“温姐!怎么样!”

旁边几个同事也看过来,眼神里写满了好奇和同情。

温然走到自己工位,坐下:“没事。”

“没事?”小张凑过来,“真的没事?陈总没骂你?没说以后不让你参与核心项目?”

“没有。”

小张松了口气:“那就好那就好,吓死我了。温姐你刚才真的太猛了,我都不敢呼吸。”

温然打开电脑,邮箱界面弹出来。她一边输密码一边说:“该干嘛干嘛,版本还有bug要修。”

小张“哦”了一声,缩回自己座位。

温然点开邮箱,收件箱里躺著十几封未读邮件。她一条条往下看,准备开始处理工作。

然后她看到一封邮件,发件人:陈序。

发送时间:半小时前。

她在大会上讲话的时候,这封邮件已经发出来了。

温然点开。

“附件是今天演示的架构代码,帮我看看还有没有bug。”

附件是一个压缩包,名字是“架构核心模块_v2.3.1”。

温然盯著屏幕,好半天没动。

旁边小张探头过来:“温姐,你怎么了?”

温然关掉邮箱:“没什么。”

她打开压缩包,代码一行一行跳出来。窗外午后的阳光斜照进来,落在键盘上,她发现自己的手指有点抖。

不是害怕的那种抖。

温然打开压缩包。

代码整整齐齐,注释清晰,变量命名规范。她随便翻了几个文件,不得不承认——陈序的代码写得确实漂亮。架构清晰,逻辑严密,几乎是教科书级别的。

但教科书也会有bug。

她开始跑测试脚本。

第一个问题出现在半小时后。某个模块的缓存策略在特定条件下会失效,虽然概率极低,但理论上存在。温然在文档里记下来,准备一并发给陈序。

她继续往下测。

第二个问题出现在晚上八点。一个边界判断写成了小于等于,应该是小于。这种错误不会导致崩溃,但会让某个功能在边界值时表现异常。

温然盯著那行代码看了十秒,确认不是自己眼花。

她开始怀疑——这真的是陈序写的?那个传说中代码零bug的天才架构师?

窗外天已经黑了。小张下班时过来打招呼,她“嗯”了一声没抬头。李姐路过问她要不要一起去吃饭,她说“等会儿”。然后等会儿就等到了十点。

第三个问题。

第四个问题。

温然发现自己有点兴奋。不是发现bug本身兴奋,而是——这些bug藏得很深,像故意藏在角落里的小彩蛋,需要一层一层剥开才能看到。她很久没遇到这么有挑战性的测试了。

十一点,她测完三分之二。

十二点,还剩最后一个模块。

公司的灯一盏盏灭了。温然没注意。她盯著屏幕,手指在键盘上快速敲击,测试脚本一行行跑过去,日志文件不停地刷新。

凌晨两点,最后一个模块测完。

温然靠进椅背,揉揉眼睛。屏幕上开著七八个窗口,每个窗口里都是一个bug的详细描述。她数了数——七个。七个bug,藏在那套被全公司吹捧的完美架构里。

她开始写邮件。

第一个bug:缓存穿透风险,建议增加二级缓存。

第二个bug:边界条件判断错误,建议将“

< 上一章 目录 下一章 >
×
宿山行
连载中帝谛 /