CN110096447B - 一种基于图像识别的软硬件自动化测试方法 - Google Patents
一种基于图像识别的软硬件自动化测试方法 Download PDFInfo
- Publication number
- CN110096447B CN110096447B CN201910384041.8A CN201910384041A CN110096447B CN 110096447 B CN110096447 B CN 110096447B CN 201910384041 A CN201910384041 A CN 201910384041A CN 110096447 B CN110096447 B CN 110096447B
- Authority
- CN
- China
- Prior art keywords
- image
- information
- hardware
- software
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/60—Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于图像识别的软硬件自动化测试方法,该基于图像识别的软硬件自动化测试方法是通过主控机模块同时对若干被控机模块进行关于软件或者硬件的远程测试操作,该远程测试操作是基于获取该被测机模块中软件或者硬件在运行过程中对应的运行界面图像来实现的,该软硬件自动化测试方法只需要获取相应的软件或者硬件的运行界面图像,并对该运行界面图像执行与标准化界面图像的对比处理就能够得出关于该软件或者硬件当前的测试运行状态信息,再通过该测试运行状态信息就能够直接判断出该软件或者硬件的测试效果。
Description
技术领域
本发明涉及软件与硬件测试的技术领域,特别涉及一种基于图像识别的软硬件自动化测试方法。
背景技术
智能终端的硬件或者软件在开发过程中,需要对硬件或者软件的功能进行测试操作,由于该测试操作需要对硬件或者软件在不同环境下的不同功能进行全方位的测试,这就需要花费较长的时间来执行该测试过程。为了保证测试过程的延续性和降低测试的人力成本,现有的针对硬件或者软件的测试操作都是基于自动化测试技术来实现的,该自动化测试技术通过使用控件标识符或者路径定位的方式,以及使用系统时间触发对空间的操作,从而实现对硬件或者软件的自动测试操作,这样使得该测试过程能够在不需要测试人员进行持续的监视操作以提高测试操作的自动化性能。
虽然,现有的自动化测试技术能够对软件或者硬件进行可控的自动测试操作,但是这些自动测试操作都需要在特定操作系统环境才能实现的,也就是说,现有的自动化测试操作无法实现在无任何操作系统的情况下进行软件或者硬件自动化测试。此外,现有的自动化测试技术是通过控件标识符或者路径进行定位操作,其无法真正确定硬件或者软件的图形界面是否显示正确;现有的自动化测试技术严重依赖操作系统的接口,同时还存在大多数控件无法通过标识符或者路径来进行定位;并且,现有的自动化测试技术无法完全真实模拟用户的输入,无法实现在完全不污染被测环境的情况下(如不在被测环境上安装任何自动化测试软件等情况)实现自动化测试操作,以及无法兼容多种操作系统和硬件设备,即对于每个操作系统或者硬件设备都需要单独开发相应的自动测试框架。可见,现有的自动测试技术都普遍存在上述技术问题,这些技术问题严重地影响对软件或者硬件的自动测试操作的测试效果,同时还不利于自动测试技术对不同软件或者硬件的推广应用。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于图像识别的软硬件自动化测试方法,该基于图像识别的软硬件自动化测试方法是通过主控机模块同时对若干被控机模块进行关于软件或者硬件的远程测试操作,其中,该远程测试操作是基于获取该被测机模块中软件或者硬件在运行过程中对应的运行界面图像来实现的,即该远程测试操作是不依赖于被控机模块的操作系统及其对应的接口,并且也不在被控机模块上安装任何自动化测试软件来进行测试,该软硬件自动化测试方法只需要获取相应的软件或者硬件的运行界面图像,并对该运行界面图像执行与标准化界面图像的对比处理就能够得出关于该软件或者硬件当前的测试运行状态信息,再通过该测试运行状态信息就能够直接判断出该软件或者硬件的测试效果。可见,该基于图像识别的软硬件自动化测试方法只需要通过获取被控机模块中软件或者硬件的运行界面图像并结合相应的图像识别技术,就能够执行相应的自动化测试操作,该方法并不依赖被控机模块的操作系统或者任何自动化测试软件,这不仅能够提高自动化测试操作的对不同类型软件或者硬件的适用性,并且还能够提高自动化测试操作的测试效率和测试准确性。
本发明提供一种基于图像识别的软硬件自动化测试方法,其特征在于,所述方法包括如下步骤:
步骤(1),在主控机模块中执行预设自动化测试用例脚本,同时所述主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息;
步骤(2),所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果;
步骤(3),所述主控机模块基于所述图像识别处理结果,确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息;
进一步,在所述步骤(1)中,在主控机模块中执行预设自动化测试用例脚本具体包括,
步骤(A11),通过高级语言编写形成所述预设自动化测试用例脚本,并将所述预设自动化测试用例脚本输入至所述主控机模块中执行运行;
步骤(A12),获取所述预设自动化测试用例脚本在所述主控机模块中的执行进度信息;
步骤(A13),基于所述执行进度信息,所述主控机模块适应性地对所述预设自动化测试用例脚本选择不同的执行模式;
进一步,在所述步骤(A12)中,获取所述预设自动化测试用例脚本在所述主控机模块中的执行进度信息具体包括,
步骤(A121),获取当前所述主控机模块向所述被控机模块发送的关于所述预设自动化测试用例脚本的操作信号;
步骤(A122),基于所述操作信号,确定当前所述主控机模块关于所述预设自动化测试用例脚本的执行代码位置;
步骤(A123),基于当前确定的所述执行代码位置,获取所述预设自动化测试用例脚本的已执行比例数据,以此作为所述执行进度信息;
或者,
在所述步骤(A13)中,基于所述执行进度信息,所述主控机模块适应性地对所述预设自动化测试用例脚本选择不同的执行模式具体包括,
步骤(A131),将所述执行进度信息与若干预设执行进度范围进行匹配处理,以此得到执行进度匹配结果;
步骤(A132),基于所述执行进度匹配结果,所述主控模块继续执行所述预设自动化测试用例脚本的下一脚本内容或者结束完成所述预设自动化测试用例脚本;
进一步,在所述步骤(1)中,所述主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息具体包括,
步骤(B11),所述主控机模块向图像采集模块发送一图像采集信号,所述图像采集模块从所述图像采集信号中提取相应的图像采集命令;
步骤(B12),所述图像采集模块基于所述图像采集命令,适应性地确定获取所述运行界面图像信息的工作模式;
步骤(B13),所述图像采集模块基于所述工作模式,获取所述软件和/或硬件对应的运行界面图像信息,并将所述运行界面图像信息反馈至所述主控机模块;
进一步,在所述步骤(B12)中,所述图像采集模块基于所述图像采集命令,适应性地确定获取所述运行界面图像信息的工作模式具体包括,
步骤(B121),所述图像采集模块确定所述图像采集命令中关于需要进行图像采集的目标被控机模块指令、进行图像采集操作的图像采集对象类型指令和进行图像采集操作的时间间隔指令中的至少一种指令;
步骤(B122),所述图像采集模块基于所述至少一种指令,通过其中的图像采集卡单元获取所述被控机模块中软件和/或硬件在运行过程中对应的视频输出信号作为所述运行界面图像信息,或者,通过其中的图像拍摄单元拍摄所述被控机模块中软件和/或硬件在运行过程中对应的界面图像作为所述运行界面图像信息;
进一步,在所述步骤(2)中,所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括,
步骤(21),所述主控机模块对接收到的所述运行界面图像信息进行图像特征信息提取,以此得到关于所述运行界面图像信息的图像特征信息,
步骤(22),所述主控机模块基于所述图像特征信息,适应性地选择特定的图像识别处理模式来实施关于所述图像特征信息与所述预设标准界面图像之间的对比匹配处理,以此得到所述图像识别处理结果;
进一步,在所述步骤(22)中,所述主控机模块基于所述图像特征信息,适应性地选择特定的图像识别处理模式来实施关于所述图像特征信息与所述预设标准界面图像之间的对比匹配处理,以此得到所述图像识别处理结果具体包括,
步骤(221),若所述图像特征信息指示所述运行界面图像信息符合第一处理条件,则所述主控机模块基于模版匹配模式,对所述图像特征信息与所述预设标准界面图像实施对比匹配处理,
若所述图像特征信息指示所述运行界面图像信息符合第二处理条件,则所述主控机模块基于特征点匹配模式,对所述图像特征信息与所述预设标准界面图像实施对比匹配处理,
其中,所述第一处理条件不同于所述第二处理条件;
步骤(222),若所述对比匹配处理确定所述运行界面图像信息中存在与所述预设标准界面图像对应的目标图像,则所述主控机模块反馈所述目标图像在所述运行界面图像信息中的实际位置作为所述图像识别处理结果,
若所述图像识别处理模式确定所述运行界面图像信息中不存在与所述预设标准界面图像对应的目标图像,则所述主控机模块反馈关于当前图像识别处理无效的信息作为所述图像识别处理结果;
进一步,在所述步骤(3)中,所述主控机模块基于所述图像识别处理结果,确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息具体包括,
步骤(31),所述主控机模块从所述图像识别处理结果中提取对应的图像识别特征信息,并判断所述图像识别特征信息与若干预设操作条件之间的匹配关系;
步骤(32),所述主控机模块基于所述匹配关系的判断结果,适应性根据若干不同操作模式中的任意一者形成关于所述预设自动化测试用例脚本的操作信号,
步骤(33),所述主控机模块通过鼠标键盘模拟设备模块,将关于所述预设自动化测试用例脚本的操作信号发送至所述一个或者多个被控机模块,以此确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息;
进一步,在所述步骤(32)中,所述若干不同操作模式包括鼠标单击操作、鼠标双击操作、键盘按键单击操作或者键盘组合按键操作;
或者,在所述步骤(33)中,所述主控机模块通过鼠标键盘模拟设备模块,以USB信号、2.4G信号或者蓝牙信号的形式将关于所述预设自动化测试用例脚本的操作信号发送至所述一个或者多个被控机模块
进一步,在所述步骤(2)中,所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括将所述运行界面图像和所述预设标准界面图像都进行图像预处理,具体包括下面步骤(201)-步骤(203),
步骤(201),提取所述运行界面图像或者所述预设标准界面图像的像素的三轨道值,所述三轨道值为R、G、B三个轨道,以此形成一个三维矩阵D,再利用下面公式(1)计算所述三维矩阵D中每一个元素值是冗余值的可能性值
在上述公式(1)中,Di,j,p为三维矩阵D中第i行第j列第p轨道对应的元素值,i=1、2、…、I,j=1、2、…、J,p=1、2、3,I为三维矩阵D的行数,J为三维矩阵D的列数,Z(Di,j,p)为Di,j,p是冗余值的可能性值,Π为圆周率,e为自然常数,为三维矩阵D的均值;
接着,利用下面公式(2),将所述三维矩阵D变换为去冗余矩阵DD
在上述公式(2)中,DDi,j,p为Di,j,p经去冗余处理后对应得到的值,并对所述去冗余矩阵DD进行二次去冗余处理,即判断所述去冗余矩阵DD是否存在某一行或者某一列的所有元素值均为0,若存在,则删除对应的行或者列,并形成二次去冗余矩阵DDD,将所述二次去冗余矩阵DDD进行图像切割算法处理,以转换为一个32*32*3规格的三维矩阵B,即所述矩阵B包含32行32列3轨道
在利用下面公式(3),将所述三维矩阵B转换为一个二维矩阵A
A(j-1)*M+i,p=Bi,j,p (3)
在上述公式(3)中,A(j-1)*M+i,p为二维矩阵A中第(j-1)*M+i行第p列的元素值,Bi,j,p为三维矩阵B中第i行第j列第p轨道的元素值,其中,i=1、2、…、32,j=1、2、…、32,p=1、2、3,并且二维矩阵A具有1024行3列的规格,
利用下面公式(4)计算比较像素矩阵AA
在上述公式(4)中,AAi,p为比较像素矩阵AA中第i行第p列的值,Ai,p为二维矩阵A中第i行第p列的值,ROUND( )为四舍五入运算符号;
步骤(202),根据上述步骤(201)的计算过程,将所述运行界面图像和所述预设标准界面图像分别转换为比较像素矩阵AA1和AA2;
步骤(203),利用下面公式(5),计算所述比较像素矩阵AA1和AA2之间的差异量CYL
在上述公式(5)中,AA1i,p为比较像素矩阵AA1第i行第p列的元素值,AA2i,p为比较像素矩阵AA2第i行第p列的元素值,其中,j=1、2、…、1024,p=1、2、3,
若差异量CLY大于或者等于20,则判断所述运行界面图像信息对应的图像识别处理失败,以此确定所述运行界面图像信息但该案对应的软件或者硬件处于异常运行状态,若差异量CLY小于20,则判断所述运行界面图像信息对应的图像识别处理成功,以此确定所述运行界面图像信息但该案对应的软件或者硬件处于正常运行状态。
相比于现有技术,该基于图像识别的软硬件自动化测试方法是通过主控机模块同时对若干被控机模块进行关于软件或者硬件的远程测试操作,其中,该远程测试操作是基于获取该被测机模块中软件或者硬件在运行过程中对应的运行界面图像来实现的,即该远程测试操作是不依赖于被控机模块的操作系统及其对应的接口,并且也不在被控机模块上安装任何自动化测试软件来进行测试,该软硬件自动化测试方法只需要获取相应的软件或者硬件的运行界面图像,并对该运行界面图像执行与标准化界面图像的对比处理就能够得出关于该软件或者硬件当前的测试运行状态信息,再通过该测试运行状态信息就能够直接判断出该软件或者硬件的测试效果。可见,该基于图像识别的软硬件自动化测试方法只需要通过获取被控机模块中软件或者硬件的运行界面图像并结合相应的图像识别技术,就能够执行相应的自动化测试操作,该方法并不依赖被控机模块的操作系统或者任何自动化测试软件,这不仅能够提高自动化测试操作的对不同类型软件或者硬件的适用性,并且还能够提高自动化测试操作的测试效率和测试准确性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于图像识别的软硬件自动化测试方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的一种基于图像识别的软硬件自动化测试方法的流程示意图。该基于图像识别的软硬件自动化测试方法包括如下步骤:
步骤(1),在主控机模块中执行预设自动化测试用例脚本,同时该主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息。
优选地,在该步骤(1)中,在主控机模块中执行预设自动化测试用例脚本具体包括,
步骤(A11),通过高级语言编写形成该预设自动化测试用例脚本,并将该预设自动化测试用例脚本输入至该主控机模块中执行运行;
其中,该高级语言可为但不限于是C、C++、Java或者Python;
步骤(A12),获取该预设自动化测试用例脚本在该主控机模块中的执行进度信息;
步骤(A13),基于该执行进度信息,该主控机模块适应性地对该预设自动化测试用例脚本选择不同的执行模式。
优选地,在该步骤(A12)中,获取该预设自动化测试用例脚本在该主控机模块中的执行进度信息具体包括,
步骤(A121),获取当前该主控机模块向该被控机模块发送的关于该预设自动化测试用例脚本的操作信号;
步骤(A122),基于该操作信号,确定当前该主控机模块关于该预设自动化测试用例脚本的执行代码位置;
步骤(A123),基于当前确定的该执行代码位置,获取该预设自动化测试用例脚本的已执行比例数据,以此作为该执行进度信息。
优选地,在该步骤(A13)中,基于该执行进度信息,该主控机模块适应性地对该预设自动化测试用例脚本选择不同的执行模式具体包括,
步骤(A131),将该执行进度信息与若干预设执行进度范围进行匹配处理,以此得到执行进度匹配结果;
步骤(A132),基于该执行进度匹配结果,该主控模块继续执行该预设自动化测试用例脚本的下一脚本内容或者结束完成该预设自动化测试用例脚本。
优选地,在该步骤(1)中,该主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息具体包括,
步骤(B11),该主控机模块向图像采集模块发送一图像采集信号,该图像采集模块从该图像采集信号中提取相应的图像采集命令;
步骤(B12),该图像采集模块基于该图像采集命令,适应性地确定获取该运行界面图像信息的工作模式;
步骤(B13),该图像采集模块基于该工作模式,获取该软件和/或硬件对应的运行界面图像信息,并将该运行界面图像信息反馈至该主控机模块。
优选地,在该步骤(B12)中,该图像采集模块基于该图像采集命令,适应性地确定获取该运行界面图像信息的工作模式具体包括,
步骤(B121),该图像采集模块确定该图像采集命令中关于需要进行图像采集的目标被控机模块指令、进行图像采集操作的图像采集对象类型指令和进行图像采集操作的时间间隔指令中的至少一种指令;
步骤(B122),该图像采集模块基于该至少一种指令,通过其中的图像采集卡单元获取该被控机模块中软件和/或硬件在运行过程中对应的视频输出信号作为该运行界面图像信息,或者,通过其中的图像拍摄单元拍摄该被控机模块中软件和/或硬件在运行过程中对应的界面图像作为该运行界面图像信息。
步骤(2),该主控机模块对该运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果。
优选地,在该步骤(2)中,该主控机模块对该运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括,
步骤(21),该主控机模块对接收到的该运行界面图像信息进行图像特征信息提取,以此得到关于该运行界面图像信息的图像特征信息,
步骤(22),该主控机模块基于该图像特征信息,适应性地选择特定的图像识别处理模式来实施关于该图像特征信息与该预设标准界面图像之间的对比匹配处理,以此得到该图像识别处理结果。
优选地,在该步骤(22)中,该主控机模块基于该图像特征信息,适应性地选择特定的图像识别处理模式来实施关于该图像特征信息与该预设标准界面图像之间的对比匹配处理,以此得到该图像识别处理结果具体包括,
步骤(221),若该图像特征信息指示该运行界面图像信息符合第一处理条件,则该主控机模块基于模版匹配模式,对该图像特征信息与该预设标准界面图像实施对比匹配处理,
若该图像特征信息指示该运行界面图像信息符合第二处理条件,则该主控机模块基于特征点匹配模式,对该图像特征信息与该预设标准界面图像实施对比匹配处理,
其中,该第一处理条件不同于该第二处理条件;
步骤(222),若该对比匹配处理确定该运行界面图像信息中存在与该预设标准界面图像对应的目标图像,则该主控机模块反馈该目标图像在该运行界面图像信息中的实际位置作为该图像识别处理结果,
若该图像识别处理模式确定该运行界面图像信息中不存在与该预设标准界面图像对应的目标图像,则该主控机模块反馈关于当前图像识别处理无效的信息作为该图像识别处理结果。
优选地,在该步骤(2)中,该主控机模块对该运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括将该运行界面图像和该预设标准界面图像都进行图像预处理,具体包括下面步骤(201)-步骤(203),
步骤(201),提取该运行界面图像或者该预设标准界面图像的像素的三轨道值,该三轨道值为R、G、B三个轨道,以此形成一个三维矩阵D,再利用下面公式(1)计算该三维矩阵D中每一个元素值是冗余值的可能性值
在上述公式(1)中,Di,j,p为三维矩阵D中第i行第j列第p轨道对应的元素值,i=1、2、…、I,j=1、2、…、J,p=1、2、3,I为三维矩阵D的行数,J为三维矩阵D的列数,Z(Di,j,p)为Di,j,p是冗余值的可能性值,Π为圆周率,e为自然常数,为三维矩阵D的均值;
通过上述公式(1)可以对相应的图像进行判断,判断图像中所有的像素点为噪音点的可能性,方便后面去除噪音点,对图像进行纯净化操作;
接着,利用下面公式(2),将该三维矩阵D变换为去冗余矩阵DD
在上述公式(2)中,DDi,j,p为Di,j,p经去冗余处理后对应得到的值,并对该去冗余矩阵DD进行二次去冗余处理,即判断该去冗余矩阵DD是否存在某一行或者某一列的所有元素值均为0,若存在,则删除对应的行或者列,并形成二次去冗余矩阵DDD,将该二次去冗余矩阵DDD进行图像切割算法处理,以转换为一个32*32*3规格的三维矩阵B,即该矩阵B包含32行32列3轨道;
通过上述公式(2),可以将图像变为一个去除噪音后的图像,该图像变为了一个没有异常像素点,没有干扰像素点的纯净的图像,
在利用下面公式(3),将该三维矩阵B转换为一个二维矩阵A
A(j-1)*M+i,p=Bi,j,p (3)
在上述公式(3)中,A(j-1)*M+i,p为二维矩阵A中第(j-1)*M+i行第p列的元素值,Bi,j,p为三维矩阵B中第i行第j列第p轨道的元素值,其中,i=1、2、…、32,j=1、2、…、32,p=1、2、3,并且二维矩阵A具有1024行3列的规格,
通过上述公式(3),可以将一个复杂的,难以计算的三维矩阵转变为一个简单的二维矩阵,从而使得后面的计算更为方便,
利用下面公式(4)计算比较像素矩阵AA
在上述公式(4)中,AAi,p为比较像素矩阵AA中第i行第p列的值,Ai,p为二维矩阵A中第i行第p列的值,ROUND( )为四舍五入运算符号,
通过上述公式(4)可以将复杂的图像的图像三轨道值,转变为一个容易比较的一个只含有0、1两个值的二维向量,使得后面的比较简单,方便且准确率高;
步骤(202),根据上述步骤(201)的计算过程,将该运行界面图像和该预设标准界面图像分别转换为比较像素矩阵AA1和AA2;
步骤(203),利用下面公式(5),计算该比较像素矩阵AA1和AA2之间的差异量CYL
在上述公式(5)中,AA1i,p为比较像素矩阵AA1第i行第p列的元素值,AA2i,p为比较像素矩阵AA2第i行第p列的元素值,其中,j=1、2、…、1024,p=1、2、3,
若差异量CLY大于或者等于20,则判断该运行界面图像信息对应的图像识别处理失败,以此确定该运行界面图像信息但该案对应的软件或者硬件处于异常运行状态,若差异量CLY小于20,则判断该运行界面图像信息对应的图像识别处理成功,以此确定该运行界面图像信息但该案对应的软件或者硬件处于正常运行状态。
步骤(3),该主控机模块基于该图像识别处理结果,确定该一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息。
优选地,在该步骤(3)中,该主控机模块基于该图像识别处理结果,确定该一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息具体包括,
步骤(31),该主控机模块从该图像识别处理结果中提取对应的图像识别特征信息,并判断该图像识别特征信息与若干预设操作条件之间的匹配关系;
步骤(32),该主控机模块基于该匹配关系的判断结果,适应性根据若干不同操作模式中的任意一者形成关于该预设自动化测试用例脚本的操作信号,
步骤(33),该主控机模块通过鼠标键盘模拟设备模块,将关于该预设自动化测试用例脚本的操作信号发送至该一个或者多个被控机模块,以此确定该一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息。
优选地,在该步骤(32)中,该若干不同操作模式包括鼠标单击操作、鼠标双击操作、键盘按键单击操作或者键盘组合按键操作。
优选地,在该步骤(33)中,该主控机模块通过鼠标键盘模拟设备模块,以USB信号、2.4G信号或者蓝牙信号的形式将关于该预设自动化测试用例脚本的操作信号发送至该一个或者多个被控机模块。
从上述实施例可以看出,该基于图像识别的软硬件自动化测试方法是通过主控机模块同时对若干被控机模块进行关于软件或者硬件的远程测试操作,其中,该远程测试操作是基于获取该被测机模块中软件或者硬件在运行过程中对应的运行界面图像来实现的,即该远程测试操作是不依赖于被控机模块的操作系统及其对应的接口,并且也不在被控机模块上安装任何自动化测试软件来进行测试,该软硬件自动化测试方法只需要获取相应的软件或者硬件的运行界面图像,并对该运行界面图像执行与标准化界面图像的对比处理就能够得出关于该软件或者硬件当前的测试运行状态信息,再通过该测试运行状态信息就能够直接判断出该软件或者硬件的测试效果。可见,该基于图像识别的软硬件自动化测试方法只需要通过获取被控机模块中软件或者硬件的运行界面图像并结合相应的图像识别技术,就能够执行相应的自动化测试操作,该方法并不依赖被控机模块的操作系统或者任何自动化测试软件,这不仅能够提高自动化测试操作的对不同类型软件或者硬件的适用性,并且还能够提高自动化测试操作的测试效率和测试准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种基于图像识别的软硬件自动化测试方法,其特征在于,所述方法包括如下步骤:
步骤(1),在主控机模块中执行预设自动化测试用例脚本,同时所述主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息;
步骤(2),所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果;
步骤(3),所述主控机模块基于所述图像识别处理结果,确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息;
在所述步骤(2)中,所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括将所述运行界面图像和所述预设标准界面图像都进行图像预处理,具体包括下面步骤(201)-步骤(203),
步骤(201),提取所述运行界面图像或者所述预设标准界面图像的像素的三轨道值,所述三轨道值为R、G、B三个轨道,以此形成一个三维矩阵D,再利用下面公式(1)计算所述三维矩阵D中每一个元素值是冗余值的可能性值
在上述公式(1)中,为三维矩阵D中第i行第j列第p轨道对应的元素值,i=1、2、…、
I,j=1、2、…、J,p=1、2、3,I为三维矩阵D的行数,J为三维矩阵D的列数,为是冗
余值的可能性值,为圆周率,e为自然常数,为三维矩阵D的均值;
接着,利用下面公式(2),将所述三维矩阵D变换为去冗余矩阵DD
在上述公式(2)中,为经去冗余处理后对应得到的值,并对所述去冗余矩阵
DD进行二次去冗余处理,即判断所述去冗余矩阵DD是否存在某一行或者某一列的所有元素
值均为0,若存在,则删除对应的行或者列,并形成二次去冗余矩阵DDD,将所述二次去冗余
矩阵DDD进行图像切割算法处理,以转换为一个32*32*3规格的三维矩阵B,即所述矩阵B包
含32行32列3轨道
在利用下面公式(3),将所述三维矩阵B转换为一个二维矩阵A
在上述公式(3)中,为二维矩阵A中第行第p列的元素值,为三
维矩阵B中第i行第j列第p轨道的元素值,其中,i=1、2、…、32,j=1、2、…、32,p=1、2、3,并且
二维矩阵A具有1024行3列的规格,
利用下面公式(4)计算比较像素矩阵AA
步骤(202),根据上述步骤(201)的计算过程,将所述运行界面图像和所述预设标准界面图像分别转换为比较像素矩阵AA1和AA2;
步骤(203),利用下面公式(5),计算所述比较像素矩阵AA1和AA2之间的差异量CYL
若差异量CLY大于或者等于20,则判断所述运行界面图像信息对应的图像识别处理失败,以此确定所述运行界面图像信息对应的软件或者硬件处于异常运行状态,若差异量CLY小于20,则判断所述运行界面图像信息对应的图像识别处理成功,以此确定所述运行界面图像信息对应的软件或者硬件处于正常运行状态。
2.如权利要求1所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(1)中,在主控机模块中执行预设自动化测试用例脚本具体包括,
步骤(A11),通过高级语言编写形成所述预设自动化测试用例脚本,并将所述预设自动化测试用例脚本输入至所述主控机模块中执行运行;
步骤(A12),获取所述预设自动化测试用例脚本在所述主控机模块中的执行进度信息;
步骤(A13),基于所述执行进度信息,所述主控机模块适应性地对所述预设自动化测试用例脚本选择不同的执行模式。
3.如权利要求2所述的基于图像识别的软硬件自动化测试方法,其特征在于:
在所述步骤(A12)中,获取所述预设自动化测试用例脚本在所述主控机模块中的执行进度信息具体包括,
步骤(A121),获取当前所述主控机模块向所述被控机模块发送的关于所述预设自动化测试用例脚本的操作信号;
步骤(A122),基于所述操作信号,确定当前所述主控机模块关于所述预设自动化测试用例脚本的执行代码位置;
步骤(A123),基于当前确定的所述执行代码位置,获取所述预设自动化测试用例脚本的已执行比例数据,以此作为所述执行进度信息;
或者,
在所述步骤(A13)中,基于所述执行进度信息,所述主控机模块适应性地对所述预设自动化测试用例脚本选择不同的执行模式具体包括,
步骤(A131),将所述执行进度信息与若干预设执行进度范围进行匹配处理,以此得到执行进度匹配结果;
步骤(A132),基于所述执行进度匹配结果,所述主控机模块继续执行所述预设自动化测试用例脚本的下一脚本内容或者结束完成所述预设自动化测试用例脚本。
4.如权利要求1所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(1)中,所述主控机模块获取一个或者多个被控机模块中软件和/或硬件对应的运行界面图像信息具体包括,
步骤(B11),所述主控机模块向图像采集模块发送一图像采集信号,所述图像采集模块从所述图像采集信号中提取相应的图像采集命令;
步骤(B12),所述图像采集模块基于所述图像采集命令,适应性地确定获取所述运行界面图像信息的工作模式;
步骤(B13),所述图像采集模块基于所述工作模式,获取所述软件和/或硬件对应的运行界面图像信息,并将所述运行界面图像信息反馈至所述主控机模块。
5.如权利要求4所述的基于图像识别的软硬件自动化测试方法,其特征在于:
在所述步骤(B12)中,所述图像采集模块基于所述图像采集命令,适应性地确定获取所述运行界面图像信息的工作模式具体包括,
步骤(B121),所述图像采集模块确定所述图像采集命令中关于需要进行图像采集的目标被控机模块指令、进行图像采集操作的图像采集对象类型指令和进行图像采集操作的时间间隔指令中的至少一种指令;
步骤(B122),所述图像采集模块基于所述至少一种指令,通过其中的图像采集卡单元获取所述被控机模块中软件和/或硬件在运行过程中对应的视频输出信号作为所述运行界面图像信息,或者,通过其中的图像拍摄单元拍摄所述被控机模块中软件和/或硬件在运行过程中对应的界面图像作为所述运行界面图像信息。
6.如权利要求1所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(2)中,所述主控机模块对所述运行界面图像信息执行关于预设标准界面图像的图像识别处理,以此对应得到图像识别处理结果具体包括,
步骤(21),所述主控机模块对接收到的所述运行界面图像信息进行图像特征信息提取,以此得到关于所述运行界面图像信息的图像特征信息,
步骤(22),所述主控机模块基于所述图像特征信息,适应性地选择特定的图像识别处理模式来实施关于所述图像特征信息与所述预设标准界面图像之间的对比匹配处理,以此得到所述图像识别处理结果。
7.如权利要求6所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(22)中,所述主控机模块基于所述图像特征信息,适应性地选择特定的图像识别处理模式来实施关于所述图像特征信息与所述预设标准界面图像之间的对比匹配处理,以此得到所述图像识别处理结果具体包括,
步骤(221),若所述图像特征信息指示所述运行界面图像信息符合第一处理条件,则所述主控机模块基于模版匹配模式,对所述图像特征信息与所述预设标准界面图像实施对比匹配处理,
若所述图像特征信息指示所述运行界面图像信息符合第二处理条件,则所述主控机模块基于特征点匹配模式,对所述图像特征信息与所述预设标准界面图像实施对比匹配处理,
其中,所述第一处理条件不同于所述第二处理条件;
步骤(222),若所述对比匹配处理确定所述运行界面图像信息中存在与所述预设标准界面图像对应的目标图像,则所述主控机模块反馈所述目标图像在所述运行界面图像信息中的实际位置作为所述图像识别处理结果,
若所述图像识别处理模式确定所述运行界面图像信息中不存在与所述预设标准界面图像对应的目标图像,则所述主控机模块反馈关于当前图像识别处理无效的信息作为所述图像识别处理结果。
8.如权利要求1所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(3)中,所述主控机模块基于所述图像识别处理结果,确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息具体包括,
步骤(31),所述主控机模块从所述图像识别处理结果中提取对应的图像识别特征信息,并判断所述图像识别特征信息与若干预设操作条件之间的匹配关系;
步骤(32),所述主控机模块基于所述匹配关系的判断结果,适应性根据若干不同操作模式中的任意一者形成关于所述预设自动化测试用例脚本的操作信号,
步骤(33),所述主控机模块通过鼠标键盘模拟设备模块,将关于所述预设自动化测试用例脚本的操作信号发送至所述一个或者多个被控机模块,以此确定所述一个或者多个被控机模块当前对应的软件和/或硬件运行状态信息。
9.如权利要求8所述的基于图像识别的软硬件自动化测试方法,其特征在于:在所述步骤(32)中,所述若干不同操作模式包括鼠标单击操作、鼠标双击操作、键盘按键单击操作或者键盘组合按键操作;
或者,在所述步骤(33)中,所述主控机模块通过鼠标键盘模拟设备模块,以USB信号、2.4G信号或者蓝牙信号的形式将关于所述预设自动化测试用例脚本的操作信号发送至所述一个或者多个被控机模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910384041.8A CN110096447B (zh) | 2019-05-09 | 2019-05-09 | 一种基于图像识别的软硬件自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910384041.8A CN110096447B (zh) | 2019-05-09 | 2019-05-09 | 一种基于图像识别的软硬件自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096447A CN110096447A (zh) | 2019-08-06 |
CN110096447B true CN110096447B (zh) | 2023-01-03 |
Family
ID=67447402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910384041.8A Active CN110096447B (zh) | 2019-05-09 | 2019-05-09 | 一种基于图像识别的软硬件自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096447B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115052A (zh) * | 2020-09-10 | 2020-12-22 | 深圳信息职业技术学院 | 一种图形用户界面的自动走查方法、系统及界面走查工具 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201317856D0 (en) * | 2013-04-25 | 2013-11-20 | Testplant Ltd | Method for creating a label |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN105988924A (zh) * | 2015-02-10 | 2016-10-05 | 中国船舶工业综合技术经济研究院 | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 |
CN107665168A (zh) * | 2016-07-29 | 2018-02-06 | 中国船舶工业综合技术经济研究院 | 一种嵌入式软件gui自动化测试设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9804955B2 (en) * | 2015-07-28 | 2017-10-31 | TestPlant Europe Limited | Method and apparatus for creating reference images for an automated test of software with a graphical user interface |
US10248543B2 (en) * | 2017-04-25 | 2019-04-02 | Dennis Lin | Software functional testing |
-
2019
- 2019-05-09 CN CN201910384041.8A patent/CN110096447B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201317856D0 (en) * | 2013-04-25 | 2013-11-20 | Testplant Ltd | Method for creating a label |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN105988924A (zh) * | 2015-02-10 | 2016-10-05 | 中国船舶工业综合技术经济研究院 | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 |
CN107665168A (zh) * | 2016-07-29 | 2018-02-06 | 中国船舶工业综合技术经济研究院 | 一种嵌入式软件gui自动化测试设备 |
Non-Patent Citations (2)
Title |
---|
Overview of graphical operational profiles for generating test cases of GUI software;Yuma Namba,etc;《2015 IEEE/ACIS 16th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)》;20150806;全文 * |
一种非侵入的GUI自动化测试系统设计;吴立金等;《计算机测量与控制》;20171225(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110096447A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102025556B1 (ko) | 처리 장치, 추적 유닛 및 진단 장치 | |
CN109285105A (zh) | 水印检测方法、装置、计算机设备和存储介质 | |
CN112801298A (zh) | 异常样本检测方法、装置、设备和存储介质 | |
CN111738348A (zh) | 一种电力数据异常检测方法和装置 | |
CN112559341A (zh) | 一种画面测试方法、装置、设备及存储介质 | |
CN112308069A (zh) | 一种软件界面的点击测试方法、装置、设备及存储介质 | |
CN110096447B (zh) | 一种基于图像识别的软硬件自动化测试方法 | |
CN116126580A (zh) | 触控显示的控制方法、装置、设备及存储介质 | |
CN105302715A (zh) | 应用程序用户界面的获取方法和装置 | |
CN111626313B (zh) | 一种特征提取模型训练方法、图像处理方法及装置 | |
CN111523423A (zh) | 一种电力设备识别方法及装置 | |
CN110716778A (zh) | 应用兼容性测试方法、装置及系统 | |
CN100549977C (zh) | 芯片验证的预处理方法和预处理装置 | |
CN116431468A (zh) | 测试方法、装置、处理设备及存储介质 | |
CN114693554B (zh) | 一种大数据图像处理方法及系统 | |
CN115937993A (zh) | 活体检测模型训练方法、活体检测方法、装置和电子设备 | |
CN102779090A (zh) | 一种桌面虚拟化系统性能测量方法和系统 | |
CN114629047A (zh) | 一种防振锤滑移的检测方法、装置及设备 | |
CN114898174A (zh) | 基于不同识别模型的电缆故障识别系统 | |
CN111462177B (zh) | 一种基于多线索的在线多目标跟踪方法和系统 | |
CN113885896A (zh) | 应用程序软件包安装方法、装置、计算机设备及存储介质 | |
CA3235736A1 (en) | Tsunami learning device, tsunami learning method, tsunami prediction device, and tsunami prediction method | |
KR20220046467A (ko) | 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법 | |
CN113782094A (zh) | 修饰位点的预测方法、装置、计算机设备和存储介质 | |
CN116564423B (zh) | 一种微生物宏基因组数据库构建方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |