林峰把那张刚打印出来的《风险防控实施纲要》首页折成两半,塞进西装内袋。纸边有点烫手,大概是打印机刚工作完的余温。他没回头看办公室的灯有没有关,径直走向电梯间,按下地下三层的按钮。
研发测试中心的门在感应卡刷过的瞬间滑开。张工正蹲在模拟仓旁边调试参数,听见脚步声抬头看了眼,立刻站起身:“林总,系统已经装进去了,就等您来启动。”
“直接上真实负载。”林峰脱掉外套搭在椅背上,“别搞演示流程,我要看它扛不扛得住三倍日常峰值。”
李薇从监控台转过身,手指还在敲击键盘:“我们准备了三组测试场景,基础功能、极端天气配送、还有中小企业客户自助下单的压力测试。现在可以同步推吗?”
“推。”林峰走到她身后,盯着主屏上的数据流,“不是跑通就行,我要知道它什么时候会崩,怎么崩。”
指令下达后,测试程序立即启动。模拟仓内的虚拟城市迅速构建起来,街道、仓库、运输节点一一亮起。第一轮基础验证顺利通过,界面响应流畅,调度路径计算准确。
但到了第二轮极端天气模拟时,问题出现了。暴雨+大雪叠加封路,系统开始频繁重新规划路线,部分车辆在同一个路口来回绕行。李薇皱眉:“前端日志显示,导航模块在低配置终端上加载延迟超过两秒,用户操作有明显卡顿。”
张工调出设备兼容列表:“这批旧型号终端内存只有2G,新版地图渲染确实吃力。”
林峰没说话,点了下屏幕,切到第439章调研数据的投影画面。画面上清晰标出:三四线城市中小客户中,67%仍在使用三年前发布的旧款手持终端。
“我们优化的是产品,不是实验室模型。”他说,“把轻量化UI分支拉出来,核心功能——接单、扫码、上报异常,全给我挪到一级菜单。另外,加个‘极简模式’开关,自动识别硬件配置,低配机默认开启。”
张工点头记下,转身去改代码。李薇则调整了测试参数,重新运行第二轮。
第三轮压力测试刚开始十分钟,警报响了。屏幕上跳出红色提示:订单提交成功率下降至82%,部分请求超时。
“中小企业用户模拟操作里,误操作率上升17%。”李薇快速翻看记录,“主要是新增的‘多仓协同’功能入口太深,很多人点错地方,把普通发货当成跨区调拨。”
林峰靠在桌边,语气平静:“说明白一点,就是不好用。”
“是。”李薇承认,“界面逻辑对非专业人员不够友好。”
“那就改。”林峰直起身,“功能可以复杂,但使用不能复杂。你们现在做的不是给程序员用的工具,是给仓库管理员、小老板们每天戳几十次的操作台。让他们多点两下,流失的就是订单。”
他走到白板前写下三个字:快、准、省。
“快——响应要快,别让用户等;准——功能入口要一眼看得见,别藏;省——省步骤、省流量、省电。照这个标准重新梳理交互流程。”
张工回来汇报:“轻量版UI已经合并进主分支,正在打包新镜像。”
“装进去,重测。”林峰说,“这次我看着。”
新一轮测试开始。低配终端上的卡顿消失了,极简模式下界面干净利落,核心按钮放大了一圈。极端天气下的路径规划也稳定下来,绕路情况减少九成。
李薇松了口气:“看来降级兼容策略有效。”
林峰摇头:“不是看来,是必须有效。市场不会给我们‘看来还行’的机会。”
话音未落,主控台突然弹出一条系统警告:服务进程内存占用持续攀升,已接近阈值。
“怎么回事?”林峰走近屏幕。
“压力测试跑了六十八小时,刚出现异常数据包堆积。”李薇快速切换日志视图,“看起来像是缓存没释放,疑似内存泄漏。”
张工脸色变了:“这要是上线后出问题,整个系统都可能被拖垮。”
“谁让你们重启了?”林峰声音不高,但所有人都停下了动作,“现在系统处于故障临界状态,这才是最宝贵的时刻。我要知道它为什么漏,漏在哪。”
他拉开椅子坐下,直接接入后台监控台。“把过去四小时的服务调用链全调出来,按时间轴排。”
一行行数据在屏幕上滚动。林峰逐帧回溯,手指偶尔点一下空格暂停。十五分钟后,他停在一个AI预测模块的日志条目上。
“就是这儿。”他放大那段代码,“每次完成需求预测后,临时数据池没有清空指令,缓存一直累积。正常情况下不明显,高并发时就会拖垮服务。”
张工凑近看清楚后一拍脑门:“该死,我们忘了写释放函数!”
“现在补还来得及。”林峰打开通讯组,“叫王磊和陈锐马上接入远程协作通道,带编译环境。我们要做热修复,不中断测试流程。”
两人五分钟后上线。林峰口述修改方案,一个负责写补丁,另一个同步更新部署脚本。两小时后,漏洞修复完成,测试恢复运行。
最后一轮稳定性压测进入尾声。72小时连续运行结束,系统日志干净,无异常报错,各项指标全部达标。
李薇开始整理《优化测试总结报告》初稿,张工带着技术员归档数据。林峰站在主控屏前,看着综合评分面板上的倒计时归零。
最终得分:96.3。
不算完美,但够用了。
他掏出内袋里的那张纸,展开看了看,又重新折好。打印机再次响起,吐出一页新的文档——正是那份刚刚生成的测试报告首页。
李薇走过来递上签字笔:“林总,需要您签个字,流程才算闭环。”
林峰接过笔,却没有立刻签。他盯着报告末尾的一行小字:
【备注:AI预测模块热修复记录已存档,建议后续版本加入自动化检测机制】
他抬起眼,看向还在运行的主屏。最后一帧数据刚刚刷新完毕,绿色的“测试通过”标识缓缓浮现。
笔尖悬在签名栏上方,微微一顿。
窗外夜色浓重,整栋楼只剩这一层亮着灯。