第65章 测试工程师

最新网址:http://www.c8e.cc
  林夏的指尖在机械键盘上敲出最后一个测试用例编号时,窗外的天已经完全黑透。办公区只剩下她这盏工位灯还亮着,屏幕上“电商平台支付模块回归测试报告”的标题旁,红色的“未通过”标记像根刺,扎在密密麻麻的测试结果里——这是她入职互联网公司的第四年,也是这个月第三周为了赶上线,在公司待到后半夜,桌上的外卖盒还没收拾,里面的炒饭已经凉得结块。

  “夏姐,支付接口的第三次联调又失败了,开发那边说参数格式没问题,让咱们再查下测试环境的配置。”实习生小满抱着笔记本跑过来,眼眶红红的,“明天就要灰度上线了,要是今晚测不完,肯定要dy(延期)。”

  林夏揉了揉发涩的眼睛,接过小满递来的测试日志。文档里“签名校验失败”的报错信息反复出现,她指着其中一行参数值:“你看这里,商户ID的长度是10位,但开发文档里写的是8位,是不是测试数据传错了?”

  小满猛地拍了下脑袋:“啊!我昨天改测试用例的时候,不小心把商户ID的位数改了,忘了改回来!”她急得声音都发颤,“我现在就去改,夏姐你别生气。”

  “先别慌,改完数据重新跑一遍用例,我帮你盯着日志。”林夏把自己的暖手宝塞给小满,“别着急,咱们还有时间,只要今晚把核心流程跑通,明天上线就没问题。”其实她心里也在打鼓——这次电商平台的支付模块迭代,涉及优惠券叠加、跨店满减等六个新功能,任何一个环节出问题,都会影响用户下单,进而影响平台的月度销售目标。

  测试用例重新执行时,林夏点开了开发提交的代码分支。她虽然是测试工程师,但写代码的功底不输初级开发,顺着支付接口的逻辑逐行查看,很快发现了一个隐藏的bug:当用户同时使用两张不同类型的优惠券时,代码里的金额计算逻辑会出现负数。“小满,暂停测试,我找到个代码bug,跟开发说下,让他们赶紧改。”

  开发工程师老吴接到电话时,正在楼下抽烟:“夏姐,别这么卷啊,都快十二点了,就不能明天再改吗?”

  “这个bug会导致用户支付时金额异常,要是灰度上线时被用户碰到,投诉量肯定爆增。”林夏的声音很平静,却带着不容置疑的坚定,“我把问题代码截图发你,你半小时内改完,我这边等你提交后重新测试。”

  老吴叹了口气:“行吧,谁让你是咱们团队的‘测试门神’呢,我这就上来。”

  挂了电话,小满小声问:“夏姐,你怎么总能找到开发没发现的bug啊?我跑了好几遍用例,都没测出来这个问题。”

  林夏打开自己的测试笔记,里面记满了不同场景的测试思路:“测试不是只按用例走流程,要站在用户的角度想问题。比如这个支付场景,用户可能会同时用店铺优惠券和平台优惠券,也可能只用品类券,甚至会取消支付后重新下单,这些边缘场景都得考虑到。”她指着笔记里的思维导图,“你看,我把每个功能模块都拆成了‘正常场景’‘异常场景’‘边界场景’三类,每个场景下再列具体的测试点,这样就不容易遗漏。”

  凌晨一点半,老吴终于提交了修改后的代码。林夏和小满立刻开始重新测试,当支付成功的页面在测试环境里弹出时,小满激动地差点跳起来:“过了!夏姐,支付流程终于通了!”

  林夏看着屏幕上的“测试通过”提示,长舒了口气,这时才发现肚子饿得咕咕叫。她从抽屉里拿出两包泡面,递给小满一包:“泡了面再走,不然回去路上该饿了。”

  吃泡面的时候,小满好奇地问:“夏姐,你当初为什么要做测试啊?好多人都说测试不如开发有前途。”

  林夏喝了口热汤,想起自己刚毕业的时候:“我大学学的是计算机科学,毕业时面试了开发和测试两个岗位。当时的测试经理跟我说,‘开发是把产品做出来,测试是把产品做好’,我觉得这句话特别有道理。你想啊,用户用一个产品,要是总出bug,就算功能再花哨,也没人愿意用。我们测试做的,就是把这些问题挡在用户面前,让产品更靠谱。”

  第二天早上九点,项目组召开上线前的最后一次会议。产品经理拿着上线计划,兴奋地说:“支付模块的测试都过了,今天上午十点开始灰度,先放10%的流量,没问题的话,下午五点全量上线。”

  林夏却皱了皱眉:“我觉得还得再测下退款场景,昨天只测了支付成功的流程,退款时优惠券的返还逻辑还没验证,万一出问题,用户肯定会投诉。”

  开发组的组长立刻反驳:“退款场景之前测过啊,而且这次迭代没改退款的代码,没必要再测了,耽误了上线时间,老板又要骂人。”

  “没改代码不代表没问题,支付模块改了优惠券的计算逻辑,退款时要反向计算,很可能会有依赖问题。”林夏打开测试环境,“给我半小时,我快速跑一遍退款的核心用例,要是没问题,咱们再上线。”

  产品经理犹豫了一下,最终还是点了点头:“行,就给你半小时,要是没问题,十点准时灰度。”

  林夏立刻投入测试,小满在旁边帮忙记录结果。果然,在测试“部分退款 优惠券已过期”的场景时,系统出现了“优惠券无法返还”的bug。“你看,这里有问题!”林夏把屏幕转向大家,“用户付了100元,用了20元优惠券,实际支付80元,现在申请退50元,系统应该返还10元的优惠券金额,但现在没返还,这会导致用户损失。”

  开发组的组长脸一下子红了,连忙说:“我这就让老吴改,半小时肯定能改好。”

  最终,灰度上线的时间推迟到了中午十二点。当10%的流量顺利跑了两个小时,没有出现任何异常时,产品经理拍了拍林夏的肩膀:“多亏了你啊,夏姐,不然这次上线肯定要出大问题。”

  林夏笑了笑:“这是我应该做的,测试就是要多一分谨慎,少一分侥幸。”

  下午,林夏接到了一个新任务——负责公司即将推出的生鲜配送APP的测试工作。这个APP涉及冷链物流跟踪、生鲜保质期提醒、订单超时自动取消等多个复杂功能,测试难度比之前的电商平台大得多。

  第一次需求评审会上,产品经理介绍完功能后,问大家有没有疑问。林夏举起手:“我有个问题,生鲜的保质期提醒,是按下单时间算,还是按配送签收时间算?如果配送延迟,导致生鲜过期,系统怎么处理?”

  产品经理愣了一下:“这个我还没考虑到,我跟运营那边确认下。”

  散会后,产品经理找到林夏:“夏姐,你考虑得太细致了,这些细节我都没想到。要是你不问,到时候开发完了再改,又要耽误时间。”

  “这些都是用户可能遇到的实际问题,提前想清楚,能减少后续的麻烦。”林夏拿出笔记本,“我已经把生鲜APP的测试点整理了一部分,分了‘订单流程’‘物流跟踪’‘售后处理’三个模块,你看看有没有遗漏的。”

  产品经理接过笔记本,越看越惊讶:“你这才刚接手,就整理得这么详细?连‘用户拒收后生鲜的处理流程’都想到了,太厉害了。”

  接下来的几周,林夏带领测试小组,开始了生鲜APP的测试工作。为了模拟真实的配送场景,她特意让团队成员在不同时间段下单,测试物流跟踪的实时性;为了验证保质期提醒功能,她还找运营要来了不同生鲜的保质期数据,设置了各种过期预警场景。

  有一次,测试“订单超时自动取消”功能时,小满发现,当用户用信用卡支付后,订单超时取消,但是退款却没有自动发起。林夏立刻组织测试团队,把所有支付方式(微信、支付宝、信用卡、借记卡)都测了一遍,发现只有信用卡支付会出现这个问题。

  “这是因为信用卡退款需要调用银行的接口,超时取消订单时,系统没有触发银行退款的请求。”林夏找到开发工程师,“必须在取消订单的代码里加一个判断,只要是信用卡支付,就自动调用银行退款接口,不然用户会以为钱没退回来,肯定会投诉。”

  开发工程师很快就改好了代码,重新测试后,问题终于解决。小满佩服地说:“夏姐,你怎么连银行退款的逻辑都懂啊?”

  “之前做电商平台测试的时候,跟支付相关的接口接触多了,慢慢就懂了。”林夏说,“测试工程师不能只懂测试工具和用例设计,还要了解产品的业务逻辑、技术实现,甚至是行业知识,这样才能更好地发现问题。”

  生鲜APP上线前的最后一周,林夏带领测试团队进行了全量回归测试。连续五天,他们每天都工作到凌晨,把所有功能模块、所有测试场景都跑了一遍,确保没有任何遗漏的bug。

  上线当天,林夏守在监控屏幕前,看着用户注册量、下单量一点点增长,没有出现任何重大故障。产品经理激动地抱了抱林夏:“夏姐,太感谢你了!要是没有你,这个APP肯定没办法顺利上线。”

  林夏看着屏幕上的数据,心里充满了成就感。她想起自己刚做测试的时候,总是被开发质疑“你不懂代码,别瞎提bug”,总是因为发现的bug太小而被忽视。但她从来没有放弃,而是不断学习,提升自己的技术能力和业务水平,慢慢赢得了团队的认可。

  晚上,项目组一起聚餐庆祝上线成功。老吴端着酒杯走到林夏面前:“夏姐,以前我总觉得你太较真,现在才知道,你的较真都是为了产品好。以后我开发的功能,你尽管测,有bug我立刻改!”

  林夏笑着接过酒杯:“咱们的目标是一致的,都是为了做出让用户满意的产品。”

  聚餐结束后,林夏走在回家的路上。晚风轻轻吹过,带着初夏的凉意。她掏出手机,打开自己的测试笔记,在扉页上写下:“测试不是阻碍上线的‘绊脚石’,而是保障产品质量的‘守门人’。每一个被发现的bug,都是代码里的微光,照亮产品前行的路。”

  她知道,未来还会有更多的产品需要测试,还会有更多的bug需要发现,但她一点都不害怕。因为她热爱这份工作,热爱在代码的世界里寻找问题、解决问题的过程,热爱用自己的专业和坚持,为用户打造更靠谱、更优质的产品。

  第二天早上,林夏准时来到公司。刚坐下,就收到了产品经理的消息:“夏姐,生鲜APP上线后,用户好评率特别高,老板让我跟你说,要给你发奖金!”

  林夏笑了笑,打开电脑,开始整理生鲜APP的测试总结报告。她知道,这只是一个开始,接下来还有更多的挑战在等着她,而她已经做好了准备,继续在测试的岗位上,发光发热。
  http://www.c8e.cc/48307/280.html

  请记住本书首发域名:http://www.c8e.cc。笔趣看手机版阅读网址:http://m.c8e.cc