一种软件系统功能自动化测试方法、装置及介质制造方法及图纸

技术编号:37720664 阅读:8 留言:0更新日期:2023-06-02 00:19
本发明专利技术公开了一种软件系统功能自动化测试方法、装置及介质。其中,方法包括:将待测试软件系统进行全屏显示,遍历软件系统页面所有的页面元素信息;根据页面元素信息生成软件系统的功能地图;根据预先设置的路径导航算法对功能地图进行遍历,判断待测试软件功能是否实现。现。现。

【技术实现步骤摘要】
一种软件系统功能自动化测试方法、装置及介质


[0001]本专利技术涉及自动化测试
,并且更具体地,涉及一种软件系统功能自动化测试方法、装置及介质。

技术介绍

[0002]传统的软件功能自动化测试是基于脚本录制、回放技术的,分为以下三个步骤:1.脚本录制:测试人员首先在被测试系统上运行一次需要自动化测试的全部步骤,测试工具通过记录相应页面元素ID、输入数据的方式,完成录制;2.脚本编辑:测试人员通过回放脚本、阅读代码等方式检查相应脚本流程,将被输入数据参数化,即从数据库中读取相应数据作为输入;3.进行测试:本质上为通过回放脚本完成自动化测试,如输出数据与预设数据符合,则判定为测试通过。存在以下缺点:1.需要人工执行测试、记录结果;2.受测试人员个人经验影响较大。

技术实现思路

[0003]针对现有技术的不足,本专利技术提供一种软件系统功能自动化测试方法、装置及介质。
[0004]根据本专利技术的一个方面,提供了一种软件系统功能自动化测试方法,包括:
[0005]将待测试软件系统进行全屏显示,遍历软件系统页面所有的页面元素信息;
[0006]根据页面元素信息生成软件系统的功能地图;
[0007]根据预先设置的路径导航算法对功能地图进行遍历,判断待测试软件功能是否实现。
[0008]可选地,将待测试软件系统进行全屏显示,遍历软件系统页面所有的页面元素信息的操作,包括:
[0009]将软件系统页面进行截屏,确定软件系统页面图像;
[0010]对软件系统页面图像二值化处理;
[0011]标定图像中的非页面底色像素点集,并以像素点集范围及坐标作为确定该页面内页面元素范围及坐标定位的依据;
[0012]依据页面元素坐标定位对每个页面元素范围进行截屏;
[0013]利用文字识别算法识别每个页面元素范围截屏内的信息,并与每个页面元素范围截屏及其位置组成三元组保存在数据库中;
[0014]利用文字识别算法对待测试软件系统截屏进行识别及坐标定位;
[0015]利用空心矩形框检测法遍历页面元素数据,获取空心矩形框范围及其坐标,作为空心框型候选输入区域;
[0016]利用线段检测法遍历页面元素数据,获取线段范围及其坐标,作为下划线型候选输入区域;
[0017]基于空心矩形框检测法、线段检测法遍历页面元素数据,利用输入区域检测法,获
取输入区域范围及坐标;
[0018]遍历页面元素,获取页面内有效点击区域及其坐标;
[0019]遍历页面元素、根据有效点击区域与页面间跳转关系、页面输入区域,生成软件的功能地图,其中有效点击跳转区域作为地图的“地点”,页面输入区域输入的内容作为两个“地点”间的道路名称。
[0020]可选地,遍历页面元素,获取页面内有效点击区域及其坐标的操作,包括:
[0021]对点击前后的两个页面截屏图片进行相似度比较,
[0022]遍历所述页面信息热点数据信息的子集,模拟鼠标单击,截图比较所述软件系统在点击前后截屏之间的差异,若差异集中在像素值大于设定阈值的像素连通子集内,则判定该页面信息热点数据信息的子集为可点击区域。系统页面下拉框、弹出框作为新页面处理。
[0023]利用所述文字识别算法对所述页面有效点击区域进行文字识别,确定所述页面可点击区域的标签,在文字识别失败的情况下,采用该输有效点击区域截图作为标签。
[0024]可选地,基于空心矩形框检测法、线段检测法遍历生成页面元素数据,利用输入区域检测法,获取输入区域范围及坐标的操作,包括:
[0025]遍历所述页面信息热点数据信息的子集,模拟鼠标单击后发送固定字符串,并再次截图比较所述软件系统页面前后两次截屏之间的差异,若差异集中在相应的页面信息热点数据信息的子集内,并使用文字识别算法识别差异部分与发送的固定字符串相似程度超过阈值,则判定该页面信息热点数据信息的子集为页面输入区域;
[0026]可选地,根据元素信息生成软件系统的功能地图的操作,包括:
[0027]将软件系统首页内的各页面元素信息作为功能地图的起点集合,并将首页内的各个页面元素的标签作为起点名称;
[0028]根据软件系统的全部页面的页面元素信息,将点击次数作为各页面之间元素的道路连通距离;
[0029]根据功能地图的起点、起点名称以及页面之间元素的道路连通距离,生成功能地图;
[0030]根据页面有效点击区域所附带的输入信息,作为两个不同页面间页面元素间的道路名称。
[0031]对于页面文字识别结果中非点击区域、输入区域的部分,作为该页面的输出信息处理。
[0032]可选地,根据预先设置的路径导航算法对功能地图进行遍历,判断待测试软件功能是否实现的操作,包括:
[0033]利用深度有限搜索算法遍历功能地图的路径全集,在待测试软件两个功能点之间的路径包含在路径全集的情况下,确定待测试软件功能已经实现。
[0034]根据本专利技术的另一个方面,提供了一种软件系统功能自动化测试装置,包括:
[0035]软件功能遍历模块,用于将待测试软件系统进行全屏显示,遍历软件系统页面所有的页面元素信息;
[0036]软件地图生成模块,用于根据页面元素信息生成软件系统的功能地图;
[0037]软件功能判断模块,用于根据预先设置的路径导航算法对功能地图进行遍历,判
断待测试软件功能是否实现。
[0038]根据本专利技术的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本专利技术上述任一方面所述的方法。
[0039]根据本专利技术的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本专利技术上述任一方面所述的方法。
[0040]从而,本申请提供的软件系统功能自动化测试方法及装置,通过自动建立软件功能地图,实现对软件系统的自认知。通过功能测试用例与软件功能地图的比对可判断功能是否实现,全过程只需极少人工参与。测试质量与算法强相关,不受人工影响。无需标注数据、训练模型等过程,节约大量人工和硬件成本。
附图说明
[0041]通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:
[0042]图1是本专利技术一示例性实施例提供的软件系统功能自动化测试方法的流程示意图;
[0043]图2a是本专利技术一示例性实施例提供的4

连通的二值图像示意图;
[0044]图2b是本专利技术一示例性实施例提供的软件系统功能自动化测试方法的另一流程示意图;
[0045]图3是本专利技术一示例性实施例提供的功能地图的示意图;
[0046]图4是本专利技术一示例性实施例提供的软件系统功能自动化测试装置的结构示意图;
[0047]图5是本专利技术一示例性实施例提供的电子设备的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件系统功能自动化测试方法,其特征在于,包括:将待测试软件系统进行全屏显示,遍历所述软件系统页面所有的页面元素信息;根据所述页面元素信息生成所述软件系统的功能地图;根据预先设置的路径导航算法对所述功能地图进行遍历,判断待测试软件功能是否实现。2.根据权利要求1所述的方法,其特征在于,将待测试软件系统进行全屏显示,遍历所述软件系统页面所有的页面元素信息的操作,包括:将所述软件系统页面进行截屏,确定软件系统页面图像;对所述软件系统页面图像二值化处理;标定图像中的非页面底色像素点集,并以像素点集范围及坐标作为确定该页面内页面元素范围及坐标定位的依据;依据页面元素坐标定位对每个页面元素范围进行截屏;利用文字识别算法识别每个页面元素范围截屏内的信息,并与每个页面元素范围截屏及其位置组成三元组保存在数据库中;利用文字识别算法对待测试软件系统截屏进行识别及坐标定位;利用空心矩形框检测法遍历所述页面元素数据,获取空心矩形框范围及其坐标,作为空心框型候选输入区域;利用线段检测法遍历所述页面元素数据,获取线段范围及其坐标,作为下划线型候选输入区域;基于空心矩形框检测法、线段检测法遍历所述页面元素数据,利用输入区域检测法,获取输入区域范围及坐标;遍历所述页面元素,获取页面内有效点击区域及其坐标;遍历所述页面元素、根据有效点击区域与页面间跳转关系、页面输入区域,生成软件的功能地图,其中有效点击跳转区域作为地图的“地点”,页面输入区域输入的内容作为两个“地点”间的道路名称。3.根据权利要求2所述的方法,其特征在于,遍历所述页面元素,获取页面内有效点击区域及其坐标的操作,包括:遍历所述页面信息热点数据信息的子集,模拟鼠标单击,截图比较所述软件系统在点击前后截屏之间的差异,若差异集中在像素值大于设定阈值的像素连通子集内,则判定该页面信息热点数据信息的子集为可点击区域。系统页面下拉框、弹出框作为新页面处理。利用所述文字识别算法对所述页面有效点击区域进行文字识别,确定所述页面可点击区域的标签,在文字识别失败的情况下,采用该输有效点击区域截图作为标签。4.根据权利要求2所述的方法,其特征在于,基于空心矩形框检测法、线段检测法遍历所述页面元素数据,利用输入区域检...

【专利技术属性】
技术研发人员:张鑫李哲李凌翟天一底晓梦黄天航
申请(专利权)人:中国电力科学研究院有限公司
类型:发明
国别省市:

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

1