本发明涉及软件测试,更具体的,涉及一种测试知识推荐方法及相关装置。
背景技术:
1、软件测试中,同一领域的测试项目往往遵循相同的行业规范、标准等,同一类型软件的使用场景、功能结构、性能要求等存在很大相似性,具备知识复用的基础。基于可再用的测试知识,如历史测试用例,进行测试用例的辅助设计,可以有效提高软件测试效率。
2、传统软件测试用例复用库使用关系型数据库作为底层数据存储,随着被测软件场景、项目数量的迅速增加,使用传统软件测试用例复用库设计架构已逐渐无法满足清晰描述不同场景、不同项目间知识关联关系的要求,且对整个数据库的检索效率也提出了更高的要求。
技术实现思路
1、有鉴于此,本发明提供了一种测试知识推荐方法及相关装置,提高测试知识推荐的准确性,从而提高测试知识的复用效率。
2、为了实现上述发明目的,本发明提供的具体技术方案如下:
3、第一方面,本发明实施例提供了一种测试知识推荐方法,包括:
4、获取目标测试交易;
5、提取所述目标测试交易的特征;
6、将所述目标测试交易的特征输入预先构建的测试知识推荐模型,得到所述测试知识推荐模型输出的所述目标测试交易的测试知识;
7、所述测试知识推荐模型包括基于深度强化学习的融合器、多个公有特征学习器和多个专有特征学习器,所述测试知识推荐模型是利用软件测试知识图谱进行公有特征和专有特征联合学习得到的,所述软件测试知识图谱包括多个业务类型的测试交易的测试知识,每种业务类型分别对应一个公有特征学习器和一个专有特征学习器。
8、在一些实施例中,还包括:
9、根据多个测试交易的业务类型和测试知识构建软件测试知识图谱,其中,测试知识中的测试基础知识采用三元组的形式表示,测试知识中的测试用例类知识采用实体间的路径表示。
10、在一些实施例中,还包括:
11、针对待加入所述软件测试知识图谱中的新增测试交易,获取所述新增测试交易中的新增实体;
12、对所述新增实体进行编码,得到所述新增实体的第一多维向量;
13、将所述新增实体的第一多维向量输入到skip-gram神经网络模型,得到所述skip-gram神经网络模型输出的所述新增实体的第二多维向量;
14、分别计算所述新增实体的第二多维向量与所述软件测试知识图谱中每个实体的第二多维向量之间的相似度;
15、若相似度大于阈值,将所述软件测试知识图谱中的相应实体确定为所述新增实体的匹配实体;
16、在所述软件测试知识图谱中以所述匹配实体表示所述新增实体,并将所述新增测试交易的测试知识加入所述软件测试知识图谱。
17、在一些实施例中,构建所述测试知识推荐模型的方法,包括:
18、分别根据所述软件测试知识图谱中的每个业务类型对应的测试交易构建公有特征学习器和专有特征学习器,得到每个业务类型对应的公有特征学习器和专有特征学习器的模型参数;
19、分别将每个业务类型对应的公有特征学习器和专有特征学习器的模型参数上传到融合器,以使融合器根据接收到的模型参数计算模型更新参数,并将模型更新参数下发到每个业务类型对应的公有特征学习器和专有特征学习器;
20、根据融合器下发的模型更新参数分别对每个业务类型对应的公有特征学习器和专有特征学习器进行更新;
21、针对每个业务类型对应的公有特征学习器和专有特征学习器,若输出结果满足预设准确性要求,停止向融合器上传模型参数,若输出结果不满足预设准确性要求,继续上传模型参数,直到所有业务类型对应的公有特征学习器和专有特征学习器的输出结果都满足预设准确性要求,得到所述测试知识推荐模型。
22、第二方面,本发明实施例提供了一种测试知识推荐装置,包括:
23、测试交易获取单元,用于获取目标测试交易;
24、特征提取单元,用于提取所述目标测试交易的特征;
25、模型处理单元,用于将所述目标测试交易的特征输入预先构建的测试知识推荐模型,得到所述测试知识推荐模型输出的所述目标测试交易的测试知识;
26、所述测试知识推荐模型包括基于深度强化学习的融合器、多个公有特征学习器和多个专有特征学习器,所述测试知识推荐模型是利用软件测试知识图谱进行公有特征和专有特征联合学习得到的,所述软件测试知识图谱包括多个业务类型的测试交易的测试知识,每种业务类型分别对应一个公有特征学习器和一个专有特征学习器。
27、在一些实施例中,还包括:
28、知识图谱构建单元,用于根据多个测试交易的业务类型和测试知识构建软件测试知识图谱,其中,测试知识中的测试基础知识采用三元组的形式表示,测试知识中的测试用例类知识采用实体间的路径表示。
29、在一些实施例中,还包括:
30、实体匹配单元,用于针对待加入所述软件测试知识图谱中的新增测试交易,获取所述新增测试交易中的新增实体;对所述新增实体进行编码,得到所述新增实体的第一多维向量;将所述新增实体的第一多维向量输入到skip-gram神经网络模型,得到所述skip-gram神经网络模型输出的所述新增实体的第二多维向量;分别计算所述新增实体的第二多维向量与所述软件测试知识图谱中每个实体的第二多维向量之间的相似度;若相似度大于阈值,将所述软件测试知识图谱中的相应实体确定为所述新增实体的匹配实体;在所述软件测试知识图谱中以所述匹配实体表示所述新增实体,并将所述新增测试交易的测试知识加入所述软件测试知识图谱。
31、在一些实施例中,还包括:
32、模型构建单元,用于分别根据所述软件测试知识图谱中的每个业务类型对应的测试交易构建公有特征学习器和专有特征学习器,得到每个业务类型对应的公有特征学习器和专有特征学习器的模型参数;分别将每个业务类型对应的公有特征学习器和专有特征学习器的模型参数上传到融合器,以使融合器根据接收到的模型参数计算模型更新参数,并将模型更新参数下发到每个业务类型对应的公有特征学习器和专有特征学习器;根据融合器下发的模型更新参数分别对每个业务类型对应的公有特征学习器和专有特征学习器进行更新;针对每个业务类型对应的公有特征学习器和专有特征学习器,若输出结果满足预设准确性要求,停止向融合器上传模型参数,若输出结果不满足预设准确性要求,继续上传模型参数,直到所有业务类型对应的公有特征学习器和专有特征学习器的输出结果都满足预设准确性要求,得到所述测试知识推荐模型。
33、第三方面,本发明实施例提供了一种电子设备,所述电子设备包括处理器以及存储器;
34、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
35、所述处理器用于根据所述程序代码中的指令执行如第一方面中任意一种实现方式描述的一种测试知识推荐方法。
36、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任意一种实现方式描述的一种测试知识推荐方法。
37、相对于现有技术,本发明的有益效果如下:
38、本发明公开的一种测试知识推荐方法及相关装置,通过软件测试知识图谱将多个业务类型的测试交易的测试知识进行知识化存储,能够有效降低测试知识的更新复杂度,将测试知识之间的关联关系以图谱形式清晰、直观展示。利用软件测试知识图谱训练得到测试知识推荐模型,测试知识推荐模型包括基于深度强化学习的融合器、多个公有特征学习器和多个专有特征学习器,每种业务类型分别对应一个公有特征学习器和一个专有特征学习器,基于深度强化学习的公有特征和专有特征联合学习进行测试知识推荐,提高测试知识推荐的准确性,从而提高测试知识的复用效率。