一种系统画面自动化测试方法及系统与流程

文档序号:28918093发布日期:2022-02-16 12:01阅读:72来源:国知局
一种系统画面自动化测试方法及系统与流程

1.本发明属于软件测试领域,尤其涉及一种系统画面自动化测试方法及系统。


背景技术:

2.软件系统升级后,新旧系统的画面变化较多,单纯依靠人力进行比较,费时费力,而通过计算机进行对比,由于截取出的目标图片会出现抖动、字体粗细不一致、行间距变化等差异,传统基于图片像素点rgb值比较,容易出现误判。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种系统画面自动化测试方法及系统,用于解决现有系统图片比对易出现误判的问题。
4.在本发明实施例的第一方面,提供了一种系统画面自动化测试方法,包括:
5.获取待测试新系统目标代码,根据目标代码中的关键字和方法名称,自动生成测试用例和测试脚本;
6.执行所述测试脚本分别对新、旧系统画面功能测试,截取系统画面,将截取图片分别保存至对应的目标文件夹,并标注图片名称;
7.对目标文件夹中的预比对图片进行预处理后,提取图片特征,并匹配图片特征点;
8.其中,通过surf算法提取图片特征点,并基于特征点间的欧式距离计算特征点匹配度;
9.将图片比对结果保存至指定文件夹,并生成测试用例报告。
10.在本发明实施例的第二方面,提供了一种用于系统画面自动化测试的系统,包括:
11.获取模块,用于获取待测试新系统目标代码,根据目标代码中的关键字和方法名称,自动生成测试用例和测试脚本;
12.画面截取模块,用于执行所述测试脚本分别对新、旧系统画面功能测试,截取系统画面,将截取图片分别保存至对应的目标文件夹,并标注图片名称;
13.特征匹配模块,用于对目标文件夹中的预比对图片进行预处理后,提取图片特征,并匹配图片特征点;
14.其中,通过surf算法提取图片特征点,并基于特征点间的欧式距离计算特征点匹配度;
15.结果生成模块,用于将图片比对结果保存至指定文件夹,并生成测试用例报告。
16.在本发明实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。
17.在本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
18.本发明实施例中,通过截取新旧软件系统测试画面,并基于surf算法、特征点匹配度等,进行特征提取比对得到比对结果,从而可以实现系统画面的自动化测试,提高测试效率,并降低误判概率,减少目标图片细微差异带来的影响。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
20.图1为本发明一个实施例提供的一种系统画面自动化测试方法的流程示意图;
21.图2为本发明一个实施例提供的一种系统画面自动化测试方法的另一流程示意图;
22.图3为本发明一个实施例提供的一种用于系统画面自动化测试的系统结构示意图;
23.图4为本发明的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
25.应当理解,本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
26.请参阅图1,本发明实施例提供的一种系统画面自动化测试方法的流程示意图,包括:
27.s101、获取待测试新系统目标代码,根据目标代码中的关键字和方法名称,自动生成测试用例和测试脚本;
28.软件系统更新后,需要对更新部分代码进行测试。具体根据待测试软件中代码的关键字和方法,自动生成相应的测试用例和脚本,通过用例和脚本,对新、旧系统画面功能进行测试。
29.s102、执行所述测试脚本分别对新、旧系统画面功能测试,截取系统画面,将截取图片分别保存至对应的目标文件夹,并标注图片名称;
30.所述测试脚本为根据新系统目标代码中关键字和方法名,自动生成的测试脚本。
31.先执行旧系统的测试脚本,画面功能自动测试,自动抓拍系统画面,将图片保存到指定文件夹(old)下标注图片名称;再执行新系统测试脚本,画面功能自动测试,自动抓拍系统画面,将图片保存到指定文件夹(new)下标注图片名称。其中,新旧系统相同功能界面,
图片名称一致。
32.目标文件夹为新旧系统测试对应的两个文件夹,两个文件夹在同一路径下,文件夹中截取的图片名称相同。
33.s103、对目标文件夹中的预比对图片进行预处理后,提取图片特征,并匹配图片特征点;
34.所述预比对图片为新旧系统截取的图片,图片名称相同,存放于不同文件夹中。所述预处理用于对图片进行灰度转换、滤波等,以便于图片特征提取,并减少干扰因素对特征匹配产生影响。
35.具体的,将两张图片转换为灰度图,并对转换后的图片进行方形滤波,通过harris角点检测算法去除图片边缘。
36.所述harris角点检测算法是通过一个固定窗口在图像上滑动,根据滑动前后像素灰度变化程度,检测窗口中的角点。基于角点检测可以快速进行特征点提取。
37.其中,通过surf算法提取图片特征点,并基于特征点间的欧式距离计算特征点匹配度;
38.所述surf(speeded up robust feature)算法采用hessian矩阵(海森矩阵)实现。具体的,基于海森矩阵计算图片中每个像素点在xy方向上的二阶偏导数,计算图片xy方向的导数;当海森矩阵判别式取得局部极值,则判定当前点为局部区域内的最亮点或最暗点,并将当前点作为局部特征点。
39.优选的,通过lowe's算法检测筛选不同阈值范围内的特征匹配点。所述lowe's算法用于筛选特征点中的优秀匹配点,进行特征匹配。
40.通过计算两个特征点间的欧式距离可以确定特征点匹配度,当欧氏距离越短,表示两个特征点的匹配度越好,当欧式距离小于预定阈值,则可以判定为匹配成功。
41.s104、将图片比对结果保存至指定文件夹,并生成测试用例报告。
42.所述测试用例报告即软件测试报告,一般包含有软件测试信息,如日期、开发人员、测试人员、测试类型、测试工具、测试用例、测试结果等。
43.其中,在比对图片中存在差异的位置标注红框,并根据测试日志,进行数据收集整理,生成测试用例报告。
44.本实施例中,基于新旧系统测试画面的特征匹配,可以解决传统测试方法费事费力、效率低下的问题,同时可以解决因画面细微不同,导致的误判的问题,可以有效降低误判概率,并提高测试效率。
45.在另一实施例中,如图2所示,步骤s103中特征提取匹配包括:
46.s201、特征点提取;
47.采用opencv技术中surf算法提取特征点,其代码接口为surffeaturedetector.detect()。
48.该算法采用hessian矩阵,对每个像素点计算图像在x方向y方向的二阶偏导数,计算图像的xy方向的导数,当hessian矩阵的判别式取得局部极值(极大值或极小值)时,判定当前点是比周围邻域内其他点更亮或更暗的点,由此来定位特征点的位置。
49.经过滤波后的hessian矩阵为:
[0050][0051]
式中,ixx表示x方向的二阶偏导数,iyy表示y方向的二阶偏导数,ixy表xy方向的二阶导数。
[0052]
hessian的特征值求解:
[0053][0054]
s202、筛选匹配点;
[0055]
采用lowe's算法检测获取优秀匹配点,排除因为图像遮挡和背景混乱而产生的无匹配关系的关键点,所述lowe's算法比较最近邻距离与次近邻距离的sift匹配方式:取一幅图像中的一个sift关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率ratio少于某个阈值t,则接受这一对匹配点。对于错误匹配,由于特征空间的高维性,相似的距离可能有大量其他的错误匹配,从而它的ratio值比较高。显然降低这个比例阈值t,sift匹配点数目会减少,但更加稳定,反之亦然。对大量任意存在尺度、旋转和亮度变化的两幅图片进行匹配,结果表明ratio取值在0.4~0.6之间最佳,小于0.4的很少有匹配点,大于0.6的则存在大量错误匹配点,所以ratio的取值原则如下:
[0056]
ratio=0.4:对于准确度要求高的匹配;
[0057]
ratio=0.5:一般情况下;
[0058]
ratio=0.6:对于匹配点数目要求比较多的匹配。
[0059]
本实施例中ratio值设置为0.6。
[0060]
可以理解,特征点精度通过阈值来控制,调整阈值,值越大,越精准。
[0061]
s203、特征点匹配。
[0062]
基于欧氏距离算法,判定像素是否相似。将像素的三个色彩分量映射在三维空间中,若两个像素点的欧氏距离小于某个常数的阈值,则认为相似。
[0063]
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0064]
图3为本发明实施例提供的一种用于系统画面自动化测试的系统结构示意图,该系统包括:
[0065]
获取模块310,用于获取待测试新系统目标代码,根据目标代码中的关键字和方法名称,自动生成测试用例和测试脚本;
[0066]
画面截取模块320,用于执行所述测试脚本分别对新、旧系统画面功能测试,截取系统画面,将截取图片分别保存至对应的目标文件夹,并标注图片名称;
[0067]
特征匹配模块330,用于对目标文件夹中的预比对图片进行预处理后,提取图片特征,并匹配图片特征点;
[0068]
其中,通过surf算法提取图片特征点,并基于特征点间的欧式距离计算特征点匹配度;
[0069]
具体的,所述提取图片特征包括:
[0070]
基于海森矩阵计算图片中每个像素点在xy方向上的二阶偏导数,计算图片xy方向的导数;
[0071]
当海森矩阵判别式取得局部极值,则判定当前点为局部区域内的最亮点或最暗点,并将当前点作为局部特征点。
[0072]
其中,所述特征匹配模块330包括:
[0073]
预处理单元,用于将两张预比对图片转换为灰度图,并对转换后的图片进行方型滤波,通过harris角点检测算法去除图片边缘。
[0074]
可选的,所述特征匹配模块330包括:
[0075]
特征点筛选单元,用于通过lowe's算法检测筛选不同阈值范围内的特征匹配点。
[0076]
结果生成模块340,用于将图片比对结果保存至指定文件夹,并生成测试用例报告。
[0077]
具体的,在比对图片中存在差异的位置标注红框,并根据测试日志,进行数据收集整理,生成测试用例报告。
[0078]
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程可以参考前述方法实施例中对应的过程,在此不再赘述。
[0079]
图4是本发明一实施例提供的一种电子设备的结构示意图。所述电子设备用于系统画面的自动化测试。如图4所示,该实施例的电子设备4包括:存储器410、处理器420以及系统总线430,所述存储器410包括存储其上的可运行的程序4101,本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0080]
下面结合图4对电子设备的各个构成部件进行具体的介绍:
[0081]
存储器410可用于存储软件程序以及模块,处理器420通过运行存储在存储器410的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如缓存数据)等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0082]
在存储器410上包含网络请求方法的可运行程序4101,所述可运行程序4101可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器410中,并由处理器420执行,以实现软件画面测试等,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序4101在所述电子设备4中的执行过程。例如,所述计算机程序4101可以被分割为获取模块、画面截取模块、特征匹配模块和结果生成模块。
[0083]
处理器420是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器410内的软件程序和/或模块,以及调用存储在存储器410内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体状态监控。可选的,处理器420可包括一个或多个处理单元;优选的,处理器420可集成应用处理器
和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器420中。
[0084]
系统总线430是用来连接计算机内部各功能部件,可以传送数据信息、地址信息、控制信息,其种类可以是例如pci总线、isa总线、vesa总线等。处理器420的指令通过总线传递至存储器410,存储器410反馈数据给处理器420,系统总线430负责处理器420与存储器410之间的数据、指令交互。当然系统总线430还可以接入其他设备,例如网络接口、显示设备等。
[0085]
在本发明实施例中,该电子设备所包括的处理420执行的可运行程序包括:
[0086]
获取待测试新系统目标代码,根据目标代码中的关键字和方法名称,自动生成测试用例和测试脚本;
[0087]
执行所述测试脚本分别对新、旧系统画面功能测试,截取系统画面,将截取图片分别保存至对应的目标文件夹,并标注图片名称;
[0088]
对目标文件夹中的预比对图片进行预处理后,提取图片特征,并匹配图片特征点;
[0089]
其中,通过surf算法提取图片特征点,并基于特征点间的欧式距离计算特征点匹配度;
[0090]
将图片比对结果保存至指定文件夹,并生成测试用例报告。
[0091]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0092]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1