测试用例选取方法及装置制造方法及图纸

技术编号:18350141 阅读:59 留言:0更新日期:2018-07-01 23:09
本发明专利技术实施例提供一种测试用例选取方法及装置,属于自动化测试技术领域。该方法包括:将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度;从预设测试用例集中选取置信度大于置信度阈值的测试用例。由于可将更新特征输入至测试用例选择模型,并基于输出结果针对性地选取测试用例,从而测试方式更加灵活且能够解放人力,并可提高测试效率及代码覆盖率。另外,由于不会引入人为因素导致的测试错误,从而提高了测试质量以及产品的鲁棒性。

【技术实现步骤摘要】
测试用例选取方法及装置
本专利技术实施例涉及自动化测试
,更具体地,涉及一种测试用例选取方法及装置。
技术介绍
随着计算机技术、数据通信、网络工程,以及IT行业公司的发展,自动化测试技术受到越来越多的关注和使用。在实现自动化测试时,通常需要选取测试用例。相关技术中在选取测试用例时,一般是依赖人工经验选取,每次触发的自动化测试用例均是一成不变的,从而导致测试用例不具有灵活性及针对性。
技术实现思路
为了解决上述问题,本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的测试用例选取方法及装置。根据本专利技术实施例的第一方面,提供了一种测试用例选取方法,该方法包括:将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度,更新特征至少包含提交人员信息、函数修改信息及涉及到的模块信息;从预设测试用例集中选取置信度大于置信度阈值的测试用例。本专利技术实施例提供的方法,通过将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度。从预设测试用例集中选取置信度大于置信度阈值的测试用例。由于可将更新特征输入至测试用例选择模型,并基于输出结果针对性地选取测试用例,从而测试方式更加灵活且能够解放人力,并可提高测试效率及代码覆盖率。另外,由于不会引入人为因素导致的测试错误,从而提高了测试质量以及产品的鲁棒性。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该方法还包括:根据历史提交记录,获取预设数量个样本更新特征,更新特征与样本更新特征包含的信息类型相同;根据预设测试用例集中每条测试用例在每个样本更新特征下的测试结果,获取每条测试用例在每个样本更新特征下的数据标签,数据标签的类型分为两种,分别对应测试通过及测试出错;将预设数量个样本更新特征作为原始模型的输入,将每条测试用例在每个样本更新特征下的数据标签作为原始模型的输出,对原始模型进行训练,得到测试用例选择模型。结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,该方法还包括:根据历史提交记录,获取预设数量个样本更新特征;基于预设数量个样本更新特征及每条测试用例在每个样本更新特征下的测试结果,对测试用例选择模型进行测试,并在测试过程中不断对测试用例选择模型及置信度阈值进行更新,直至测试用例选择模型中的网络损失函数满足预设条件。结合第一方面的第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,更新特征还包含以下四种信息中的至少一种,以下四种信息分别为提交时间、编译环境信息、面向对象信息及涉及到的引擎信息。结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,测试用例选择模型为卷积神经网络模型,测试用例选择模型包括三层卷积层及一层全连接层,每一卷积层后面连接有池化层和激活函数层。根据本专利技术实施例的第二方面,提供了一种测试用例选取装置,该装置包括:输出模块,用于将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度,更新特征至少包含提交人员信息、函数修改信息及涉及到的模块信息;选取模块,用于从预设测试用例集中选取置信度大于置信度阈值的测试用例。根据本专利技术实施例的第三方面,提供了一种测试用例选取设备,包括:至少一个处理器;以及与处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的测试用例选取方法。根据本专利技术的第四方面,提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的测试用例选取方法。应当理解的是,以上的一般描述和后文的细节描述是示例性和解释性的,并不能限制本专利技术实施例。附图说明图1为本专利技术实施例的一种测试用例选取方法的流程示意图;图2为本专利技术实施例的一种测试用例选择模型训练方法的流程示意图;图3为本专利技术实施例的一种测试用例选择模型测试方法的流程示意图;图4为本专利技术实施例的一种测试用例选取方法的流程示意图;图5为本专利技术实施例的一种测试用例选择模型的网络结构示意图;图6为本专利技术实施例的一种测试用例选取装置的框图;图7为本专利技术实施例的一种测试用例选取设备的框图。具体实施方式下面结合附图和实施例,对本专利技术实施例的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术实施例,但不用来限制本专利技术实施例的范围。本专利技术实施例提供了一种测试用例选取方法,参见图1,该方法包括:101、将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度,更新特征至少包括提交人员信息、函数修改信息及涉及到的模块信息;102、从预设测试用例集中选取置信度大于置信度阈值的测试用例。在执行上述步骤101之前,可先设计测试用例,从而由设计的测试用例组成预设测试用例集。设计的测试用例其内容可涵盖接口函数参数层、正常/异常接口流程调用层等不同层面,且可兼顾性能、压力、强力、功能、兼容性等不同方面,本专利技术实施例不对测试用例的设计方式作具体限定,也不对预设测试用例集中测试用例的条数作限定。优选地,预设测试用例集中测试用例的条数可以为300条。在设计出测试用例后,可通过opencppcoverage、gcov等代码率覆盖工具分析统计对每条测试用例的代码覆盖率,以此保证每条测试用例设计的合理性、高效性,且能够满足在测试产品达到一定的测试深度和广度。另外,更新特征可以由产品开发人员更新代码时触发获取。具体地,当检测到产品开发人员更新代码时,可自动获取更新特征。其中,检测周期可以为一分钟,即每分钟检测产品开发人员是否更新了源代码。或者,还可以实时对源代码进行监控,每当检测到更新操作时,即获取更新特征,本专利技术实施例对此不作具体限定。更新特征可至少包括提交人员信息、函数修改信息及涉及到的模块信息。每个产品开发人员的代码水平不同,每个产品开发人员产生bug的概率也会有所不同,从而需将更新源代码的提交人员信息作为更新特征。由于代码开发时高内聚、低耦合的特点,一个功能的改动,会影响到其他功能模块,更新源代码时修改的函数及涉及到的功能模块也需要再次被测试,从而函数修改信息及涉及到的模块信息也需要作为更新特征。在得到上述三种信息后,可对三种信息进行特征编码,从而得到3维的特征向量。在获取到更新代码时的更新特征后,可将更新特征输入至测试用例选择模型。其中,测试用例选择模型是基于预设测试用例集及样本更新特征进行训练后得到的,更新特征与样本更新特征中的信息类型相同。测试用例选择模型所使用的原始模型可以为卷积神经网络、循环神经网络、深度神经网络、支持向量机或长短期记忆网络模型等,本专利技术实施例对此不作具体限定。测试用例选择模型输出预设测试用例集中每条测试用例的置信度,即每条测试用例对源代码进行测试时能够准确检测出源代码是否存在问题时的可信程度。在得到预设测试用例集中每条测试用例的置信度后,即可从中选取置信度大于置信度阈值的测试用例。其中,置信度阈值可以根据需求进行设置初始值,且后续可不断调整,本专利技术实施例对此不作具体限定。本专利技术实施例提供的方法,通过将更新特征输入至测试用例选择模型,输出预设测试用例集中每条本文档来自技高网...
测试用例选取方法及装置

【技术保护点】
1.一种测试用例选取方法,其特征在于,包括:将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度,所述更新特征至少包含提交人员信息、函数修改信息及涉及到的模块信息;从所述预设测试用例集中选取置信度大于置信度阈值的测试用例。

【技术特征摘要】
1.一种测试用例选取方法,其特征在于,包括:将更新特征输入至测试用例选择模型,输出预设测试用例集中每条测试用例的置信度,所述更新特征至少包含提交人员信息、函数修改信息及涉及到的模块信息;从所述预设测试用例集中选取置信度大于置信度阈值的测试用例。2.根据权利要求1所述的方法,其特征在于,还包括:根据历史提交记录,获取预设数量个样本更新特征,所述更新特征与所述样本更新特征包含的信息类型相同;根据所述预设测试用例集中每条测试用例在每个样本更新特征下的测试结果,获取每条测试用例在每个样本更新特征下的数据标签,所述数据标签的类型分为两种,分别对应测试通过及测试出错;将预设数量个样本更新特征作为原始模型的输入,将每条测试用例在每个样本更新特征下的数据标签作为所述原始模型的输出,对所述原始模型进行训练,得到所述测试用例选择模型。3.根据权利要求1所述的方法,其特征在于,还包括:根据历史提交记录,获取预设数量个样本更新特征;基于预设数量个样本更新特征及每条测试用例在每个样本更新特征下的测试结果,对所述测试用例选择模型进行测试,并在测试过程中不断对所述测试用例选择模型及所述置信度阈值进行更新,直至所述测试用例选择模型满足预设条件。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述更新特征还包含以下四种信息中的至少一种,所述以下四种信息分别为提交时间、编译环境信息、面向对象信息及涉及到的引擎信息。5.根据权利要求1所述的方法,其特征在于,所述测试用例选择模型为卷积神经网络模型、循环神经网络模型、深度神经网络模型、支持向量机或长短期记忆网络模...

【专利技术属性】
技术研发人员:殷运鹏宋明李兰影
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1