关键词:
搜索引擎
Oracle问题
蜕变测试
蜕变关系
蜕变鲁棒性测试
摘要:
搜索引擎的主要功能对搜索项进行反馈并显示相应查询结果。由于查询结果的不确定性,采用传统的软件测试技术难以判断和评估搜索引擎查询结果是否符合预期。蜕变测试通常被用来在没有预期Oracle的情况下验证软件功能的正确性,实践证明它在揭示软件故障方面具有较好的效果,因此近年来其被广泛用于各种软件的质量测试。目前研究主要集中在蜕变关系的定义,鲜少有对蜕变测试的质量进行评估,本文对搜索引擎用户行为与特征的蜕变测试进行研究,主要探索缓解搜索引擎测试和质量评估的Oracle问题。工作主要分为三部分:
(1)用户行为与特征分析。本文首先对搜索引擎用户日志进行详细的分析与处理。一部分是单维度的数据描述性分析,另一部分是多维度的用户行为分析,以上数据信息有助于理解蜕变测试特性,其作为一种缓解搜索引擎Oracle问题的有效方法。
(2)搜索项语句转换的蜕变鲁棒性测试。为了评估搜索引擎测试用例的中英文转换鲁棒性,本文将原始输入项与后续输入项进行比较,提出四种基于机器翻译系统的蜕变鲁棒性关系,对原始输入进行多种类型微小改变会导致输出结果出现较大变化,使得输出结果偏离原本意图进行测试验证。
(3)研究搜索引擎蜕变关系与性能评估方法。首先从扩展搜索项范围、相似语义搜索项、衍生搜索项词汇量三个方面改进并定义搜索引擎蜕变关系模式。然后通过结合蜕变关系模式和用户的行为与特征定义四种搜索引擎蜕变关系。最后,本文还确定每一种蜕变关系的性能评估方法,并根据其性质定义不同的搜索引擎性能评估标准,通过选用三个主流的搜索引擎进行实证研究。实验表明蜕变测试可以有效地降低搜索引擎的测试难度,而且可以根据所定义的蜕变关系区分不同搜索引擎的性能,并将蜕变测试扩展到以用户为中心的软件质量评定中。