一种提升交付质效的自动化测试方法及装置制造方法及图纸

技术编号:39329968 阅读:8 留言:0更新日期:2023-11-12 16:06
本发明专利技术公开了一种提升交付质效的自动化测试方法,包括:通过模拟退火算法自动生成分支覆盖测试用例;使用Python的Pandas库对测试数据和执行结果进行分析和可视化;利用缺陷管理系统实现对缺陷的自动化跟踪和修复,对数据进行完整的分析和展示。本发明专利技术通过测试自动化用例生成、用例数据及结果分析、自动化缺陷管理三部分,将数据可视化,帮助研发人员评估代码和系统各项指标,并对优化测试策略和测试方案提供数据支撑。案提供数据支撑。案提供数据支撑。

【技术实现步骤摘要】
一种提升交付质效的自动化测试方法及装置


[0001]本专利技术涉及自动化测试
,尤其涉及一种提升交付质效的自动化测试方法及装置。

技术介绍

[0002]近年来,随着国网公司能源互联网云平台的蓬勃发展,业务系统业务量不断增大,系统代码量提升,研发和测试人员手工编写测试用例需要耗费大量的时间和资源,对源代码编写测试用例的耗能较大,对用例执行结果、缺陷管理等缺少完整的数据分析及展示。
[0003]现有的一些专利和论文无法改善研发和测试人员手工编写测试用例需要耗费大量的时间和资源,对源代码编写测试用例的耗能较大,对用例执行结果、缺陷管理等缺少完整的数据分析及展示的现状。

技术实现思路

[0004]本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
[0005]鉴于上述现有存在的问题,提出了本专利技术。
[0006]因此,本专利技术提供了一种提升交付质效的自动化测试方法及装置解决现有手工编写测试用例需要耗费大量的时间和资源,对源代码编写测试用例的耗能较大,对用例执行结果、缺陷管理等缺少完整的数据分析及展示的问题。
[0007]为解决上述技术问题,本专利技术提供如下技术方案:
[0008]第一方面,本专利技术提供了一种提升交付质效的自动化测试方法,包括:
[0009]通过模拟退火算法生成针对代码分支覆盖的测试用例;
[0010]使用编程语言工具中的分析库对测试数据和执行结果进行分析和可视化;
[0011]利用缺陷管理系统实现对缺陷的自动化跟踪和修复,对数据进行完整的分析和展示。
[0012]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0013]所述通过模拟退火算法生成针对代码分支覆盖的测试用例,通过模拟物理退火过程来搜索最优的输入序列,在大规模搜索空间中找到全局最优解,覆盖更多的代码分支情况。
[0014]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0015]所述采用模拟退火算法自动生成分支覆盖测试用例,包括以下步骤:
[0016]将代码文件使用控制流图生成工具转换为控制流图;
[0017]将控制流图转换为状态空间,其中每个状态表示控制流图中的一个基本块,状态空间中的每个状态都与控制流图中的一个基本块相对应;
[0018]定义目标函数、初始解、邻域函数及退火策略;
[0019]使用模拟退火算法进行迭代搜索,直到满足停止条件。
[0020]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0021]所述目标函数是用于评估测试用例的质量的函数,将控制流图中所有分支的覆盖情况初始化为未覆盖;
[0022]对于测试用例集合中的每个测试用例,模拟运行程序,记录每个分支的覆盖情况;
[0023]统计覆盖的分支数,返回未覆盖分支数的数量作为目标函数值;
[0024]所述初始解,采用贪心策略,选取当前的最优解作为初始解,增加邻域函数的搜索空间;
[0025]所述邻域函数用于在状态空间中搜索相邻的解,在分支覆盖测试用例中,邻域函数定义为交换测试用例序列TCList中的两个测试用例,
[0026]随机选择一个测试用例TC;
[0027]随机选择测试用例中的一个条件表达式,将原始取值修改为一个新的取值;
[0028]返回修改后的测试用例作为新的邻居解;
[0029]所述退火策略包括初始温度、冷却率和停止条件;
[0030]所述初始温度确定了探索状态空间的可能性;
[0031]所述冷却率决定了温度如何随着时间的推移降低;
[0032]所述停止条件是达到一定的迭代次数或者达到目标函数的最优解OptS。
[0033]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0034]所述使用模拟退火算法进行迭代搜索,直到满足停止条件,包括以下步骤:
[0035]初始化一个随机输入序列,并将其作为当前最优解OptS;
[0036]在每次迭代中,从当前解中随机选择一个邻居解NS,根据概率接受该邻居解;
[0037]如果接受邻居解,则作为新解,在下一次迭代中继续搜索;
[0038]当达到停止条件时,输出最优解OptS,即能够覆盖程序中所有执行路径所需的最小测试用例数;
[0039]在测试用例生成中,使用每个搜索到的输入序列来执行程序并检查输出是否正确;
[0040]如果正确,将该输入序列作为一个有效的测试用例,否则需要继续搜索;
[0041]针对自动生成测试数据,使用数据生成器Mockaroo生成测试数据,创建数据模板后,定义字段和数据类型,为每个字段定义规则和参数,为生成结果定义数据量和格式,将测试数据导出维护到数据库保存。
[0042]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0043]使用编程语言工具中的分析库对测试数据和执行结果进行分析和可视化,使用统计特征、时间序列、关联规则对测试数据及结果进行分析,所述使用统计特征分析测试数据的中心趋势、离散程度和分布情况,对测试用例、覆盖率、缺陷、性能四个方面绘制对应的图表;
[0044]测试用例分析方面,统计执行情况、测试结果、错误分布,用于确定覆盖率和测试数据的质量;
[0045]覆盖率分析方面,统计分支覆盖率,用于确定用例的覆盖情况和可靠性;
[0046]缺陷统计方面,统计缺陷类型、数量、分布、解决情况,用于了解测试的质量和效
率;
[0047]性能测试数据分析方面,统计用例执行时间、占用内存、负载情况、响应时间,用于评估系统的性能和稳定性。
[0048]所述使用时间序列分析对测试数据、测试用例和测试结果绘制折线图和面积图进行趋势分析和周期性分析;
[0049]所述使用关联规则分析,对输入的测试数据、测试结果、缺陷建立关联规则,绘制树状图得到测试数据之间的关系和依赖关系,优化测试策略和测试方案。
[0050]作为本专利技术所述的提升交付质效的自动化测试方法的一种优选方案,其中:
[0051]利用缺陷管理系统实现对缺陷的自动化跟踪和修复,对缺陷描述、状态、归属人、类型、任务流转记录,以及关联的测试用例状态变更,对缺陷数据进行统计分析,对测试用例进行时间序列分析,对缺陷、用例、归属人、提单人数据进行关联分析并输出图表展示。
[0052]第二方面,本专利技术提供了一种提升交付质效的自动化测试系统,包括:
[0053]生成模块,用于通过模拟退火算法生成针对代码分支覆盖的测试用例;
[0054]分析模块,用于使用编程语言工具中的分析库对测试数据和执行结果进行分析和可视本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升交付质效的自动化测试方法,其特征在于,包括:通过模拟退火算法生成针对代码分支覆盖的测试用例;使用编程语言工具中的分析库对测试数据和执行结果进行分析和可视化;利用缺陷管理系统实现对缺陷的自动化跟踪和修复,对数据进行完整的分析和展示。2.如权利要求1所述的提升交付质效的自动化测试方法,其特征在于:所述采用模拟退火算法针对代码分支覆盖的测试用例,通过模拟物理退火过程来搜索最优的输入序列,在大规模搜索空间中找到全局最优解,覆盖更多的代码分支情况。3.如权利要求1或2所述的提升交付质效的自动化测试方法,其特征在于:所述采用模拟退火算法针对代码分支覆盖的测试用例,包括以下步骤:将代码文件使用控制流图生成工具转换为控制流图;将控制流图转换为状态空间,其中每个状态表示控制流图中的一个基本块,状态空间中的每个状态都与控制流图中的一个基本块相对应;定义目标函数、初始解、邻域函数及退火策略;使用模拟退火算法进行迭代搜索,直到满足停止条件。4.如权利要求3所述的提升交付质效的自动化测试方法,其特征在于:所述目标函数是用于评估测试用例的质量的函数,将控制流图中所有分支的覆盖情况初始化为未覆盖;对于测试用例集合中的每个测试用例,模拟运行程序,记录每个分支的覆盖情况;统计覆盖的分支数,返回未覆盖分支数的数量作为目标函数值;所述初始解,采用贪心策略,选取当前的最优解作为初始解,增加邻域函数的搜索空间;所述邻域函数用于在状态空间中搜索相邻的解,在分支覆盖测试用例中,邻域函数定义为交换测试用例序列TCList中的两个测试用例;随机选择一个测试用例TC;随机选择测试用例中的一个条件表达式,将原始取值修改为一个新的取值;返回修改后的测试用例作为新的邻居解;所述退火策略包括初始温度、冷却率和停止条件;所述初始温度确定了探索状态空间的可能性;所述冷却率决定了温度如何随着时间的推移降低;所述停止条件是达到一定的迭代次数或者达到目标函数的最优解OptS。5.如权利要求4所述的提升交付质效的自动化测试方法,其特征在于:所述使用模拟退火算法进行迭代搜索,直到满足停止条件,包括以下步骤:初始化一个随机输入序列,并将其作为当前最优解OptS;在每次迭代中,从当前解中随机选择一个邻居解NS,根据概率接受该邻居解;如果接受邻居解,则作为新解,在下一次迭代中继续搜索;当达到停止条件时,输出最优解OptS,即能够覆盖程序中所有执行路径所需的最小测试用例数;在测试用例生成中,使用每个搜索到的输入序列来执行程序并检查输...

【专利技术属性】
技术研发人员:张晓亮吕舜铭段嘉琦韩淑宇朱远万明邱玉祥刘军张华锋魏芃万国栋高建红李宁远
申请(专利权)人:南京南瑞信息通信科技有限公司
类型:发明
国别省市:

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

1