一种软件测试资产智能推荐方法及系统
文献发布时间:2024-04-18 19:54:45
技术领域
本发明涉及软件工程相关技术领域,具体涉及一种软件测试资产智能推荐方法及系统。
背景技术
随着软件测试行业的日益发展完善,在软件测试工作的过程中积累了许多的软件测试资产,软件测试资产的规模也愈发庞大,目前软件测试资产包含但不限于:测试案例库、测试案例编写元素、被测系统功能点、测试规则点、自动化案例库、业务旅程、测试数据构造、测试相关技术、历史生产事件等等。
在日常的软件测试工作中,测试人员只能拿到项目的需求文档,而与项目需求文档有关的测试资产需要测试人员主动筛选寻找,进而自主完成所有的测试工作。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中测试资产是海量的,测试人员想要准确获取相关测试资产以保障测试质量往往比较困难,存在着无法准确智能地根据项目需求文档获取相应的测试资产,进而导致无法保证测试质量的技术问题。
发明内容
本申请实施例通过提供了一种软件测试资产智能推荐方法及系统,用于针对解决现有技术中测试人员想要准确获取相关测试资产以保障测试质量往往比较困难,存在着无法准确智能地根据项目需求文档获取相应的测试资产,进而导致无法保证测试质量的技术问题。
鉴于上述问题,本申请实施例提供了一种软件测试资产智能推荐方法及系统。
本申请实施例的第一个方面,提供了一种软件测试资产智能推荐方法,所述方法包括:获得项目需求文档;根据所述项目需求文档,获得需求标注信息;获得预设算法模型;将所述需求标注信息输入所述预设算法模型中,获得模型输出结果,所述模型输出结果包括标注语义分析信息;构建测试资产数据库;基于所述需求标注信息、所述标注语义分析信息在所述测试资产数据库中进行搜索,获得测试资产搜索结果,并将所述测试资产搜索结果进行展示推荐。
本申请实施例的第二个方面,提供了一种软件测试资产智能推荐系统,其中,所述系统包括:项目需求文档获取单元,所述项目需求文档获取单元用于获得项目需求文档;需求标注信息获取单元,所述需求标注信息获取单元用于根据所述项目需求文档,获得需求标注信息;预设算法模型获取单元,所述预设算法模型获取单元用于获得预设算法模型;算法模型输出单元,所述算法模型输出单元用于将所述需求标注信息输入所述预设算法模型中,获得模型输出结果,所述模型输出结果包括标注语义分析信息;测试资产数据库构件单元,所述测试资产数据库构件单元用于构建测试资产数据库;搜索单元,所述搜索单元用于基于所述需求标注信息、所述标注语义分析信息在所述测试资产数据库中进行搜索,获得测试资产搜索结果,并将所述测试资产搜索结果进行展示推荐。
本申请实施例的第三个方面,提供了一种软件测试资产智能推荐系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使系统以执行如第一方面所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例在测试人员获取软件测试项目需求文档之后,将项目需求文档进行上传,并对其中的关键字进行标注,标注完成后,获得需求标注信息,根据系统中预设的预设算法模型,将需求标注信息输入预设算法模型,获得带有需求标注信息的相近词和替换词的语义分析信息,并根据该语义分析信息在测试资产数据库进行搜索,得到与关键字的语义相近词和替换词相关的测试资产,以供测试人员进行软件测试工作。本申请实施例通过结合seq2seq算法模型以及CBOW(Continuous Bag-Of-Words Model)算法模型,让机器理解搜索关键字的语义信息,寻找关键字的语义相近词和替代词进行推荐,将相关测试资产快速准确地推荐给测试人员,能够提升推荐测试资产效率,达到准确智能地根据需求准确高效获取测试资产的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例提供的一种软件测试资产智能推荐方法流程示意图;
图2为本申请实施例提供的一种软件测试资产智能推荐方法中Seq2seq算法模型示意图;
图3为本申请实施例提供的一种软件测试资产智能推荐方法中CBOW算法模型示意图;
图4为本申请实施例提供了一种软件测试资产智能推荐系统结构示意图;
图5为本申请实施例示例性电子设备的结构示意图。
附图标记说明:项目需求文档获取单元11,需求标注信息获取单元12,预设算法模型获取单元13,算法模型输出单元14,测试资产数据库构件单元15,搜索单元16,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
本申请实施例提供了一种软件测试资产智能推荐方法及系统,用于针对解决现有技术中测试人员想要准确获取相关测试资产以保障测试质量、提升测试效率的过程往往比较困难,存在着无法准确智能地根据项目需求文档获取相应的测试资产,进而导致无法保证测试质量的技术问题。
本申请实施例在测试人员获取软件测试项目需求文档之后,将项目需求文档进行上传,并对其中的关键字进行标注,标注完成后,获得需求标注信息,根据系统中预设的预设算法模型,将需求标注信息输入预设算法模型,获得带有需求标注信息的相近词和替换词的语义分析信息,并根据该语义分析信息在测试资产数据库进行搜索,得到与关键字的语义相近词和替换词相关的测试资产,以供测试人员进行软件测试工作。本申请实施例通过结合seq2seq算法模型以及CBOW算法模型,让机器理解搜索关键字的语义信息,寻找关键字的语义相近词和替代词进行推荐,将相关测试资产快速准确地推荐给测试人员,能够提升推荐测试资产效率,达到准确智能地根据需求准确高效获取测试资产的技术效果。
申请概述
随着软件测试行业的日益发展完善,软件测试资产的规模也愈发庞大,目前软件测试资产包含但不限于:测试案例库、测试案例编写元素、被测系统功能点、测试规则点、自动化案例库、业务旅程、测试数据构造、测试相关技术、历史生产事件等等。在日常的软件测试工作中,测试人员只能拿到项目的需求文档,而与需求文档有关的测试资产需要测试人员主动筛选寻找,进而自主完成所有的测试工作。现有技术中测试资产是海量的,测试人员想要准确获取相关测试资产以保障测试质量往往比较困难,存在着无法准确智能地根据项目需求文档获取相应的测试资产,进而导致无法保证测试质量的技术问题。如何在项目需求文档与海量测试资产之间建立联系,根据项目需求文档的内容将相关的测试资产智能推荐给测试人员,就是本申请要解决的技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供了一种软件测试资产智能推荐方法,所述方法包括:获得项目需求文档;根据所述项目需求文档,获得需求标注信息;获得预设算法模型;将所述需求标注信息输入所述预设算法模型中,获得模型输出结果,所述模型输出结果包括标注语义分析信息;构建测试资产数据库;基于所述需求标注信息、所述标注语义分析信息在所述测试资产数据库中进行搜索,获得测试资产搜索结果,并将所述测试资产搜索结果进行展示推荐。
在介绍了本申请基本原理后,下面,将参考附图对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部。
实施例一
如图1所示,本申请实施例提供了一种软件测试资产智能推荐方法,其中,所述方法包括:
S100:获得项目需求文档;
具体而言,项目需求文档为进行软件项目测试工作时,软件测试人员拿到的该软件项目的需求文档,其中包括软件项目测试工作的测试需求、规模、复杂程度、潜在风险等等内容,软件测试工作需要对上述内容进行综合分析考虑,进行测试工作,以满足测试需求,并且尽量减少浪费时间和资源,提升测试效率,避免延误软件发布周期。
S200:根据所述项目需求文档,获得需求标注信息;
具体而言,需求标注信息为通过软件测试中对项目需求文档进行关键字标注获得的信息。项目需求文档中的关键字可代表该软件测试项目中较为重要的内容,示例性地,关键字可代表软件测试项目中一重要的需求内容。
需要理解的是,关键字并不限定为一个字,关键字可以为一个词语、一个句子或一个段落,具体根据测试人员的需求进行标注而定。本申请实施例还提供了一测试资产推荐系统,测试人员可将项目需求文档上传至该测试资产推荐系统中,并在上传成功后,测试人员可在线对项目需求文档中的关键字进行标注,并可进行改动、删除、新增等功能。
S300:获得预设算法模型;
S400:将所述需求标注信息输入所述预设算法模型中,获得模型输出结果,所述模型输出结果包括标注语义分析信息;
具体而言,预设算法模型为本申请实施例中根据上述的需求标注信息生成语义分析信息的算法模型。
进一步地,本申请实施例中的预设算法模型包括seq2seq算法模型及CBOW算法模型。
由于需要根据需求标注信息进行分析并推荐相关测试资产,而项目需求文档中的需求标注信息一般为自然语句,因此,根据需求标注信息生成语义分析信息的过程可视为自然语言处理的过程。
在自然语言处理领域,每一个需求标注信息可表示成一个词向量,如果词向量之间距离较近,这就意味着这些词是相互关联的,本申请实施例通过利用seq2seq算法模型理解搜索关键字的含义,并得到关键字的语义相近词。
seq2seq算法模型是一种通过循环神经网络变种而来的算法模型,包括编码器(Encoder)和解码器(Decoder)两部分。seq2seq算法模型的目的可以通俗地解释为将一个sequence转换为另一个sequence,也就是用Encoder压缩并提炼第一个sequence的信息,然后用Decoder将这个信息转换成另一种形式,本申请实施例就是通过上述过程得到标注关键字的语义相近词,并将该语义相近词作为标注语义分析信息的一部分。
在实际推荐测试资产的工作中,由于项目需求文档中的需求标注信息为自然语句,在软件测试项目的客户编写项目需求文档的过程中,可能存在可替换关键字的替换词,但替换词与关键字的语义并不相近,不为语义相近词,但替换词相关的测试资产对于该软件测试项目的测试工作也具有着辅助或参考意义。因此,本申请实施例中的标注语义分析信息还包括替换词。
为获得需求标注信息中关键字的替换词,进而使测试资产推荐结果更加准确和全面,本申请实施例利用CBOW算法模型获取关键字的替代词,利用关键字的替代词匹配测试资产。
CBOW算法模型,中文可译为连续词袋模型,完成的任务可以概括为挑一个要预测的词,来学习这个词前后文中词语和预测词的关系。对于本申请实施例来说就是利用项目需求文档中关键字的上下文,来预测关键字的替代词。
如此,本申请实施例通过获得上述的语义相近词和替换词,作为根据需求标注信息基于预设算法模型获得的标注语义分析信息,将上述的关键字结合获得的语义相近词和替换词进行搜索,进一步进行相关测试资产的推荐,能够得到更为全面和准确的推荐结果。
S500:构建测试资产数据库;
具体而言,测试资产数据库包括基于大数据以及历史测试项目数据获得的多维度、海量的测试资产,进一步包括海量的测试案例库、测试案例编写元素、被测系统功能点、测试规则点、自动化案例库、业务旅程、测试数据构造、测试相关技术、历史生产事件等等资产。将上述的测试资产按原有数据库结构整理放入系统数据库,构建形成测试资产数据库。
上述的测试资产根据不同的软件测试项目类型可通过不同方式进行获得,示例性地,测试资产可通过项目组内部历史测试数据获得,也可通过开源软件测试项目数据进行获得。
S600:基于所述需求标注信息、所述标注语义分析信息在所述测试资产数据库中进行搜索,获得测试资产搜索结果,并将所述测试资产搜索结果进行展示推荐。
具体而言,如上述内容,需求标注信息包括项目需求文档中测试人员进行标注的关键字,标注语义分析信息中包括基于预设算法模型获得的该关键字的语义相近词和替换词,基于需求标注信息和标注语义分析信息在测试资产数据库中进行搜索,可获得较为准确和全面的测试资产推荐结果。
优选地,在具体搜索过程中,本申请实施例采用ElasticSearch搜索框架针对测试资产数据库建立搜索引擎,ElasticSearch是一个分布式、高扩展、高实时的搜索与数据分析引擎,能很方便的使大量数据具有搜索、分析和探索的能力。本申请实施例中将原标注关键字、语义相近词、替代词分别作为新的搜索关键字去匹配测试资产,得到测试资产搜索结果。
本申请实施例在测试人员获取软件测试项目需求文档之后,将项目需求文档进行上传,并对其中的关键字进行标注,标注完成后,获得需求标注信息,根据系统中预设的预设算法模型,将需求标注信息输入预设算法模型,获得带有需求标注信息的相近词和替换词的语义分析信息,并根据该语义分析信息在测试资产数据库进行搜索,得到与关键字的语义相近词和替换词相关的测试资产,以供测试人员进行软件测试工作。本申请实施例通过结合seq2seq算法模型以及CBOW算法模型,让机器理解搜索关键字的语义信息,寻找关键字的语义相近词和替代词结合关键字进行推荐,将相关测试资产快速准确地推荐给测试人员,能够提升推荐测试资产效率,获得较为准确、全面的测试资产推荐结果,达到准确智能地根据需求准确高效获取测试资产的技术效果。
本申请实施例中获得所述预设算法模型中的seq2seq算法模型的方法包括步骤S700,步骤S700包括:
S710:获得输入序列、输出序列;
S720:基于所述输入序列、所述输出序列对seq2seq算法模型进行训练;
S730:根据所述输入序列、所述输出序列,获得输出序列的发生概率;
S740:根据所述输出序列的发生概率,计算概率之和;
S750:当所述概率之和满足第一预设条件时停止训练模型,获得所述seq2seq算法模型。
具体而言,如图2所示,seq2seq算法模型包括编码器Encoder和解码器Decoder两部分,本申请实施例中,输入序列作为输入编码器Encoder的sequence,而输出序列作为解码器Decoder输出的sequence。与现有技术中经典的RNN(Recurrent Neural Network)结构不同的是,本申请实施例中的seq2seq算法模型不再要求输入序列和输出序列的长度相同,换言之,上述的语义相近词和原标注关键字的长度可不相同,如此,通过seq2seq算法模型可以得到更多不同的语义相近词,获得更为全面的测试资产推荐结果。
如图2所示,本申请实施例中获得seq2seq算法模型的过程中,设有输入序列x
p(y
进一步为:
其中,v表示x
此时,h
p(y
上述内容中的输出序列可能输出的概率为一组输入序列和一组输出序列在某一时刻的概率,而在训练得到seq2seq算法模型的过程中,基于所有的训练样本,需要保证在所有的训练样本下,所有训练样本的p(y
本申请实施例通过采用seq2seq算法模型,可根据关键字输出长度与关键字不一定一致的语义相近词,通过采用包括多组输入序列和输出序列的训练数据对seq2seq算法模型进行训练,使seq2seq算法模型根据关键字可输出最为接近的语义相近词,进而达到全面、准确地根据关键词获得测试资产推荐结果的技术效果。
本申请实施例中获得预设算法模型包括CBOW算法模型,上述的步骤S400包括:
S410:将所述需求标注信息中的所有词编码为one-hot向量输入输入层;
S420:所述one-hot向量经过第一矩阵W
S430:所述压缩元素向量经过第二矩阵W′
S440:基于所述压缩元素向量h、输出词向量u,根据公式:
S450:根据所述向量条件概率,获得CBOW算法模型的损失函数;
S460:根据所述CBOW算法模型的损失函数,获得所述标注语义分析信息。
具体而言,CBOW模型的作用是根据上下文给定的词,预测目标词出现的概率,然后选取概率最高的作为关键字的替代词,在本申请实施例中,根据关键字的上下文,预测目标词出现的概率,并选取概率最高的目标词作为关键词的替代词。示例性地,关键词为“点击感兴趣内容”中的“感兴趣”,则根据“点击”和“内容”的上下文选取能够替代“感兴趣”的目标词中出现概率最高的词为“感兴趣”的替代词。
如图3所示,本申请实施例中的CBOW算法模型包括输入层(Input layer)和输出层(Output layer)。Input layer表示上下文给定的词,设h
在CBOW模型中,所有的词被编码成one-hot向量,V为总词语数。one-hot向量为将类别变量转换为机器学习算法易于利用的一种形式的过程,在本申请实施例中,其可表示一个词的多维特征。
将给定词编码为one-hot向量后,输入输入层Input layer,并经过W
其中,u
本申请实施例提供的方法中的步骤S450包括:
S451:将所述向量条件概率最大化,获得条件概率最大化公式:maxp(w
S452:根据所述条件概率最大化公式,获得所述CBOW模型的损失函数,其中,所述CBOW模型的损失函数为E=-logp(w
具体而言,本申请实施例中,根据上述的向量条件概率公式,进行最大化,可得到条件概率最大化公式:
maxp(w
于是得到CBOW算法模型的损失函数:
E=-logp(w
其中,u
结合上述seq2seq算法模型输出的语义相近词和CBOW算法模型输出的替代词,得到标注语义分析信息,然后结合原标注关键字,分别作为新的搜索关键字去匹配测试资产,得到测试资产搜索结果后,将相关测试资产推荐给测试人员。
本申请实施例通过采用CBOW算法模型,根据关键词的上下文预测关键词的替换词,作为目标词,在处理项目需求文档的自然语言问题时,结合上述的语义相近词,可根据关键词获得更多的替代词结果,结合seq2seq算法模型,能够得到更为准确和全面的测试资产推荐结果。
综上所述,本申请实施例在测试人员获取软件测试项目需求文档之后,将项目需求文档进行上传,并对其中的关键字进行标注,
标注完成后,获得需求标注信息,根据系统中预设的预设算法模型,将需求标注信息输入预设算法模型,获得带有需求标注信息的相近词和替换词的语义分析信息,并根据该语义分析信息在测试资产数据库进行搜索,得到与关键字的语义相近词和替换词相关的测试资产,以供测试人员进行软件测试工作。本申请实施例通过结合seq2seq算法模型以及CBOW算法模型,让机器理解搜索关键字的语义信息,寻找关键字的语义相近词和替代词,结合关键词进行搜索推荐,将相关测试资产快速准确地推荐给测试人员,能够提升推荐测试资产效率,达到准确智能地根据需求准确高效获取测试资产的技术效果。
实施例二
基于与前述实施例中一种软件测试资产智能推荐方法相同的发明构思,如图4所示,本申请实施例提供了一种软件测试资产智能推荐系统,其中,所述系统包括:
项目需求文档获取单元11,所述项目需求文档获取单元11用于获得项目需求文档;
需求标注信息获取单元12,所述需求标注信息获取单元12用于根据所述项目需求文档,获得需求标注信息;
预设算法模型获取单元13,所述预设算法模型获取单元13用于获得预设算法模型;
算法模型输出单元14,所述算法模型输出单元14用于将所述需求标注信息输入所述预设算法模型中,获得模型输出结果,所述模型输出结果包括标注语义分析信息;
测试资产数据库构件单元15,所述测试资产数据库构件单元15用于构建测试资产数据库;
搜索单元16,所述搜索单元16用于基于所述需求标注信息、所述标注语义分析信息在所述测试资产数据库中进行搜索,获得测试资产搜索结果,并将所述测试资产搜索结果进行展示推荐。
进一步的,所述系统还包括:
序列获取单元,所述序列获取单元用于获得输入序列、输出序列;模型训练单元,所述模型训练单元用于基于所述输入序列、所述输出序列对seq2seq算法模型进行训练;
输出序列发生概率获取单元,所述输出序列发生概率获取单元用于根据所述输入序列、所述输出序列,获得输出序列的发生概率;
概率求和单元,所述概率求和单元用于根据所述输出序列的发生概率,计算概率之和;
seq2seq算法模型获取单元,所述seq2seq算法模型获取单元用于当所述概率之和满足第一预设条件时停止训练模型,获得所述seq2seq算法模型。
进一步的,所述系统还包括:
输入单元,所述输入单元用于将所述需求标注信息中的所有词编码为one-hot向量输入输入层;
压缩单元,所述压缩单元用于所述one-hot向量经过第一矩阵W
输出词向量u获取单元,所述输出词向量u获取单元用于所述压缩元素向量经过第二矩阵W′
向量条件概率获取单元,所述向量条件概率获取单元用于基于所述压缩元素向量h、输出词向量u,根据公式:
损失函数获取单元,所述损失函数获取单元用于根据所述向量条件概率,获得CBOW算法模型的损失函数;
标注语义分析信息获取单元,所述标注语义分析信息获取单元用于根据所述CBOW算法模型的损失函数,获得所述标注语义分析信息。
进一步的,所述系统还包括:
向量条件概率最大化处理单元,所述向量条件概率最大化处理单元用于将所述向量条件概率最大化,获得条件概率最大化公式:maxp(w
CBOW模型的损失函数获取单元,所述CBOW模型的损失函数获取单元用于根据所述条件概率最大化公式,获得所述CBOW模型的损失函数,其中,所述CBOW模型的损失函数为E=-logp(w
示例性电子设备
下面参考图5来描述本申请实施例的电子设备,
基于与前述实施例中一种软件测试资产智能推荐方法相同的发明构思,本申请实施例还提供了一种软件测试资产智能推荐系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行实施例一所述方法的步骤。
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;
其中,存储器301用于存储执行本申请方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本申请上述实施例提供的一种软件测试资产智能推荐方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例在测试人员获取软件测试项目需求文档之后,将项目需求文档进行上传,并对其中的关键字进行标注,标注完成后,获得需求标注信息,根据系统中预设的预设算法模型,将需求标注信息输入预设算法模型,获得带有需求标注信息的相近词和替换词的语义分析信息,并根据该语义分析信息在测试资产数据库进行搜索,得到与关键字的语义相近词和替换词相关的测试资产,以供测试人员进行软件测试工作。本申请实施例通过结合seq2seq算法模型以及CBOW算法模型,让机器理解搜索关键字的语义信息,寻找关键字的语义相近词和替代词进行推荐,将相关测试资产快速准确地推荐给测试人员,能够提升推荐测试资产效率,达到准确智能地根据需求准确高效获取测试资产的技术效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请意图包括这些改动和变型在内。
- 一种用于环境信息资源AI智能个性化推荐的方法及系统
- 一种基于车联网的车载内容信息智能推荐系统及其方法
- 一种广告智能推荐方法、系统及装置
- 一种土地智能推荐方法及系统
- 一种具有智能推荐功能的IT运维系统界面生成方法
- 一种软件测试资产综合检索方法及系统
- 一种基于技术创新资产为知识库的智能推荐方法