论文部分内容阅读
软件测试是保证软件系统可靠性的重要手段,贯穿整个软件开发流程。随着软件系统的开发,企业会积累海量的测试案例数据。考虑到测试案例数据的弱语义性,引入知识图谱挖掘历史案例之间的语义关系。在此基础上,领域知识图谱中蕴含的领域知识能够应用于构建新的测试基案例。基案例指的是那些能够表达完整业务逻辑的案例模板,测试人员在实际测试过程中,结合具体的应用系统组件扩充基案例,使之成为能够实际用于自动测试的完整案例。但是,基于领域知识图谱构建测试基案例的时候存在以下问题:第一,传统由领域专家构建的知识图谱,存在代价高昂、规模有限,且自动化程度不高等缺点;第二,局部领域知识图谱因为各个系统的命名体系以及分类体系的差异,往往缺乏通用标准。因此,由不同系统构建的知识图谱在进行融合时存在困难;第三,在构建功能测试的测试案例时,存在众多检查点,并且检查点之间存在制约关系,较难生成完备的测试案例。因此,需要根据知识图谱提供的实体联系来保证测试案例的完备性。因此,利用历史案例数据,完成领域知识图谱构建,从而帮助测试项目组构建新的测试基案例,并对基案例进行管理,是提高软件开发质量的重要研究问题。基于以上分析,本文提出面向测试案例的领域知识图谱构建及应用的方法。方法结合开放数据,从历史案例数据中抽取领域实体及实体间的关系,用以构建领域知识图谱。在此基础上,基于功能-属性映射规则构建测试基案例,并基于语义实现测试基案例的管理与检索。本文的研究内容包括以下几个部分:(1)提出了领域知识图谱自动化构建方法本文以历史案例数据作为数据源,利用中文分词技术对案例数据进行分词,再利用随机森林的方法从分词结果中识别出领域实体。在此基础之上,抽取领域实体之间的关系,实现领域知识图谱的构建。(2)提出基于开放关联数据的多源知识图谱融合方法本文设计了一种基于外部开放互联数据的多源知识图谱融合方法。首先利用开放互联数据进行属性扩展,之后基于图计算,根据相似度对多源知识图谱中的实体进行聚类融合。在实例层融合过程中,利用马尔科夫逻辑网络对知识冲突进行协调。(3)提出基于领域知识图谱的基案例构建与检索方法本文提出了基于领域知识图谱的基案例构建与检索方法。本文利用功能-属性映射规则对测试基案例进行构建。功能-属性映射规则规定了特定行为下的业务行为及其对应的执行结果。同时,利用领域知识图谱蕴含的语义关系,从上位、下位以及平行三个层次对测试基案例进行语义检索。(4)原型系统的设计与实现基于本文提出的应用场景,设计并实现了面向银行事务处理系统测试的领域知识图谱构建及应用的原型系统,通过展示平台的相关功能以及与相关方法的对比分析,验证了本文方法的有效性。