超越通过或失败的测试:QA 工程师从 Spritle 的 IMDA 法学硕士测试入门套件中获得的经验教训

使用 IMDA 的 LLM 框架测试 AI 应用程序的 QA 见解帖子《超越通过或失败的测试:来自 Spritle 的 IMDA LLM 测试入门套件的 QA 工程师的经验教训》一文首先出现在 Spritle 软件上。

来源:Spritle 博客

我从事 QA 工作已有几年了。我知道测试是如何进行的。

您编写一个测试用例。您定义预期结果。你运行它。它要么通过,要么失败。简单的。

因此,当我们的团队开始开发人工智能驱动的功能时,我想,好吧,同样的过程。不同类型的输入,但相同的想法。

我错了。

第一次相同的输入给了我不同的结果

早期,我对其中一项 AI 功能进行手动测试。我将同一问题输入两次——相同的措辞、相同的上下文——却得到了两个不同的答案。

两者都是正确的。但他们不同。

我坐在那里思考了一会儿,“好吧,我该与哪一个进行比较?”我的预期结果是什么?

在传统的手动测试中,您定义预期输出并对其进行检查。但人工智能并非如此。相同的输入每次都会产生略有不同的响应。这不是一个错误。这些模型就是这样构建的。

那是我第一次意识到我需要停止问“输出是否匹配?”并开始问“输出是否可以接受?”

当我后来使用 IMDA Starter Kit 来测试基于 LLM 的应用程序时,我终于给它起了一个名字——语义相似性测试。您可以衡量含义是否足够接近,而不是精确的文本匹配。想法很简单,但它完全改变了您处理人工智能功能手动测试用例的方式。

看似正确但实际错误的响应

最困难的时刻之一是人工智能开始编造信息。

不是胡说八道。自信、写得好、完全可信——但却是错误的。

在传统测试中,如果某个字段显示错误的值,您可以将其追溯到数据库或 API。这是有根本原因的。你修好它。

借助人工智能,模型可以生成任何地方都不存在的东西。它只是用一些看似合理的东西来填补空白。 IMDA 文件称此为幻觉,阅读该部分感觉就像有人终于为我一直在努力向团队解释的事情命名了。

但有些事情不对劲。