一种基于历史测试用例挖掘的精准测试方法转让专利

申请号 : CN202010721675.0

文献号 : CN111597121B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 熊阳

申请人 : 四川新网银行股份有限公司

摘要 :

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

权利要求 :

1.一种基于历史测试用例挖掘的精准测试方法,其特征包括:A.根据软件模块中包含的实体元素,在数据库的实体元素表中查询出对应的实体元素数据,根据实体元素数据的id,在测试用例表中查询出对应的实体元素关联的所有测试用例数据;根据实体元素数据和测试用例数据,在数据库的缺陷表中查询出实体元素和其测试用例数据一起关联的所有缺陷数据记录;

B.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型;

以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态转移概率的矩阵,B为隐藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的概率分布矩阵;

初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷;

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序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。

2.如权利要求1所述的一种基于历史测试用例挖掘的精准测试方法,其特征为:步骤C包括:基于步骤A得到的训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数的估计,具体采用极大似然估计法来估计模型参数;

根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的测试用例和缺陷预测模型。

说明书 :

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

技术领域

[0001] 本发明涉及计算机软件开发和测试领域,具体讲是一种基于历史测试用例挖掘的精准测试方法。

背景技术

[0002] 软件应用已经深入到社会生活的各个角落,软件测试的方法也随着对产品的质量要求及更高的工作效率一直在演化,从最开始的手工测试到自动化测试,从黑盒测试到白
盒测试,从功能测试到借口测试甚至到单元测试,测试理念和技术都发生了日新月异的变
化。
[0003] 精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚
类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。通过测试示波
器技术,记录黑盒测试用例对应的代码逻辑,实现测试用例到代码逻辑的精准记录和双向
追溯;代码级的缺陷定位和崩溃分析;精准的测试充分度分析。
[0004] 目前业界内普遍通行的精准测试技术,是将软件系统的每一个软件模块、软件代码与每个测试用例建立关联关系,当软件系统的软件模块、软件代码发生变更时,运行与之
相关联的测试用例。这样的精准测试可以减少测试用例的运行范围,减少测试耗时,提高测
试精确度,但也存在三个问题:只能在回归测试阶段运行已有的测试用例来做精准测试,无
法评估精准测试的效果,无法指导未来的测试用例精确设计和精确运行。

发明内容

[0005] 本发明提供一种基于历史测试用例挖掘的精准测试方法。使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存
在哪些缺陷,从而能够指导测试人员进行精准测试。
[0006] 本发明一种基于历史测试用例挖掘的精准测试方法,包括:
[0007] A.根据软件模块中包含的实体元素,在数据库的实体元素表中查询出对应的实体元素数据,根据实体元素数据的id,在测试用例表中查询出对应的实体元素关联的所有测
试用例数据;根据实体元素数据和测试用例数据,在数据库的缺陷表中查询出实体元素和
其测试用例数据一起关联的所有缺陷数据记录;
[0008] B.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型;
[0009] C.将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,对测试用例和缺陷预测模型进行训练,当训练误差值低于阈值时,终止训练,得到满足要求的测
试用例和缺陷预测模型的最优参数;
[0010] D.根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;
[0011] E.建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和
缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0012] 根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员
在该页面上直接执行测试用例;
[0013] F.在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一
起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0014] 根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据
测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果
返回给该页面做展示;
[0015] G.在后台管理系统中建立缺陷预测效果分析页面, 在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型
一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0016] 根据得到的测试用例id序列和缺陷id序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预
测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可
以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。
[0017] 本发明根据软件功能、软件模块和软件代码等实体元素与测试用例之间的关系、测试用例与缺陷之间的关系,构建训练数据集,设计机器学习预测模型进行训练。模型训练
结束后,将待预测的实体元素集,输入预测模型进行预测,可以得到每个元素当前需要执行
的测试用例以及可能会产生的缺陷的预测值。一方面,可以根据预测结果执行这些测试用
例,直接进行精准测试;另一方面,可以根据预测值度量当前运行的测试用例的精准测试的
效果,也可以指导测试人员针对可能的缺陷补充设计新的测试用例进行测试。这种方法以
客观数据的挖掘和分析来驱动精准测试,具有较高的可信度和准确度。
[0018] 进一步的,步骤 B包括:以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态
转移概率的矩阵,B为隐藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的
概率分布矩阵;
[0019] 初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然
发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷。
[0020] 进一步的,步骤C包括:基于步骤A得到的训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数的估计,具体采用极大
似然估计法来估计模型参数;
[0021] 根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,
进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的
测试用例和缺陷预测模型。
[0022] 本发明使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存在哪些缺陷,从而能够指导测试人员进行精准测
试,大大节约了测试时间、降低了测试成本。同时,由于基于统计分析和机器学习技术,结果
的精确度和可信度大大提高。
[0023] 以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思
想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发
明的范围内。

附图说明

[0024] 图1为本发明一种基于历史测试用例挖掘的精准测试方法的流程图。

具体实施方式

[0025] 如图1所示本发明一种基于历史测试用例挖掘的精准测试方法,包括:
[0026] A.查询软件的实体元素记录。根据软件模块包含的实体元素,在数据库的实体元素表中查询出实体元素数据。
[0027] B.根据实体元素数据记录,在数据库的测试用例表中查询出对应的实体元素关联的所有测试用例数据记录。
[0028] 根据实体元素数据记录和测试用例数据记录,在数据库的缺陷表中查询出这些实体元素以及它们关联的测试用例这两者一起关联的所有缺陷数据记录。
[0029] C.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型。
[0030] 以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态转移概率的矩阵,B为隐
藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的概率分布矩阵;
[0031] 初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然
发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷。
[0032] D.使用数据训练模型,得到参数最优的模型。
[0033] 将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数
的估计,具体采用极大似然估计法来估计模型参数;
[0034] 根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,
进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的
测试用例和缺陷预测模型。
[0035] E.获取软件的新变更内容包含的实体元素。
[0036] 根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;
[0037] F.将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法。
[0038] 建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺
陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0039] 根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员
在该页面上直接执行测试用例;
[0040] 在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起
输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0041] 根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据
测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果
返回给该页面做展示;
[0042] 在后台管理系统中建立缺陷预测效果分析页面, 在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一
起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
[0043] 根据得到的测试用例id序列和缺陷id序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预
测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可
以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。
[0044] 实施例:
[0045] 假定现在有一个网站,包含“首页”、“注册页面”、“购物车页面”等模块。现在需要对“注册页面”这个模块进行新功能开发,该模块包含了“A:用户名”、“B:设置密码”、“C:确
认密码”、“D:注册按钮”四个实体元素。A、B、C、D四个实体元素关联了6个测试用例如下:
[0046] (1)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0047] (2)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0048] (3)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0049] (4)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0050] (5)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0051] (6)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
[0052] A、B、C、D四个实体元素,和他们关联的这6个测试用例,同时关联了6个缺陷如下:
[0053] (1)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:期望:注
册页面提示“注册成功”;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:功能故障-显示故
障-文案错误;(e)缺陷状态:关闭
[0054] (2)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:访客进
入注册页面;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:性能故障-网络故障-页面响
应超时;(e)缺陷状态:关闭;
[0055] (3)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:输入设
置密码;(c)发生缺陷实体元素:设置密码;(d)缺陷类别:用户体验故障-用户体验不友好
[0056] (e)缺陷状态:关闭;
[0057] (4)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:期望:注
册页面提示“注册成功”;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:功能故障-显示故
障-文案错误;(e)缺陷状态:关闭;
[0058] (5)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:访客进
入注册页面;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:性能故障-网络故障-页面响
应超时(e)缺陷状态:关闭;
[0059] (6)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:输入确
认密码;(c)发生缺陷实体元素:确认密码;(d)缺陷类别:容错性故障-提示错误;(e)缺陷状
态:关闭;
[0060] 一、根据软件模块的变更内容,获取软件模块的所有实体元素,并提取这些实体元素的测试用例和缺陷数据,构建训练样本集。
[0061] a“.注册页面”模块包含“A:用户名”、“B:设置密码”、“C:确认密码”、“D:注册按钮”四个实体元素,根据四个实体元素语义,在数据库的实体元素表查询到以上四个实体元素
的信息。
[0062] b.根据四个实体元素的ID,在数据库的缺陷表中,查询到四个实体元素关联的所有测试用例,数量为6个,其中包括了测试用例(1)、测试用例(2)、测试用例(3)、测试用例
(4)、测试用例(5)、测试用例(6)等6个测试用例。
[0063] c.根据实体元素ID和测试用例ID,在数据库的缺陷表中,查询到四个实体元素、它们所关联的所有测试用例所关联的缺陷数据,数量为6个,其中包括了缺陷(1)、缺陷(2)、缺
陷(3)、缺陷(4)、缺陷(5)、缺陷(6)等6个缺陷。
[0064] d.将以上实体元素ID、测试用例ID、缺陷ID,共同形成训练样本集,其中实体元素ID为输入数据,测试用例ID和缺陷ID为输出数据。训练样本集用作预测模型的训练。
[0065] 二、建立隐马可夫模型后,初始化隐马可夫模型的参数。
[0066] a.以实体元素ID序列{A、B、C、D}作为观测序列,测试用例ID和缺陷ID序列{X、Y、Z、W}作为隐藏状态序列,建立隐马可夫模型。
[0067] b.隐马可夫模型模型参数变量设置为1,用于后续训练。
[0068] 三、训练隐马可夫模型。
[0069] a.以步骤一.d所形成的训练样本集,训练隐马可夫模型。
[0070] b.计算误差,判断是否低于阈值。若未达到阈值,继续训练。
[0071] c.重复以上步骤,根据训练结果逐次调校,直到对训练样本集最佳拟合。最后得到模型的最优参数,即得到最优参数的预测模型。
[0072] 四、建立后台管理系统,并在后台管理系统中建立精准测试执行页面。页面输入新的实体元素ID序列数据,后台程序使用预测模型和实体元素ID序列数据进行测试用例ID和
缺陷ID序列的预测。后台程序将测试用例预测结果展示在页面上。根据测试用例预测结果,
测试人员可在页面上直接执行测试用例,并标记测试用例执行结果。
[0073] a.新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
[0074] 观测序列:{A,D,E,B,C}
[0075] b.建立后台管理系统,并在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员
的输入数据,将预测模型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID
和缺陷ID序列。最后输出预测结果:{X,W,Y}。
[0076] c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
[0077] d.后台程序将步骤c中得到的测试用例预测结果:测试用例(1)、测试用例(2)、测试用例(3)展示在页面上。测试人员可在页面上直接对测试用例(1)、测试用例(2)、测试用
例(3)做执行操作,并标记测试用例执行结果。
[0078] 五、建立精准测试效果分析页面。页面可以输入软件模块的当前变更内容所包括的实体元素集,后台程序将数据输入测试用例和缺陷预测模型,运算后得到测试用例和缺
陷预测结果,测试人员可标记预测结果是否有效,后台程序根据有效性标记,计算有效测试
用例在测试用例集中的占比百分比,并将计算结果返回给页面做展示。
[0079] a.新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
[0080] 观测序列:{A,D,E,B,C}
[0081] b.在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员的输入数据,将预测模
型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID和缺陷ID序列。最后输
出预测结果:{X,W,Y}。
[0082] c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
[0083] d.后台程序将步骤c中得到的测试用例预测结果:测试用例(1)、测试用例(2)、测试用例(3),返回给页面做展示。测试人员可在页面上对测试用例预测结果逐个标记是否有
效。标记完成后,后台程序根据标记结果,计算预测有效用例占比百分比,计算公式为:预测
有效用例占比百分比=预测测试用例数*预测准确率/总体测试用例数。假定预测准确率为
80%,而总体测试用例集的数量为15个,则占比百分比为:3*80%/15=16%。。并将该结果返回
给页面做展示。
[0084] e.测试人员可根据步骤d得到的比值分析测试用例预测的精准性。如果期望有效测试用例占比百分比为10%,则该结果高于期望值,未能达到最佳占比。因此可进一步调校
预测模型,直到有效测试用例占比百分比达到期望值。
[0085] 六、在后台管理系统中建立缺陷预测效果分析页面,页面可以输入软件模块的当前变更内容所包括的实体元素集,后台程序将数据输入测试用例和缺陷预测模型,运算后
得到测试用例和缺陷预测结果,后台程序将测试用例和缺陷预测结果展示在页面上。测试
人员可以根据测试用例和缺陷预测结果,评判当前的测试用例集是否包括预测测试用例、
是否可以充分覆盖预测缺陷,如果不足,则补充设计测试用例,进一步扩大测试范围。
[0086] a. 新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
[0087] 观测序列:{A,D,E,B,C}
[0088] b.在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员的输入数据,将预测模
型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID和缺陷ID序列。最后输
出预测结果:{X,W,Y}。
[0089] c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
[0090] d.根据步骤b得到的测试用例id和缺陷id序列,在缺陷表查询出缺陷,得到缺陷预测结果。假定为:缺陷(4)、缺陷(5)、缺陷(6)。
[0091] e.后台程序将测试用例和缺陷预测结果:测试用例(1)、测试用例(2)、测试用例(3)、缺陷(4)、缺陷(5)、缺陷(6)展示在页面上。测试人员可以根据测试用例和缺陷预测结
果,评判当前的测试用例集是否包括预测测试用例、是否可以充分覆盖预测缺陷,如果不
足,则补充设计测试用例,进一步扩大测试范围。