
15.6万行代码 vs 9200万行测试用例。
这是SQLite,那个你可能在手机里、浏览器里、飞机上随时在用的嵌入式数据库,给出的数字。590倍。 代码与测试的比例,是590倍。
这不只是测试充分,这是一个信号,一个关于未来软件护城河去向何方的信号。
SQLite的测试套件有个名字,叫TH3(Test Harness #3)。
它不是开源的。
你可以在GitHub上看到SQLite的源代码,15.6万行C代码,公共领域发布,任何人都可以下载、编译、使用。但你看不到TH3。要获得TH3的访问权?要么加入SQLite联盟,要么购买商业许可。
为什么这么神秘?
因为TH3实现了100%分支测试覆盖和100% MC/DC。
这是什么意思?这是航空电子软件的标准,DO-178B。飞机上的控制系统用的就是这个级别的测试密度。
"Test what you fly and fly what you test." — SQLite官方文档
TH3的源代码超过50万行,分布在1709个文件中。一次完整的测试运行,会执行约240万个不同的测试实例。它测试什么?内存耗尽、磁盘I/O错误、事务提交过程中的电源故障,你能想象的所有灾难场景。
这就是护城河。不是那15.6万行代码,而是这9200万行你看不见的测试。
最近,Cloudflare的工程师用$1100和7天重建了Next.js。关键是,他们不是复制粘贴代码,而是让AI阅读测试用例,然后用测试用例作为规范来重新实现。
"Give a capable AI a comprehensive set of tests, and it can rebuild the system on an entirely different foundation in days." — Hacker News评论
测试用例就是规范。 没有测试,AI不知道正确的行为是什么样子。SQLite正是深谙此道,代码是公开的,但测试是闭源的。你可以用AI复刻SQLite的功能,但你很难获得那9200万行测试用例来验证你的实现是否正确。
我也曾经记录了一个重要观点:在AI编程时代,测试驱动开发不只是最佳实践,而是你的核心竞争力。
AI可以写出通过测试的代码。但它难以获取:
这些隐式知识,才是真正无法被复制的资产。
tldraw等项目已经开始保护自己的测试用例。这不只是代码安全,这是商业战略。
当代码复制成本趋近于零(一个人+AI可以在7天内完成过去需要团队数月的工作),什么才是稀缺的?
答案是,验证正确性的能力。
测试用例是一种时间压缩资产。SQLite花了20多年、数十亿美元的开发成本,才积累了9200万行测试。这些测试不是一夜之间写成的,它们是无数个bug、无数个边缘case、无数次production事故的结晶。
你可以复制代码,但你无法复制时间。
这也解释了为什么TH3是闭源的。它不是藏着掖着,它是SQLite作为一家商业公司最核心的资产。正如官方文档所说,即使开源用户不能直接访问TH3,所有SQLite用户都间接受益于TH3,因为每个版本的SQLite在发布前都经过TH3在多个平台上的验证。
换句话说,测试不是成本,是护城河。
下次当你写代码时,请重新审视测试。
不只是为了通过自动化测试,不只是为了代码质量,而是为了构建那个AI无法复制的护城河。
在一个人人都能用AI复制代码的世界里,唯一不可替代的,是那些花了数年时间、用无数个bug喂出来的测试用例。
你是选择继续快速迭代,还是开始构建真正的护城河?
[1] TH3 - SQLite Test Harness.
[2] How SQLite Is Tested.
[3] SQLite's massive test suite: 155k lines of code, 92m lines of test. LinkedIn.
[4] SQLite - Wikipedia.
[5] How SQLite Is Tested - 92 Million Lines Of Test Code. Reddit.
[6] Collection of insane and fun facts about SQLite. avi.im.
[7] shadow的笔记.md - 测试驱动开发观点
