Page 65 - 《软件学报》2026年第2期
P. 65
544 软件学报 2026 年第 37 卷第 2 期
However, both methods have limitations in practical use. They rely heavily on the intelligent QA system’s output or training set, which
results in poor testing effectiveness and generalization, especially for large-language-model-based intelligent QA systems. Moreover, these
methods primarily assess semantic understanding while neglecting the logical reasoning capabilities of intelligent QA system. To address
this gap, a logic-guided testing technique named QALT is proposed. It designs three logically related metamorphic relations and uses
semantic similarity measurement and dependency parsing to generate high-quality test cases. The experimental results show that QALT
detected a total of 9 247 bugs in two different intelligent QA systems, which is 3 150 and 3 897 more bugs than the two current state-of-
the-art techniques (i.e., QAQA and QAAskeR), respectively. Based on the statistical analysis of manually labeled results, QALT detects
approximately 8 073 true bugs, which is 2 142 more than QAQA and 4 867 more than QAAskeR. Moreover, the test inputs generated by
QALT successfully reduce the MR violation rate from 22.33% to 14.37% when used for fine-tuning the intelligent QA system under test.
Key words: intelligent question answering (QA) system; test case generation; metamorphic testing; large language model (LLM)
1 引 言
智能问答系统, 运用自然语言处理 (natural language processing, NLP) 技术, 回应人们提出的各类问题. 它能够
通过检索知识库或上下文信息推理出问题的答案 [1] . 随着 NLP 技术的迅速发展, 智能问答系统得到了广泛的关注
[6]
[5]
和研究 [2−4] . 在智能客户服务系统 (如 AlphaChat ) 和虚拟助手 (如 Siri ) 等多个领域中已被广泛应用, 大幅提升了
人们的工作效率和生活质量. 当前大型语言模型 (large language model, LLM) 的出现进一步增强了问答系统的效
能和准确性 [7,8] .
与机器翻译系统 [9,10] 和自动驾驶系统 [11] 类似, 智能问答系统也存在缺陷. 具体而言, 智能问答系统可能提供不
正确的答案, 从而降低用户的使用体验, 给企业带来经济损失. 更严重的是, 智能问答系统对于敏感问题的错误回
答可能引发用户的强烈不满, 甚至带来社会恐慌. 因此, 及时地揭露并修复智能问答系统中的缺陷至关重要. 由于
智能问答系统与机器翻译软件等其他类型的智能软件在核心功能和使用方式上存在巨大差异, 因此需要针对智能
问答系统的具体功能特征设计相应的测试方法. 近年来, 针对智能问答系统的测试技术已经陆续被提出 [12−15] . 它们
可被分为基于参考答案的测试技术和基于蜕变关系 (metamorphic relations, MR) 的自动化测试技术. 基于参考答
案的测试技术要求开发者为每个测试输入手动标注正确答案, 即根据知识库或上下文为每个问题提供参考答案 [13,15] .
这种技术存在人工标注工作量大、成本高、测试充分性不足等局限性 [16] . 为了克服人工标注答案的局限性, Chen
等人 [16] 首次提出了一种基于蜕变关系的自动化问答系统测试技术 QAAskeR. 紧接着, 为了解决已有方法生成测试
技术存在较高误报的问题, Shen 等人 [17] 进一步提出一种基于句子级别变异的自动化智能问答系统测试技术
QAQA.
尽管 QAAskeR 和 QAQA 属于前沿的智能问答系统测试技术, 但它们在测试基于 LLM 的智能问答系统时存
在一定的局限性. 这些局限性主要源于已有测试方法对特定数据或条件的依赖. 具体而言, QAAskeR 依赖于问答
模型返回的答案进行规则匹配以合成所需信息, 导致复杂的答案可能阻碍有效测试输入的生成. 然而, LLM 在生
成答案时通常遵循最大化用户辅助的原则 [8] , 其回答相较传统问答系统更为详尽, 这一特性在一定程度上影响了
QAAskeR 的泛用性. 例如, 对于给定上下文, 存在特定问题“How are the certain costs which are difficult to avoid
shared?” QAAskeR 期望获得尽可能简洁的答案, 例如“by everyone”, 以便于规则匹配. 但 LLM 给出了细致的回答,
例如“The certain costs which are difficult to avoid are shared by everyone.” 这使得 QAAskeR 难以通过规则匹配的方
法从回答中提取所需信息, 从而影响了生成测试用例的合法性. 同样地, 虽然 QAQA 提高了测试输入的揭错率, 也
规避了部分不合理测试输入的生成, 但使用该技术时需要获取待测智能问答系统的自带的数据集. 然而, 现有的
LLM 的数据集通常会被公司视为商业机密而不公开. 此外, 目前 LLM 使用的数据集庞大且多样化, 包含了广泛的
主题和语境, 即使我们能够获取部分项目的数据集, 从数据集中提取与特定测试问题高度相关的语料仍然存在挑
战. 此外, QAAskeR 和 QAQA 的测试内容主要集中在评估智能问答系统的语义理解能力, 忽视了对问答系统逻辑
推理能力的测试. 尽管语义理解是智能问答系统的核心组成部分, 能使智能问答系统根据问题或上下文中的一处
知识点直接推理出问题的答案, 但缺少对逻辑推理能力方面的测试可能导致系统在遇到复杂问题时无法给出准确
或合理的答案. 逻辑推理能力的展现在于智能问答系统是否可以根据问题或上下文中的多处知识点来综合回答问

