AI 修 bug 最常见的毛病,是改了别的地方、然后宣布修好了。先写一个会失败的测试,它就没法糊弄。
修 bug 之前,先写一个能复现问题、现在会失败的测试;改完让它通过,才算修好。
网站加了账号系统后,我们在同一台电脑上注册了第二个账号,发现它显示的是前一个账号的数据。原因是旧数据存在浏览器本地,换账号时没有清干净。这类问题测试时很容易漏,因为开发时通常只用一个账号。
先让 AI 写一个测试,把问题原样演一遍:同一个浏览器,登录 A,退出,注册 B,检查 B 看不到 A 的任何东西。
这个测试先跑一遍,必须失败——证明它真的抓住了问题。然后再修,修到测试通过。测试留下来,以后每次改账号相关的代码都会自动再跑一遍。
问题修好了,而且有测试守着:以后谁改这块代码,同样的问题回不来。
凡是动到用户数据、登录、付款的地方,我都要求先有会失败的测试,再动代码。