测试即数据:确保 AI 生成的代码符合预期
在 AI 编程助手时代,自动化测试面临问题:当 AI 代理同时编写生产代码和测试代码时,开发者可能失去对自动化测试能够防范功能错误的信心。Matteo Vaccari 提出了三个主张:(1) 当 AI 编写代码时,开发者成为其客户;(2) 因此,客户测试而非开发者测试成为人类与 AI 之间的主要契约;(3) 将该契约从测试代码移至测试数据中,使其更易于防范编程代理的意外修改。这一切都旨在优化人类可读的测试,以建立人类与 AI 之间的契约。过去,DSL 解析器和自定义测试运行器的编写与维护成本高昂,而如今 AI 使其变得廉价。