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  的测试内容主要集中在评估智能问答系统的语义理解能力, 忽视了对问答系统逻辑
                 推理能力的测试. 尽管语义理解是智能问答系统的核心组成部分, 能使智能问答系统根据问题或上下文中的一处
                 知识点直接推理出问题的答案, 但缺少对逻辑推理能力方面的测试可能导致系统在遇到复杂问题时无法给出准确
                 或合理的答案. 逻辑推理能力的展现在于智能问答系统是否可以根据问题或上下文中的多处知识点来综合回答问
   60   61   62   63   64   65   66   67   68   69   70