【技术实现步骤摘要】
一种基于多维特征的性能变更点分类方法、介质及设备
[0001]本专利技术涉及软件性能测试领域,具体涉及一种基于多维特征的性能变更点的分类方法、介质及设备。
技术介绍
[0002]通过持续集成系统,性能测试基础设施使开发人员能够对每个的版本自动执行性能测试。当代码更改到存储库时,持续集成系统将运行大量基准测试,每个测试都会产生一个或多个标量值,作为其性能的度量。以前,开发人员过去常常依靠手动观察时间序列图来发现变化点,后来基于阈值的方法取代了手动过程,但这些方法依赖于专家的主观经验。目前,基于大量的性能测试结果和积累的历史数据,已有方法通过使用基于统计和机器学习的方法实现了性能变化点的自动检测。
[0003]然而,性能变更点(Change Point)自动检测技术的主要问题是会存在大量误报,即只有少数被变更点自动检测技术检测出来的变更点会被开发人员认可。一方面,由于性能指标度量过程中必然存在的误差,性能测试结果往往并不反映“真实”的性能。因此,评估性能变化的过程不可避免地引入偏差,导致虚假警报。另一方面,为了保障项目进 ...
【技术保护点】
【技术特征摘要】
1.一种基于多维特征的性能变更点的分类方法,其特征在于包括以下步骤:S1:以软件的不同版本在不同性能测试环境配置下得到的性能测试结果组成性能测试结果序列,性能测试结果序列中以性能测试环境配置划分出结果子序列;使用变更点检测技术对各结果子序列进行检测,从中检测到出现性能变更的所有版本并构成候选性能变更点集合;每个候选性能变更点对应于一个软件版本和一种性能测试环境配置;S2:对候选性能变更点集合中的每一个候选性能变更点,分别提取环境配置维度、时间序列维度、版本维度和内容维度的特征;S3:针对候选性能变更点集合中的每一个候选性能变更点,将四个维度的特征编码为特征向量作为训练样本的输入,同时对其是否属于需要进行修复的性能变更点进行标签标注,从而构建训练样本数据;再利用得到的训练样本数据,训练随机森林模型,得到性能变更点分类模型;S4:对待分类的候选性能变更点,提取环境配置维度、时间序列维度、版本维度和内容维度的特征,再将四个维度的特征编码为特征向量输入到S3中训练得到的性能变更点分类模型中,从而对该候选性能变更点是否属于需要进行修复的性能变更点进行分类。2.根据权利要求1所述的一种基于多维特征的性能变更点的分类方法,其特征在于,所述S1中,使用的变更点检测技术为E
‑
Divisive means检测算法。3.根据权利要求1所述的一种基于多维特征的性能变更点的分类方法,其特征在于,所述S2中,对于每一个候选性能变更点,提取环境配置维度、时间序列维度、版本维度和内容维度这四个维度特征的方法如下:S21:根据当前候选性能变更点对应的性能测试环境配置,获取环境配置维度对应的特征,其包含6个子特征维度,其中:第一环境子特征为执行性能测试的项目,第二环境子特征为进行性能测试使用的线程数,第三环境子特征为性能指标的度量方法,第四环境子特征为性能测试的任务名称,第五环境子特征为性能测试的测试名称,第六环境子特征为性能测试任务的构建参数;S22:将当前候选性能变更点所在的结果子序列作为时间序列,利用时间序列特征提取方法获取时间序列维度的特征,其包含8个子特征维度,其中:第一时间子特征为时间序列穿过中线的次数,第二时间子特征为时间序列谱密度的香农熵,第三时间子特征为子时间序列的方差,第四时间子特征为时间序列两个连续滑动窗口之间的最大平均偏移,第五时间子特征为时间序列的最小
‑
最大归一化值的平均值,第六时间子特征为时间序列的的最小
‑
最大归一化值的标准差,第七时间子特征为时间序列的自相关性,第八时间子特征为子时间序列的均值的方差;所述子时间序列为所述时间序列中当前候选性能变更点到上一个候选性能变更点到之间的序列段;S23:通过分析当前候选性能变更点的版本日志中的详细信息,获取版本维度的特征,其包含3个子特征维度,其中:第一版本子特征为当前候选性能变更点的性能度量值的变化,第二版本子特征为当前版本更改的可能性,第三版本子特征为当前版本的消息中的文本内容与性能变更的相关性;S24:通过分析当前候选性能变更点对应版本的修改文件集合,获取内容维度的特征,其包含3个子特征维度,其中:第一内容子特征为版本序列与修改文件之间关联规则的置信度,第二内容子特征为修改文件中修改内容的规模,第三内容子特征为修改文件中修改内
容的演化特征。4.根据权利要求3所述的一种基于多维特征的性能变更点的分类方法,其特征...
【专利技术属性】
技术研发人员:陈洁,张孜远,俞东进,胡海洋,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。