掌桥专利:专业的专利平台
掌桥专利
首页

基于缺陷增长的测试分析方法及系统

文献发布时间:2023-06-19 11:11:32


基于缺陷增长的测试分析方法及系统

技术领域

本发明涉及互联网开发领域,可应用于软件开发和金融领域,尤指一种基于缺陷增长的测试分析方法及系统。

背景技术

随着互联网的飞速发展,互联网产品的需求量也呈现出指数型增长,对产品质量的把关也越发关键,在这个大环境下,测试作为产品质量把关的最后一道门槛变得尤为重要。同时,对于一个项目,在人力、物力极为有限的前提下,很难保证开发团队的绝对稳定,会出现人员调整(新增或调离)、离职等情况,这些变动在一定程度上会制约甚至严重影响测试进度。在这个背景下,如何把控产品测试充分性、兼顾人员调整、掌控测试进度,在很大程度上决定了产品上线进度以及产品质量。

目前,判断测试充分性主要依托于人工经验代码覆盖率,并借助产品经理和测试经理已有的产品开发测试经验,对当前测试进度作一个客观评估,来判断产品的测试充分性。还有一种较为流行的测试充分性方法是基于Gompertz模型对已进入测试阶段的产品进行历史数据分析,通过使用最小二乘法进行潜在问题数量评估求解,并根据计算求解出来的K、a、b的值,对未来一段时间内预测测试充分性,可以达到相对较好的测试充分性预测结果。

通过人工方式对产品测试充分性判断的过程中,往往受限于测试人员和产品经理的累计经验,在对产品的全局认识程度不足时很容易造成误判和错判。而使用传功的Gompertz模型进行评估时,要求开发团队人员构成必须做到相对稳定,且不会出现大规模调整,如果发生大量的人员置换,预测结果便会出现大幅度偏差。

发明内容

本发明目的在于提供一种基于缺陷增长的测试分析方法及系统,通过对人员开发测试的历史信息构建人员变更神经网络,在人员出现变动时,构建变更人员的偏差值并加入到原有Gompertz模型进行偏差修正,充分考虑到人员变动对整体项目开发的进度影响,以此解决原模型无法在人员变动的情况下进行充分性预测的问题。

为达上述目的,本发明所提供的基于缺陷增长的测试分析方法,所述方法包含:获取待测数据的关联人员的特征信息,根据所述特征信息构建特征矩阵;根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构;利用所述二维平面数据结构通过神经网络学习算法构建偏差预测模型;获取待测数据的关联人员的变更信息,根据所述变更信息通过所述偏差预测模型计算获得偏差数据;通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果。

在上述基于缺陷增长的测试分析方法中,优选的,根据所述特征信息构建特征矩阵包含:根据所述特征信息按预设周期进行累加计算获得对应的历史数据表;通过DataFrame矩阵变换将所述历史数据表中空数据和超出阈值的异常数据剔除处理后获得特征矩阵。

在上述基于缺陷增长的测试分析方法中,优选的,根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构包含:根据预设周期对所述特征矩阵进行切片处理,并以关联人员的人员信息为构建维度生成二维平面数据结构。

在上述基于缺陷增长的测试分析方法中,优选的,根据所述变更信息通过所述偏差预测模型计算获得偏差数据包含:根据所述变更信息和所述偏差预测模型分别计算当前所述待测数据的所有关联人员所对应的偏差值;将所述偏差值累加获得所述偏差数据。

在上述基于缺陷增长的测试分析方法中,优选的,通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果包含:将所述偏差数据带入所述缺陷增长偏差修正模型中,由所述缺陷增长偏差修正模型通过最小二惩罚进行模型参数值求解获得待测数据的分析结果。

本发明还提供一种基于缺陷增长的测试分析系统,所述系统包含特征转换模块、预处理模块、构建模块、计算模块和分析模块;所述特征转换模块用于获取待测数据的关联人员的特征信息,根据所述特征信息构建特征矩阵;所述预处理模块用于根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构;所述构建模块用于利用所述二维平面数据结构通过神经网络学习算法构建偏差预测模型;所述计算模块用于获取待测数据的关联人员的变更信息,根据所述变更信息通过所述偏差预测模型计算获得偏差数据;所述分析模块用于通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果。

在上述基于缺陷增长的测试分析系统中,优选的,所述特征转换模块包含:根据所述特征信息按预设周期进行累加计算获得对应的历史数据表;通过DataFrame矩阵变换将所述历史数据表中空数据和超出阈值的异常数据剔除处理后获得特征矩阵。

在上述基于缺陷增长的测试分析系统中,优选的,所述预处理模块包含:根据预设周期对所述特征矩阵进行切片处理,并以关联人员的人员信息为构建维度生成二维平面数据结构。

在上述基于缺陷增长的测试分析系统中,优选的,所述计算模块包含:根据所述变更信息和所述偏差预测模型分别计算当前所述待测数据的所有关联人员所对应的偏差值;将所述偏差值累加获得所述偏差数据。

在上述基于缺陷增长的测试分析系统中,优选的,所述分析模块包含:将所述偏差数据带入所述缺陷增长偏差修正模型中,由所述缺陷增长偏差修正模型通过最小二惩罚进行模型参数值求解获得待测数据的分析结果。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。

本发明的有益技术效果在于:借助神经网络对已有的人员参数信息进行拟合数据分析,通过进行可靠性指标偏差修正,减小由人员调整等外部因素带来的可靠性指标误差,提高预测精度;本模型在原有缺陷增长预测模型中增加偏差修正因子d,并使用双曲正切函数作为激活函数,保证在未出现人员变更的条件下不对原有模型预测产生影响;克服了现有分析模型中无法结合人员变动进行预测分析的局限性,准确获取不同人员调整对整体模型带来的客观影响,全面提升模型预测的准确性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1A为本发明一实施例所提供的基于缺陷增长的测试分析方法的流程示意图;

图1B为本发明一实施例所提供的基于缺陷增长的测试分析方法的原理示意图;

图2为本发明一实施例所提供的人员信息采集结构图;

图3为本发明一实施例所提供的人员信息时序化示意图;

图4为本发明一实施例所提供的人员变更卷积神经网络模型结构图;

图5为本发明一实施例所提供的人员变更校正模型预测结构示意图;

图6为本发明一实施例所提供的测试充分性分析流程图;

图7为本发明一实施例所提供的基于缺陷增长的测试分析系统的结构示意图;

图8为本发明一实施例所提供的电子设备的结构示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

请参考图1A所示,本发明所提供的基于缺陷增长的测试分析方法,所述方法包含:

S101获取待测数据的关联人员的特征信息,根据所述特征信息构建特征矩阵;

S102根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构;

S103利用所述二维平面数据结构通过神经网络学习算法构建偏差预测模型;

S104获取待测数据的关联人员的变更信息,根据所述变更信息通过所述偏差预测模型计算获得偏差数据;

S105通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果。

如图1B所示,在实际工作中整个预测模型分两部分,第一部分为偏差预测模型如人员变更增长偏差模型(后续简称为人员变更模型),第二部分为缺陷增长偏差修正模型。其中,人员变更模型包括构建特征矩阵、数据预处理、卷积神经网络建模和模型训练4部分。缺陷增长偏差修正模型基于人员变更模型输出的修正偏差进行测试充分性预测,修正偏差为变更人员偏差累加和,修正激活函数使用tanh函数。各步骤详细流程将在后续实施例中逐一说明,在此就不再一一详述。

在上述实施例中,根据所述特征信息构建特征矩阵包含:根据所述特征信息按预设周期进行累加计算获得对应的历史数据表;通过DataFrame矩阵变换将所述历史数据表中空数据和超出阈值的异常数据剔除处理后获得特征矩阵。具体的,请结合参考图1B所示的步骤S201所示,在实际工作中,可采集开发测试人员的历史开发信息作为人员特征信息,采集内容主要包括员工日编码量、本周累计编码量、单元测试日编码量、本周累计测试编码量、测试案例日编写量、测试案例本周编写量、周测试脚本执行率、周测试案例执行通过率、编码人员工作年限、编码人员文化程度、编码人员所处岗位级别、编码人员日工作时长、本周预设完成进度等要素,历史信息采集时间维度为日,累计统计均按周进行累加计算,构建不同人员的历史数据表,作为初始样本,数据中需要进行数据过滤,通过DataFrame矩阵变换将存在空数据、异常数据(超出给定阈值,如开发年限>30,测试脚本编码量<0)进行剔除处理,并将过滤后的数据集作为标准训练集。

在本发明一实施例中,根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构包含:根据预设周期对所述特征矩阵进行切片处理,并以关联人员的人员信息为构建维度生成二维平面数据结构。具体的,请结合参考图1B所示的步骤S202所示,人员编码开发是一个依照时间顺序完成的工作任务,工作内容一般以周为考核周期,人员历史数据表按自然周期进行切片处理,即员工甲一月有31条工作记录,按自然月拆分可拆出4组周期开发信息。将已构建的标准训练集按人员维度进行拆解,构建不同人员的周期开发标准数据集,并将构建数据集作为人员变更模型的输入数据即二维平面数据结构。

在本发明一实施例中,图1B中的步骤S203在实际工作中可包含构建模型和训练模型两部分,其中:

构建模型包含:

构建卷积神经网络,该配置模型为人员个性化模型,即对不同人员进行统计模型分析,模型的数据输入维度为7(人员考核周期)*13(特征维度),构建卷积神经网络模型结构如下:

第一层:卷积层:卷积核尺寸:3*3,激活函数使用Sigmoid函数;

第二层:池化层,激活函数使用Relu函数进行平滑处理;

第三层:卷积层:卷积核尺寸:2*2,激活函数使用Sigmoid函数;

第四次:池化层,激活函数使用Relu函数进行平滑处理;

第五层:全连接层,该层神经元数设定为10;

训练模型包含:

将前述构建的时序化处理数据作为模型输入,输出为该人员对应的考核周期内完成测试任务质量的偏差程度(即真实完成进度与预设完成进度的偏差值)构建人员变更模型。其中,训练批次(batch_size)设为20,卷积层Padding模式选择SAME方式进行0对称填充,使用Adam梯度下降算法进行自适应学习率调整训练模型。

在本发明一是实施例中,根据所述变更信息通过所述偏差预测模型计算获得偏差数据包含:根据所述变更信息和所述偏差预测模型分别计算当前所述待测数据的所有关联人员所对应的偏差值;将所述偏差值累加获得所述偏差数据。其中,通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果可包含:将所述偏差数据带入所述缺陷增长偏差修正模型中,由所述缺陷增长偏差修正模型通过最小二惩罚进行模型参数值求解获得待测数据的分析结果。

具体的,如图1B中步骤S204至S207所示,在实际工作中可获取修正偏差值,如果在测试阶段存在人员变更情况,则需将不同人员最近一考核周期内的测试开发情况传入对应的人员变更模型,生成对应的偏差值(d1,d2,d3,...,dn),将偏差值进行累加汇总(d=d1+d2+...+dn)作为整体预测偏差值d传入缺陷增长偏差修正模型。其后,当存在人员变更调整,则将变更人员通过人员变更模型计算生成的偏差汇总值带入缺陷增长偏差修正Gompertz模型d中,缺陷增长偏差修正模型Gompertz:Y=K*a^(b^t)+tanh(d),使用tanh作为偏差修正激活函数。如无变更的情况出现,则将d设置为0,tanh(0)=0,即不生成偏差修正值;Gompertz偏差修正模型使用最小二乘法进行模型参数值求解K,a,b值完成模型预测。

为便于更清楚的理解本发明所提供的上述实施例,以下以实际工作中具体实施方式为例,对上述实施例做举例说明,本领域相关技术人员当可知,该实例并不对本发明做任何限制。

如图2所示,在实际工作中关联人员信息采集可包含:员工日编码量、本周累计编码量、单元测试日编码量、本周累计测试编码量、测试案例日编写量、测试案例本周编写量、周测试脚本执行率、周测试案例执行通过率、编码人员工作年限、编码人员文化程度、编码人员所处岗位级别、编码人员日工作时长、本周预设完成进度共计13个考核特征信息。在请参考图3所示,将已有的编码人员对应的历史测试开发数据按考核周期进行拆解,构建切片周期维度数据作为人员变更模型的输入,其中,统一认证号为不同开发人员的唯一身份认证,即为构建不同人员模型的唯一标识。文化程度、所处岗位级别等均为非数字格式,但该类特征均有选取范围,如文化程度包括本科、研究生、博士等,使用sktlearn中的one-hot编码将文本信息转化为数值信息,并替换原有特征作为模型传入参数进行训练。考核周期对应的任务完成量和最初设定完成任务的偏差作为该统计周期下的偏差值,对应模型训练集的标签信息。

关于卷积神经网络模型可参考图4所示,时序周期人员历史向量作为模型的数据,即图示单位考核周期数据,使用不同卷积核(图4示给出3组卷积,5*5,3*3,2*2)对输入数据进行特征提取,并通过池化层完成下采样,达到降维目的,去除冗余信息,简化网络复杂度,最后将池化层生成的数据通过全连接层完成回归处理,其中,卷积层使用激活函数ReLU修正线性单元作为激活函数,可有效避免梯度爆炸和梯度消失问题。在人员变更过后,可参考图5所示,缺陷增长模型通过人员变更模型校正后预测结构示意图,当人员出现变动时,根据人员变更模型预测对应人员偏差信息d,将d带入原Gompertz偏差修正模型中,使用tanh()作为偏差修正激活函数,Y为预测模型可靠性指标,K为测试时间趋于无线大时Y的极值,K*a为软件测试初始值,b为形状参数,当b越大,可靠性增长越慢,反之,可靠性增长越快。

整体上,请参考图6所示,本发明所提供的基于缺陷增长的测试分析方法的使用流程如下:

S601:将已进入测试的应用,历史测试缺陷问题发现数作为缺陷增量模型的已知数据传入模型。

S602:判断是否有存在人员变更情况,如果无人员变更,则偏差因子d设为0,如果有变更,则需要人员变更模型生成对应的偏差因子d1,d2,...,dn的值。

S603:在存在人员变更的情况下,需将近期变更人员的开发测试历史报表数据进行数字化编码后作为输入,传入人员变更模型中。

S604:在变更模型中,通过对已有近期调整人员数据进行预测生成累计偏差值d(d=d1+d2+...+dn)。

S605:将偏差值作为缺陷增长模型中校正因子传入tanh(d)中。

S606:将时序历史累计发现缺陷问题数传入公式,通过使用最小二乘法计算K,a,b值,并完成测试充分性问题预测。

请参考图7所示,本发明还提供一种基于缺陷增长的测试分析系统,所述系统包含特征转换模块、预处理模块、构建模块、计算模块和分析模块;所述特征转换模块用于获取待测数据的关联人员的特征信息,根据所述特征信息构建特征矩阵;所述预处理模块用于根据预设周期对所述特征矩阵进行特征值时序化结构处理构建二维平面数据结构;所述构建模块用于利用所述二维平面数据结构通过神经网络学习算法构建偏差预测模型;所述计算模块用于获取待测数据的关联人员的变更信息,根据所述变更信息通过所述偏差预测模型计算获得偏差数据;所述分析模块用于通过所述偏差数据和预设的缺陷增长偏差修正模型计算获得待测数据的分析结果。

在上述实施例中,所述特征转换模块包含:根据所述特征信息按预设周期进行累加计算获得对应的历史数据表;通过DataFrame矩阵变换将所述历史数据表中空数据和超出阈值的异常数据剔除处理后获得特征矩阵。在另一实施例中,所述预处理模块包含:根据预设周期对所述特征矩阵进行切片处理,并以关联人员的人员信息为构建维度生成二维平面数据结构。

在本发明一实施例中,所述计算模块包含:根据所述变更信息和所述偏差预测模型分别计算当前所述待测数据的所有关联人员所对应的偏差值;将所述偏差值累加获得所述偏差数据。在另一是实施例中,所述分析模块包含:将所述偏差数据带入所述缺陷增长偏差修正模型中,由所述缺陷增长偏差修正模型通过最小二惩罚进行模型参数值求解获得待测数据的分析结果。

本发明的有益技术效果在于:借助神经网络对已有的人员参数信息进行拟合数据分析,通过进行可靠性指标偏差修正,减小由人员调整等外部因素带来的可靠性指标误差,提高预测精度;本模型在原有缺陷增长预测模型中增加偏差修正因子d,并使用双曲正切函数作为激活函数,保证在未出现人员变更的条件下不对原有模型预测产生影响;克服了现有分析模型中无法结合人员变动进行预测分析的局限性,准确获取不同人员调整对整体模型带来的客观影响,全面提升模型预测的准确性。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。

如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部件,可以参考现有技术。

如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于缺陷增长的测试分析方法及系统
  • 大口径光学元件表面缺陷增长分析方法、系统、装置
技术分类

06120112837309