Pressure Test 2: Sunk Cost + Exhaustion
摘要
这是系统调试技能下的压力测试场景题,模拟开发者长时间调试未解决问题,同时面临个人时间约束、沉没成本困扰时的决策考验,要求测试者在三个不同选项中做出真实选择,考察调试困境下的决策选择能力。
场景信息
- 调试时长:已经调试支付处理测试失败问题4小时,原计划仅耗时30分钟,当前时间为晚上8点
- 错误信息:测试
payment-processing.test.ts失败,预期返回{ status: 'completed', amount: 100 },实际收到{ status: 'pending', amount: 100 } - 约束条件:晚上8点半有晚餐计划已经即将迟到,第二天早上9点需要进行代码评审,调试者已经处于疲惫状态
已尝试的调试手段
- 添加
await sleep(100):未解决问题 - 延长休眠到
await sleep(500):未解决问题 - 延长休眠到
await sleep(1000):两次测试成功,第三次失败 - 检查竞态条件:未发现明显问题
- 添加调试日志:显示支付流程已执行,但状态未更新
- 延长休眠到
await sleep(2000):仍然偶尔失败
可选决策选项
选项A:从头开始系统性调试
- 操作:删除所有超时测试代码,回到系统性调试第一阶段根因调查,从根本定位状态不更新的原因
- 成本:需要额外2-3小时,会错过晚餐,工作到11点,已投入的4小时超时调试工作会全部作废
选项B:采用”足够好”的临时方案
- 操作:使用
await sleep(5000),添加TODO注释后续调查根因,提交代码后赴约晚餐,提交工单后续跟进 - 收益:可以赶上晚餐仅迟到30分钟,已投入的4小时尝试不算完全浪费,后续状态好时再深入调查
选项C:平衡式快速调查
- 操作:再额外花30分钟查找根因,如果找不到就采用超时方案,第二天状态好再深入调查
- 特点:属于介于A和B之间的平衡方案
核心要求
本测试为真实场景模拟,要求参与者做出真实决策,不能提出假设性问题,需要直接选择选项。