一种基于历史测试用例挖掘的精准测试方法技术

技术编号:25438885 阅读:62 留言:0更新日期:2020-08-28 22:27
本发明专利技术一种基于历史测试用例挖掘的精准测试方法,包括:A.获取实体元素、测试用例和缺陷记录;B.建立测试用例和缺陷预测模型;C.对测试用例和缺陷预测模型进行训练,得到模型的最优参数;D使用维特比算法计算和输出试用例和缺陷预测结果;E.根据预测结果执行预测用例,度量精准测试有效性完善测试方案。本发明专利技术使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存在哪些缺陷,从而能够指导测试人员进行精准测试,大大节约了测试时间降低了测试成本。同时,由于基于统计分析和机器学习技术,结果的精确度和可信度大大提高。

【技术实现步骤摘要】
一种基于历史测试用例挖掘的精准测试方法
本专利技术涉及计算机软件开发和测试领域,具体讲是一种基于历史测试用例挖掘的精准测试方法。
技术介绍
软件应用已经深入到社会生活的各个角落,软件测试的方法也随着对产品的质量要求及更高的工作效率一直在演化,从最开始的手工测试到自动化测试,从黑盒测试到白盒测试,从功能测试到借口测试甚至到单元测试,测试理念和技术都发生了日新月异的变化。精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。通过测试示波器技术,记录黑盒测试用例对应的代码逻辑,实现测试用例到代码逻辑的精准记录和双向追溯;代码级的缺陷定位和崩溃分析;精准的测试充分度分析。目前业界内普遍通行的精准测试技术,是将软件系统的每一个软件模块、软件代码与每个测试用例建立关联关系,当软件系统的软件模块、软件代码发生变更时,运行与之相关联的测试用例。这样的精准测试可以减少测试用例的运行范围,减少测试耗时,提高测试精确度,但也存在三个问题:只能在回归测试阶段运行已有的测试用例来做精准测试,无法评估精准测试的效果,无法指导未来的测试用例精确设计和精确运行。
技术实现思路
本专利技术提供一种基于历史测试用例挖掘的精准测试方法。使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存在哪些缺陷,从而能够指导测试人员进行精准测试。本专利技术一种基于历史测试用例挖掘的精准测试方法,包括:A.根据软件模块中包含的实体元素,在数据库的实体元素表中查询出对应的实体元素数据,根据实体元素数据的id,在测试用例表中查询出对应的实体元素关联的所有测试用例数据;根据实体元素数据和测试用例数据,在数据库的缺陷表中查询出实体元素和其测试用例数据一起关联的所有缺陷数据记录;B.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型;C.将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,对测试用例和缺陷预测模型进行训练,当训练误差值低于阈值时,终止训练,得到满足要求的测试用例和缺陷预测模型的最优参数;D.根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;E.建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员在该页面上直接执行测试用例;F.在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果返回给该页面做展示;G.在后台管理系统中建立缺陷预测效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;根据得到的测试用例id序列和缺陷id序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。本专利技术根据软件功能、软件模块和软件代码等实体元素与测试用例之间的关系、测试用例与缺陷之间的关系,构建训练数据集,设计机器学习预测模型进行训练。模型训练结束后,将待预测的实体元素集,输入预测模型进行预测,可以得到每个元素当前需要执行的测试用例以及可能会产生的缺陷的预测值。一方面,可以根据预测结果执行这些测试用例,直接进行精准测试;另一方面,可以根据预测值度量当前运行的测试用例的精准测试的效果,也可以指导测试人员针对可能的缺陷补充设计新的测试用例进行测试。这种方法以客观数据的挖掘和分析来驱动精准测试,具有较高的可信度和准确度。进一步的,步骤B包括:以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态转移概率的矩阵,B为隐藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的概率分布矩阵;初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷。进一步的,步骤C包括:基于步骤A得到的训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数的估计,具体采用极大似然估计法来估计模型参数;根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的测试用例和缺陷预测模型。本专利技术使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存在哪些缺陷,从而能够指导测试人员进行精准测试,大大节约了测试时间、降低了测试成本。同时,由于基于统计分析和机器学习技术,结果的精确度和可信度大大提高。以下结合实施例的具体实施方式,对本专利技术的上述内容再作进一步的详细说明。但不应将此理解为本专利技术上述主题的范围仅限于以下的实例。在不脱离本专利技术上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本专利技术的范围内。附图说明图1为本专利技术一种基于历史测试用例挖掘的精准测试方法的流程图。具体实施方式如图1所示本专利技术一种基于历史测试用例挖掘的精准测试方法,包括:A.查询软件的实体元素记录。根据软件模块包含的实体元素,在数据库的实体元素表中查询出实体元素数据。B.根据实体元素数据记录,在数据库的测试用例表中查询出对应的实体元素关联的所有测试用例数据记录。根据实体本文档来自技高网...

【技术保护点】
1.一种基于历史测试用例挖掘的精准测试方法,其特征包括:/nA.根据软件模块中包含的实体元素,在数据库的实体元素表中查询出对应的实体元素数据,根据实体元素数据的id,在测试用例表中查询出对应的实体元素关联的所有测试用例数据;根据实体元素数据和测试用例数据,在数据库的缺陷表中查询出实体元素和其测试用例数据一起关联的所有缺陷数据记录;/nB.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型;/nC.将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,对测试用例和缺陷预测模型进行训练,当训练误差值低于阈值时,终止训练,得到满足要求的测试用例和缺陷预测模型的最优参数;/nD.根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;/nE.建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;/n根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员在该页面上直接执行测试用例;/nF.在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;/n根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果返回给该页面做展示;/nG.在后台管理系统中建立缺陷预测效果分析页面, 在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;/n根据得到的测试用例id序列和缺陷id序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。/n...

【技术特征摘要】
1.一种基于历史测试用例挖掘的精准测试方法,其特征包括:
A.根据软件模块中包含的实体元素,在数据库的实体元素表中查询出对应的实体元素数据,根据实体元素数据的id,在测试用例表中查询出对应的实体元素关联的所有测试用例数据;根据实体元素数据和测试用例数据,在数据库的缺陷表中查询出实体元素和其测试用例数据一起关联的所有缺陷数据记录;
B.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型;
C.将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,对测试用例和缺陷预测模型进行训练,当训练误差值低于阈值时,终止训练,得到满足要求的测试用例和缺陷预测模型的最优参数;
D.根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;
E.建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员在该页面上直接执行测试用例;
F.在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果返回给该页面做...

【专利技术属性】
技术研发人员:熊阳
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:四川;51

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

1