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

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

Info

Publication number
CN111597121A
CN111597121A CN202010721675.0A CN202010721675A CN111597121A CN 111597121 A CN111597121 A CN 111597121A CN 202010721675 A CN202010721675 A CN 202010721675A CN 111597121 A CN111597121 A CN 111597121A
Authority
CN
China
Prior art keywords
test case
defect
sequence
test
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010721675.0A
Other languages
English (en)
Other versions
CN111597121B (zh
Inventor
熊阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN202010721675.0A priority Critical patent/CN111597121B/zh
Publication of CN111597121A publication Critical patent/CN111597121A/zh
Application granted granted Critical
Publication of CN111597121B publication Critical patent/CN111597121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

一种基于历史测试用例挖掘的精准测试方法
技术领域
本发明涉及计算机软件开发和测试领域,具体讲是一种基于历史测试用例挖掘的精准测试方法。
背景技术
软件应用已经深入到社会生活的各个角落,软件测试的方法也随着对产品的质量要求及更高的工作效率一直在演化,从最开始的手工测试到自动化测试,从黑盒测试到白盒测试,从功能测试到借口测试甚至到单元测试,测试理念和技术都发生了日新月异的变化。
精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。通过测试示波器技术,记录黑盒测试用例对应的代码逻辑,实现测试用例到代码逻辑的精准记录和双向追溯;代码级的缺陷定位和崩溃分析;精准的测试充分度分析。
目前业界内普遍通行的精准测试技术,是将软件系统的每一个软件模块、软件代码与每个测试用例建立关联关系,当软件系统的软件模块、软件代码发生变更时,运行与之相关联的测试用例。这样的精准测试可以减少测试用例的运行范围,减少测试耗时,提高测试精确度,但也存在三个问题:只能在回归测试阶段运行已有的测试用例来做精准测试,无法评估精准测试的效果,无法指导未来的测试用例精确设计和精确运行。
发明内容
本发明提供一种基于历史测试用例挖掘的精准测试方法。使用客观数据和机器学习技术来自动化计算和预测应当执行哪些测试用例就可以精确的测试软件、软件有可能存在哪些缺陷,从而能够指导测试人员进行精准测试。
本发明一种基于历史测试用例挖掘的精准测试方法,包括:
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.根据实体元素数据记录,在数据库的测试用例表中查询出对应的实体元素关联的所有测试用例数据记录。
根据实体元素数据记录和测试用例数据记录,在数据库的缺陷表中查询出这些实体元素以及它们关联的测试用例这两者一起关联的所有缺陷数据记录。
C.初始化隐马可夫模型参数,建立测试用例和缺陷预测模型。
以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态转移概率的矩阵,B为隐藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的概率分布矩阵;
初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷。
D.使用数据训练模型,得到参数最优的模型。
将得到的实体元素数据、测试用例数据和缺陷数据一起作为训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数的估计,具体采用极大似然估计法来估计模型参数;
根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的测试用例和缺陷预测模型。
E.获取软件的新变更内容包含的实体元素。
根据软件模块的当前变更内容,分析变更内容中所包含的实体元素,在数据库中查询出这些实体元素相对应的id,形成待预测的实体元素id序列;
F.将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法。
建立后台管理系统,在后台管理系统中建立精准测试执行页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,后台程序将测试用例预测结果展示在该页面上,测试人员在该页面上直接执行测试用例;
在后台管理系统中建立精准测试效果分析页面,在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
根据得到的测试用例id序列和缺陷id序列,在测试用例表中查询出对应的测试用例,从而得到测试用例预测结果,测试人员标记测试用例预测结果是否有效,后台程序根据测试用例是否有效标记,计算有效测试用例在测试用例集中的所占百分比,并将计算结果返回给该页面做展示;
在后台管理系统中建立缺陷预测效果分析页面, 在该页面输入待预测的实体元素id序列,后台程序将待预测的实体元素id序列和最优参数的测试用例和缺陷预测模型一起输入维特比算法,运算后得到最优的测试用例id序列和缺陷id序列;
根据得到的测试用例id序列和缺陷id序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。
实施例:
假定现在有一个网站,包含“首页”、“注册页面”、“购物车页面”等模块。现在需要对“注册页面”这个模块进行新功能开发,该模块包含了“A:用户名”、“B:设置密码”、“C:确认密码”、“D:注册按钮”四个实体元素。A、B、C、D四个实体元素关联了6个测试用例如下:
(1)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
(2)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
(3)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
(4)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
(5)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
(6)测试用例:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”。
A、B、C、D四个实体元素,和他们关联的这6个测试用例,同时关联了6个缺陷如下:
(1)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:期望:注册页面提示“注册成功”;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:功能故障-显示故障-文案错误;(e)缺陷状态:关闭
(2)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:访客进入注册页面;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:性能故障-网络故障-页面响应超时;(e)缺陷状态:关闭;
(3)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:输入设置密码;(c)发生缺陷实体元素:设置密码;(d)缺陷类别:用户体验故障-用户体验不友好
(e)缺陷状态:关闭;
(4)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:期望:注册页面提示“注册成功”;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:功能故障-显示故障-文案错误;(e)缺陷状态:关闭;
(5)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:访客进入注册页面;(c)发生缺陷实体元素:注册页面;(d)缺陷类别:性能故障-网络故障-页面响应超时(e)缺陷状态:关闭;
(6)缺陷:(a)测试用例:访客进入注册页面,输入不存在的用户名,输入设置密码,输入确认密码,点击注册按钮。期望:注册页面提示“注册成功”;(b)发生缺陷步骤:输入确认密码;(c)发生缺陷实体元素:确认密码;(d)缺陷类别:容错性故障-提示错误;(e)缺陷状态:关闭;
一、根据软件模块的变更内容,获取软件模块的所有实体元素,并提取这些实体元素的测试用例和缺陷数据,构建训练样本集。
a.“注册页面”模块包含“A:用户名”、“B:设置密码”、“C:确认密码”、“D:注册按钮”四个实体元素,根据四个实体元素语义,在数据库的实体元素表查询到以上四个实体元素的信息。
b.根据四个实体元素的ID,在数据库的缺陷表中,查询到四个实体元素关联的所有测试用例,数量为6个,其中包括了测试用例(1)、测试用例(2)、测试用例(3)、测试用例(4)、测试用例(5)、测试用例(6)等6个测试用例。
c.根据实体元素ID和测试用例ID,在数据库的缺陷表中,查询到四个实体元素、它们所关联的所有测试用例所关联的缺陷数据,数量为6个,其中包括了缺陷(1)、缺陷(2)、缺陷(3)、缺陷(4)、缺陷(5)、缺陷(6)等6个缺陷。
d.将以上实体元素ID、测试用例ID、缺陷ID,共同形成训练样本集,其中实体元素ID为输入数据,测试用例ID和缺陷ID为输出数据。训练样本集用作预测模型的训练。
二、建立隐马可夫模型后,初始化隐马可夫模型的参数。
a.以实体元素ID序列{A、B、C、D}作为观测序列,测试用例ID和缺陷ID序列{X、Y、Z、W}作为隐藏状态序列,建立隐马可夫模型。
b.隐马可夫模型模型参数变量设置为1,用于后续训练。
三、训练隐马可夫模型。
a.以步骤一.d所形成的训练样本集,训练隐马可夫模型。
b.计算误差,判断是否低于阈值。若未达到阈值,继续训练。
c.重复以上步骤,根据训练结果逐次调校,直到对训练样本集最佳拟合。最后得到模型的最优参数,即得到最优参数的预测模型。
四、建立后台管理系统,并在后台管理系统中建立精准测试执行页面。页面输入新的实体元素ID序列数据,后台程序使用预测模型和实体元素ID序列数据进行测试用例ID和缺陷ID序列的预测。后台程序将测试用例预测结果展示在页面上。根据测试用例预测结果,测试人员可在页面上直接执行测试用例,并标记测试用例执行结果。
a.新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
观测序列:{A,D,E,B,C}
b.建立后台管理系统,并在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员的输入数据,将预测模型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID和缺陷ID序列。最后输出预测结果:{X,W,Y}。
c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
d.后台程序将步骤c中得到的测试用例预测结果:测试用例(1)、测试用例(2)、测试用例(3)展示在页面上。测试人员可在页面上直接对测试用例(1)、测试用例(2)、测试用例(3)做执行操作,并标记测试用例执行结果。
五、建立精准测试效果分析页面。页面可以输入软件模块的当前变更内容所包括的实体元素集,后台程序将数据输入测试用例和缺陷预测模型,运算后得到测试用例和缺陷预测结果,测试人员可标记预测结果是否有效,后台程序根据有效性标记,计算有效测试用例在测试用例集中的占比百分比,并将计算结果返回给页面做展示。
a.新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
观测序列:{A,D,E,B,C}
b.在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员的输入数据,将预测模型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID和缺陷ID序列。最后输出预测结果:{X,W,Y}。
c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
d.后台程序将步骤c中得到的测试用例预测结果:测试用例(1)、测试用例(2)、测试用例(3),返回给页面做展示。测试人员可在页面上对测试用例预测结果逐个标记是否有效。标记完成后,后台程序根据标记结果,计算预测有效用例占比百分比,计算公式为:预测有效用例占比百分比=预测测试用例数*预测准确率/总体测试用例数。假定预测准确率为80%,而总体测试用例集的数量为15个,则占比百分比为:3*80%/15=16%。。并将该结果返回给页面做展示。
e.测试人员可根据步骤d得到的比值分析测试用例预测的精准性。如果期望有效测试用例占比百分比为10%,则该结果高于期望值,未能达到最佳占比。因此可进一步调校预测模型,直到有效测试用例占比百分比达到期望值。
六、在后台管理系统中建立缺陷预测效果分析页面,页面可以输入软件模块的当前变更内容所包括的实体元素集,后台程序将数据输入测试用例和缺陷预测模型,运算后得到测试用例和缺陷预测结果,后台程序将测试用例和缺陷预测结果展示在页面上。测试人员可以根据测试用例和缺陷预测结果,评判当前的测试用例集是否包括预测测试用例、是否可以充分覆盖预测缺陷,如果不足,则补充设计测试用例,进一步扩大测试范围。
a. 新的待预测的软件模块按照步骤一处理为实体元素ID序列,举例如下:
观测序列:{A,D,E,B,C}
b.在后台管理系统中建立精准测试执行页面。测试人员在页面输入新的实体元素ID序列数据{A,D,E,B,C},后台程序集成了预测模型,根据测试人员的输入数据,将预测模型和输入数据一起输入已实现维特比算法的程序,求解测试用例ID和缺陷ID序列。最后输出预测结果:{X,W,Y}。
c.根据步骤b得到的测试用例id和缺陷id序列,在测试用例表查询出测试用例,得到测试用例预测结果。假定为:测试用例(1)、测试用例(2)、测试用例(3)。
d.根据步骤b得到的测试用例id和缺陷id序列,在缺陷表查询出缺陷,得到缺陷预测结果。假定为:缺陷(4)、缺陷(5)、缺陷(6)。
e.后台程序将测试用例和缺陷预测结果:测试用例(1)、测试用例(2)、测试用例(3)、缺陷(4)、缺陷(5)、缺陷(6)展示在页面上。测试人员可以根据测试用例和缺陷预测结果,评判当前的测试用例集是否包括预测测试用例、是否可以充分覆盖预测缺陷,如果不足,则补充设计测试用例,进一步扩大测试范围。

Claims (3)

1.一种基于历史测试用例挖掘的精准测试方法,其特征包括:
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序列,在测试用例表和缺陷表中查询出对应的测试用例和缺陷,从而得到测试用例预测结果和缺陷预测结果;根据得到的测试用例预测结果和缺陷预测结果,测试人员评判当前的测试用例集是否包括预测测试用例,是否可以充分覆盖预测的缺陷,如果不足则补充设计测试用例,进一步扩大测试范围。
2.如权利要求1所述的一种基于历史测试用例挖掘的精准测试方法,其特征为:步骤 B包括:以实体元素的id序列为观测序列,测试用例的id序列和缺陷的id序列为隐藏状态序列,建立隐马可夫模型λ=(A,B,π),其中A为隐藏状态序列的状态转移概率的矩阵,B为隐藏状态序列生成观测序列的概率矩阵,π为初始的隐藏状态序列的概率分布矩阵;
初始化隐马可夫模型参数:根据实体元素的id序列到测试用例id序列和缺陷的id序列的转换,将模型参数变量设置为1,表示实体元素到测试用例用例和缺陷的转换是必然发生的,每一个实体元素均有相对应的测试用例,以及与测试用例相关联的缺陷。
3.如权利要求1所述的一种基于历史测试用例挖掘的精准测试方法,其特征为:步骤C包括:基于步骤A得到的训练样本集,从训练样本集中任意挑选一组数据,输入初始化参数后的隐马可夫模型,进行隐马可夫模型参数的估计,具体采用极大似然估计法来估计模型参数;
根据得到的隐马可夫模型参数的估计结果后,通过损失函数进行训练效果度量,若度量结果超过给定阈值,则使用训练样本集中余下的其他训练数据,重复前一估计步骤,进行参数的调校,最后得到一组能够最优拟合训练样本集的模型参数,即得到参数最优的测试用例和缺陷预测模型。
CN202010721675.0A 2020-07-24 2020-07-24 一种基于历史测试用例挖掘的精准测试方法 Active CN111597121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010721675.0A CN111597121B (zh) 2020-07-24 2020-07-24 一种基于历史测试用例挖掘的精准测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010721675.0A CN111597121B (zh) 2020-07-24 2020-07-24 一种基于历史测试用例挖掘的精准测试方法

Publications (2)

Publication Number Publication Date
CN111597121A true CN111597121A (zh) 2020-08-28
CN111597121B CN111597121B (zh) 2021-04-27

Family

ID=72188173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010721675.0A Active CN111597121B (zh) 2020-07-24 2020-07-24 一种基于历史测试用例挖掘的精准测试方法

Country Status (1)

Country Link
CN (1) CN111597121B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148595A (zh) * 2020-09-03 2020-12-29 北京科技大学 一种去除重复变更的软件变更级缺陷预测方法
CN112988606A (zh) * 2021-05-11 2021-06-18 成都爱瑞无线科技有限公司 测试用例生成方法、装置、设备及存储介质
CN113468053A (zh) * 2021-07-02 2021-10-01 建信金融科技有限责任公司 一种应用系统的测试方法和装置
CN113672506A (zh) * 2021-08-06 2021-11-19 中国科学院软件研究所 基于机器学习的动态比例测试用例排序选择方法及系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500941A (en) * 1994-07-06 1996-03-19 Ericsson, S.A. Optimum functional test method to determine the quality of a software system embedded in a large electronic system
US20110145653A1 (en) * 2008-08-15 2011-06-16 Verum Holding B.V. Method and system for testing complex machine control software
CN103198010A (zh) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 软件测试方法、装置及系统
CN103455417A (zh) * 2013-07-20 2013-12-18 中国科学院软件研究所 一种基于马尔可夫模型的软件错误定位系统及错误定位方法
CN105045648A (zh) * 2015-05-08 2015-11-11 北京航空航天大学 IaaS云环境下物理主机资源状态预测方法
CN105868106A (zh) * 2016-03-24 2016-08-17 飞依诺科技(苏州)有限公司 超声设备可靠性的测试方法及测试系统
CN106021113A (zh) * 2016-05-31 2016-10-12 浪潮电子信息产业股份有限公司 一种精准测试的实现方法
CN107562621A (zh) * 2017-08-28 2018-01-09 广州阿里巴巴文学信息技术有限公司 确定手工测试用例与被测试代码关联关系的方法和装置
CN108170613A (zh) * 2018-03-08 2018-06-15 国家计算机网络与信息安全管理中心 一种软件测试用例自动生成方法
CN109783382A (zh) * 2019-01-07 2019-05-21 郑州云海信息技术有限公司 一种基于精准测试平台的测试方法及系统
US20190196938A1 (en) * 2017-12-26 2019-06-27 Oracle International Corporation Machine Defect Prediction Based on a Signature
CN110097193A (zh) * 2019-04-28 2019-08-06 第四范式(北京)技术有限公司 训练模型的方法及系统和预测序列数据的方法及系统
CN110109816A (zh) * 2018-02-01 2019-08-09 华为技术有限公司 测试用例选择方法和装置
CN110502432A (zh) * 2019-07-23 2019-11-26 平安科技(深圳)有限公司 智能测试方法、装置、设备及可读存储介质
CN110727593A (zh) * 2019-10-12 2020-01-24 四川新网银行股份有限公司 基于历史需求数据挖掘的测试用例智能生成方法及介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500941A (en) * 1994-07-06 1996-03-19 Ericsson, S.A. Optimum functional test method to determine the quality of a software system embedded in a large electronic system
US20110145653A1 (en) * 2008-08-15 2011-06-16 Verum Holding B.V. Method and system for testing complex machine control software
CN103198010A (zh) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 软件测试方法、装置及系统
CN103455417A (zh) * 2013-07-20 2013-12-18 中国科学院软件研究所 一种基于马尔可夫模型的软件错误定位系统及错误定位方法
CN105045648A (zh) * 2015-05-08 2015-11-11 北京航空航天大学 IaaS云环境下物理主机资源状态预测方法
CN105868106A (zh) * 2016-03-24 2016-08-17 飞依诺科技(苏州)有限公司 超声设备可靠性的测试方法及测试系统
CN106021113A (zh) * 2016-05-31 2016-10-12 浪潮电子信息产业股份有限公司 一种精准测试的实现方法
CN107562621A (zh) * 2017-08-28 2018-01-09 广州阿里巴巴文学信息技术有限公司 确定手工测试用例与被测试代码关联关系的方法和装置
US20190196938A1 (en) * 2017-12-26 2019-06-27 Oracle International Corporation Machine Defect Prediction Based on a Signature
CN110109816A (zh) * 2018-02-01 2019-08-09 华为技术有限公司 测试用例选择方法和装置
CN108170613A (zh) * 2018-03-08 2018-06-15 国家计算机网络与信息安全管理中心 一种软件测试用例自动生成方法
CN109783382A (zh) * 2019-01-07 2019-05-21 郑州云海信息技术有限公司 一种基于精准测试平台的测试方法及系统
CN110097193A (zh) * 2019-04-28 2019-08-06 第四范式(北京)技术有限公司 训练模型的方法及系统和预测序列数据的方法及系统
CN110502432A (zh) * 2019-07-23 2019-11-26 平安科技(深圳)有限公司 智能测试方法、装置、设备及可读存储介质
CN110727593A (zh) * 2019-10-12 2020-01-24 四川新网银行股份有限公司 基于历史需求数据挖掘的测试用例智能生成方法及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148595A (zh) * 2020-09-03 2020-12-29 北京科技大学 一种去除重复变更的软件变更级缺陷预测方法
CN112988606A (zh) * 2021-05-11 2021-06-18 成都爱瑞无线科技有限公司 测试用例生成方法、装置、设备及存储介质
CN112988606B (zh) * 2021-05-11 2021-07-23 成都爱瑞无线科技有限公司 测试用例生成方法、装置、设备及存储介质
CN113468053A (zh) * 2021-07-02 2021-10-01 建信金融科技有限责任公司 一种应用系统的测试方法和装置
CN113672506A (zh) * 2021-08-06 2021-11-19 中国科学院软件研究所 基于机器学习的动态比例测试用例排序选择方法及系统

Also Published As

Publication number Publication date
CN111597121B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN111597121B (zh) 一种基于历史测试用例挖掘的精准测试方法
CN111459700B (zh) 设备故障的诊断方法、诊断装置、诊断设备及存储介质
Coble et al. Identifying optimal prognostic parameters from data: a genetic algorithms approach
US20060282189A1 (en) Manufacturing control apparatus, manufacturing control method, and computer product
US20090007078A1 (en) Computer-Implemented Systems And Methods For Software Application Testing
CN111597122B (zh) 一种基于历史缺陷数据挖掘的软件故障注入方法
CN113484813B (zh) 多环境应力下的智能电表故障率预估方法及系统
KR20090001148A (ko) 가상 계측 시스템 및 가상 계측 방법
Ahmed et al. Defect reduction using Six Sigma methodology in-home appliance company: A case study
TW202133061A (zh) 需求預測方法以及需求預測裝置
CN112506757A (zh) 自动测试方法、系统、计算机设备及其介质
CN113159630B (zh) 一种用于实验室信息管理系统中维护计算公式的方法
CN110532122B (zh) 故障分析方法及系统、电子设备、存储介质
Dong et al. Prognostics 102: efficient Bayesian-based prognostics algorithm in Matlab
CN115544803B (zh) 一种变压器剩余寿命预测方法、装置、设备及存储介质
CN111881259B (zh) 一种基于文本挖掘的设备故障概率评估方法及系统
CN101118423A (zh) 虚拟测量预估模型的适用性选择方法与系统
CN113919225A (zh) 环境试验箱可靠性评估方法和系统
Fioravanti et al. A tool for process and product assessment of C++ applications
CN116453437B (zh) 显示屏模组的测试方法、装置、设备及存储介质
CN112328951A (zh) 一种分析样品的实验数据的处理方法
CN111639024B (zh) 基于特征频度数据挖掘的软件质量预测方法
KR102315398B1 (ko) 함정 전투관리체계 아키텍처 설계 장치
CN118136537A (zh) 一种光磁电半导体器件的封装测试系统与方法
CN115754866A (zh) 一种继电保护测试仪全寿命周期监测预警系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant