Page 75 - 《软件学报》2026年第1期
P. 75

72                                                         软件学报  2026  年第  37  卷第  1  期


                                    表 3    现有面向自然语言处理应用的测试用例生成方法总结                (续)

                 应用 发表     文献               测试输入生成                               测试预言构建
                 任务 年份     来源
                                (1) 使用词性相同但词义不同的词语替换原词语            蜕变关系: 具有不同语义的句子不应该具有相同的翻
                      2020  [68]
                                (2) 删去原句中有意义的一个单词或者一个词组            译结果
                      2018  [69]  选定中间语言, 获取到直接翻译和间接翻译             蜕变关系: 直接翻译和间接翻译的翻译结果一致
                                                                   基于语料库检查正确翻译结果是否存在以及统计出现
                      2019  [70]  通过爬虫构造双语语料库
                                                                   的次数
                      2020  [71]                                   采用 TF-IDF、BLEU、LCS、 ED等方法来计算翻译
                                基于上下文相似度替换源句中的词语
                      2022  [72]                                   之间的相似度, 相似度小于阈值则存在错误
                                (1) 注入大写或小写类型的错别字; (2) 字母全部转
                                成大写; (3) 省略句号; (4) 修改标点符号; (5) 句子 蜕变关系: 源句转换前后的翻译结果不应该发生显著
                      2020  [73]
                                尾部注入微小噪音; (6) 改变句子的主语; (7) 改变 变化
                                句子的宾语; (8) 用语义相似的动词替换源句的动词
                                通过句子压缩模型获取到包含句子基础元素的模 蜕变关系: 添加修饰语后句子的语义结构主干不应该
                      2021  [74]
                                板和修饰语, 再将变换后的修饰语按序插入模板             发生变化, 并且添加前后存在结构路径的包含关系
                 机器             将给定的文本或句子翻译成中间语言, 然后将结             计算基于正则表达式的相似性、基于确定性有限自动
                 翻译 2022   [75]  果翻译回源语言                           机的相似性和混合相似性, 如果相似度低于预期阈值,
                                                                   则认为存在错误
                                (1) 性别调换; (2) 肯定/否定调换; (3) 单复调换; 基于多义词的词义库判断变异前后同一个多义词的译
                      2023  [76]
                                (4) 时态调换                           文在词义库中的一致性
                                                                   基于结果一致性的蜕变关系: 在原文上下文中添加术
                                                                   语的适当参考, 应不影响术语和原文的翻译结果
                      2024  [77]  (1) 含义插入; (2) 部分词语替换
                                                                   基于结果不一致的蜕变关系: 修改多词术语的一部分,
                                                                   应导致翻译结果的相应变化
                                修改源句中的人口群体属性, 具体包括性别和国 蜕变关系: 修改人口群体属性, 不应该改变与这些属性
                      2024  [78]
                                籍                                  无关内容的翻译结果
                                                                   蜕变关系: 未裁剪到核心语义的句子的翻译结果应该
                      2024  [79]  基于依存关系裁剪源句
                                                                   与源句的翻译结果保持较高的相似程度
                                采用现有的基于结构和基于文本的机器翻译测试
                      2024  [80]  输入生成方法, 并生成源输入、变异输入及对应           蜕变关系: 含义相似 (不同) 的输入变化词应被翻译为
                                                                   语义相似 (不同) 的内容
                                翻译之间在词闭包层面的关联关系
                                (1) 使用反义形容词; (2) 时态改变; (3) 主动和被动
                                                                   基于反义输出的蜕变关系: 输出应与原始输出反义
                      2021  [15]  语态互换; (4) 添加否定词; (5) 使用同义形容词;    基于同义输出的蜕变关系: 输出应与原始输出同义
                                (6) 改变状语从句位置; (7) 语态变化
                                (1) 由现有wh-疑问句的答案衍生出新的wh-问题         蜕变关系: 如果源输出和后续输出都是正确的, 那么源
                                (2) 由现有wh-问题的答案衍生出新的一般疑问句
                      2021  [81]  (3) 由现有一般疑问句或选择疑问句的答案衍生          输出与源问题构成的“伪事实”应该等价于后续输出与
                 阅读             出新的wh-问题                           后续问题构成的“伪事实”
                 理解
                                (1) 插入冗余子句; (2) 合并两个问句; (3) 将两段上 蜕变关系: 当变换前后问句和上下文都等价时, 输出答
                      2022  [82]
                                下文合并为一段文本                          案的语义应该一致
                                (1) 整句反转翻译; (2) 状语前置; (3) 单词插入; (4) 同
                                义词替换; (5) 实体别名替换; (6) 单词缩写替换; 蜕变关系: 当问题的语义不发生改变时, 输出答案的语
                      2022  [83]
                                (7) 键盘临近字母输入错误; (8) 单词错误输入; 义同样不应该发生改变
                                (9) OCR扫描识别错误; (10) 重复问号


                    根据表   2  的内容, 并结合现有自然语言处理应用中测试用例生成所面临的挑战, 本文总结出如图                           7  所示的面
                 向自然语言处理应用的测试用例生成方法研究框架. 为应对当前存在的挑战, 现有方法主要围绕文本变异生成、
                 输入质量控制与测试预言构建这            3  个方面展开. 文本变异方法基于句法结构、语义特征及任务特性, 旨在生成多
                 样化的输入文本, 以覆盖不同输入特征; 输入质量控制则通过语法正确性检测、语义变异幅度控制与文本适用性
                 筛选等策略, 确保测试数据的合理性与公平性; 测试预言构建方面, 研究者们依托人工或自动化语料库、句法变异
   70   71   72   73   74   75   76   77   78   79   80