摘要:智能问答系统利用信息检索和自然语言处理技术, 实现对问题的自动化回复. 然而, 与其他人工智能软件相似, 智能问答系统同样存在缺陷. 存在缺陷的智能问答系统会降低用户体验, 造成企业的经济损失, 甚至引发社会层面的恐慌. 因此, 及时检测并修复智能问答系统中的缺陷至关重要. 目前, 智能问答系统自动测试方法主要分为两类. 其一, 基于问题与预测答案合成假定事实, 并基于假定事实生成新问题和预期答案, 以此揭示问答系统中的缺陷. 其二, 从现有数据集中提取不影响原问题答案的知识片段并融入原始测试输入中生成答案一致的新测试输入, 实现对问答系统的缺陷检测任务. 然而, 这两类方法均着重于测试模型的语义理解能力, 未能充分测试模型的逻辑推理能力. 此外, 这两类方法分别依赖于问答系统的回答范式和模型自带的数据集来生成新的测试用例, 限制了其在基于大规模语言模型的问答系统中的测试效能. 针对上述挑战, 提出一种逻辑引导的蜕变测试技术QALT. QALT设计了3种逻辑相关的蜕变关系, 并使用了语义相似度度量和依存句法分析等技术指导生成高质量的测试用例, 实现对智能问答系统的精准测试. 实验结果表明, QALT在两类智能问答系统上一共检测9247个缺陷, 分别比当前两种最先进的技术(即QAQA和QAAskeR)多检测3150和3897个缺陷. 基于人工采样标注结果的统计分析, QALT在两个智能问答系统上检测到真阳性缺陷的期望数量总和为8073, 预期比QAQA和QAAskeR分别多检测2142和4867个真阳性缺陷. 此外, 使用QALT生成的测试输入通过模型微调对被测软件中的缺陷进行修复. 微调后模型的错误率成功地从 22.33% 降低到了14.37%.