CN105808416A - 一种人机图形交互界面的自动化测试方法和系统 - Google Patents
一种人机图形交互界面的自动化测试方法和系统 Download PDFInfo
- Publication number
- CN105808416A CN105808416A CN201410826033.1A CN201410826033A CN105808416A CN 105808416 A CN105808416 A CN 105808416A CN 201410826033 A CN201410826033 A CN 201410826033A CN 105808416 A CN105808416 A CN 105808416A
- Authority
- CN
- China
- Prior art keywords
- interface
- image
- character information
- man
- test
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
一种人机图形交互界面的自动化测试方法及系统,该方法的步骤为:S1:采集人机交互各界面的各种状态参数;S2:生成界面跳转操作指令;S3:生成测试用例:利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;S4:执行测试用例:发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若检测到界面图像剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若检测到界面图像无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像。S5:相似度比对。该系统用来执行上述方法。本发明具有原理简单、操作简便、通用性好、能够大幅提高测试效率等优点。
Description
技术领域
本发明主要涉及到人机图像交互界面的设计领域,特指一种适用于人机图形交互界面设计的采用机器视觉技术的自动化测试方法和系。
背景技术
人机图像交互界是控制系统的重要组成部分,以列车人机交互界面为例,它就是列车司机或工作人员与车载设备信息交互的媒介,是列车运行控制系统中的重要组成部分。为此,人机交互界面在正式列装使用前需要大量的测试以保证其安全可靠的运行。
目前,对于人机交互界面的测试工作主要采用人工测试,人工测试效率低,在长时间高强度测试工作过程中,测试人员容易疲劳,导致对人机交互界面进行误判,造成测试错误。
因此,有从业者提出了一种自动化界面测试系统,该方案需要从被测界面程序代码中读取包括界面元素名、界面元素类型和业务功能要求信息在内的界面元素信息;需要了解业务功能和用户使用情况才能生存测试案例;且在界面程序代码以及业务功能和用户使用情况未知的情况下,无法实施。该方案是针对用户响应功能的测试。测试通过原则是功能要求响应结果是否与预期验证结果一致,并没有针对最终界面显示是否正确进行测试,所以最终界面显示是否正常并不能通过该测试方案得到反馈。所以,该方案只适用于界面设计代码与应用逻辑代码相分离的设计模式的软件系统,不能适用其他非分离式设计模式的人机交互界面系统。
另有从业者提出了一种界面测试方法和装置,该方案在每遍历到一个界面时,分别对其进行截图,并将截图进行保存;并利用截图与基准界面进行比较,从得出测试结果。由于截图是软件内部数据的保存,并不能验证最终在显示设备上的界面是正确显示的,例如,系统显示屏出现故障的时候,若界面截图数据与基准界面比较一致,则该测试结果会被认为通过,但实际情况却是显示屏上不能正确显示基准界面,所以该方案并适用于对系统级的包含软件和硬件的测试。该方案不能自动对基准界面图进行分析识别,获取界面元素的位置信息,没有考虑到各界面之间的跳转关系的测试,不能测试各界面之间的跳转关系,也不能自动生成用例数据。而且,该方案只采用了相似度阀值判断基准界面与被测界面是否相同单一的判断基准,对界面中的文字的相似判断不够准确,容易造成误判。
还有从业者提出了一种自绘界面软件的测试方法和装置,该方案需要获取自绘界面的配置文件和资源文件才能获取界面元素的位置信息,不能通过对图像处理技术对自绘界面图像进行识别分析自动得出界面元素的位置信息。该方案在等待模拟用户操作得到响应的方法是利用界面元素的特定颜色变化来判断,需要准确获取软件界面中特定位置的的像素点的颜色代码,这就需要从软件内部获取界面数据,无法正对整个软硬件系统测试。而且,该方案是针对界面元素相关的文字信息或URL信息是否符合预期进行测试,并不关心最终在显示设备上显示的界面是否正确。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、通用性好、能够大幅提高测试效率的人机图形交互界面的自动化测试方法和系统。
为解决上述技术问题,本发明采用以下技术方案:
一种机器视觉技术的人机图形交互界面的自动化测试方法,其步骤为:
S1:采集人机交互各界面的各种状态参数:包括界面设计图以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据;
S2:生成界面跳转操作指令:对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行自动分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令,无需人工参与分析;
S3:生成测试用例:自动利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例,无需人工参与生成测试用例;
S4:执行测试用例:发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若界面图像开始剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像。
S5:相似度比对:将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别获取界面中的字符信息,并将通过光学字符识别获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
作为本发明方法的进一步改进:还包括步骤S6:测试结果记录,记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别获得字符信息保存,作为测试结果信息的一部分。
作为本发明方法的进一步改进:还包括步骤S7输出:将记录的各界面测试结果传输到显示设备,供测试人员查看。
作为本发明方法的进一步改进:还包括步骤S0,位于步骤S1之前;S0:构建自动化测试系统:使用图像采集设备用来采集人机交互界面屏幕上的图像。
作为本发明方法的进一步改进:构建自动化测试系统时调整光照环境,以获得最佳的图像采集效果;对于带有光源的显示屏,采取调整遮光罩的方法遮挡外界干扰光源产生的眩光;对于自身不带光源的显示屏,采用调整补光灯指向和光强的方法补偿环境光照强度。
作为本发明方法的进一步改进:所述步骤S2的流程为:首先从界面设计图中识别并提取各元素,随后获取各元素边界位置数据以及字符信息数据,并根据各元素图像特征将元素进行分类记录。
作为本发明方法的进一步改进:在进行分类时分为三类:按钮元素类、字符信息显示元素类和其他元素类。
作为本发明方法的进一步改进:所述跳转条件是当前界面某个按钮元素被点击,或是当某个基于数据比较的逻辑条件成立,或者是某个按钮元素被点击并且某个基于数据比较的逻辑条件成立。
作为本发明方法的进一步改进:所述界面跳转指令包含如下组成部分:
a)当前界面的模拟用户点击按钮的操作数据;
b)当前界面的进行逻辑比较所需要的参数数据;
c)下一个界面需要的参数数据;
d)下一个界面需要的字符信息数据;
其中,所述参数数据是界面元素需要的数据。
作为本发明方法的进一步改进:所述跳转操作指令包含目标界面中的字符信息和图像显示相关参数,以及模拟鼠标或是触摸屏运动坐标和点击方式的数据,即该跳转操作指令包含了模拟了人工操作鼠标点击或直接点击触摸屏所产生数据和目标界面显示所需要的字符信息和图像显示相关数据。
作为本发明方法的进一步改进:所述上述步骤S4的具体步骤为:当执行测试用例时,一方面向被测系统发出界面跳转指令,另一方面同时发送图像采集装置拍摄指令,控制摄像头对被测系统的界面显示屏摄像,获取界面图像;在发出界面跳转指令的同时开始计时,当经过等待T秒(T秒时间根据不同的被测对象设置成不同时间)时间后,对界面图像进行每相邻两帧图像进行帧差运算,当运算结果达到要求时,认为界面图像无剧烈变化,认为界面图像已经完成跳转,否则认为界面图像还在进行跳转;若界面图像还在跳转,则再等待T秒时间后,再次对图像进行帧差运算;若经过N次重复此步骤后,界面图像还在跳转,则认为该条测试用例测试结果为不通过,停止等待,停止对图像进行帧差运算,且不再进行步骤S5;若界面图像完成跳转后,对图像数据进行保存。
本发明进一步提供一种机器视觉技术的人机图形交互界面的自动化测试系统,其包括:
数据输入模块,用来采集人机交互各界面的各种状态参数:包括界面设计图以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据;
界面跳转指令生成模块,用来对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令;
测试用例生成模块,用来利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;
测试用例执行模块,发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若界面图像开始剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像;
相似度比对模块,用于将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别获取界面中的字符信息,并将通过光学字符识别获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
作为本发明系统的进一步改进:还包括测试结果记录模块,用来记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别获得字符信息保存,作为测试结果信息的一部分。
作为本发明系统的进一步改进:还包括输出模块,用来将记录的各界面测试结果传输到显示设备,供测试人员查看。
与现有技术相比,本发明的优点在于:
1、本发明无需获取软件代码或配置文件和资源文件,只需要人机交互界面设计图,利用图像处理技术对界面设计图自动进行分析处理,获得界面中各元素的类型和元素位置信息。
2、本发明利用摄像头对显示屏进行拍摄获取界面图像,能对最终呈现给用户的界面图像显示情况进行测试。利用图像处理技术将摄像头拍摄的图像和界面设计图进行相似度判断得出整幅被测界面图像与设计图的一致性,并且还同时利用光学字符识别(OCR)方法对被测界面中的字符信息进行识别,判断识别出的字符信息与设计图中的字符信息一致性,只有当图像一致性判断和字符信息一致性判断都通过时,才认为该界面显示正确。双重一致性判断能够避免在单一使用图像相似性判别时产生的误判。
3、本发明能够根据界面设计图以及各界面设计图之间的跳转关系以及相关参数自动生成测试用例以及相关模拟用户操作的数据。
4、本发明能对人机交互界面是否正确显示(包含人机交互界面各元素和各字符信息是否正确显示)以及各个界面之间的跳转关系进行测试。
5、本发明能够简化了测试工作,大幅提高测试效率,避免人为测试错误。本发明可以自动对界面设计图和各界面之间的跳转关系及相关数据自行分析,枚举各界面跳转路径,无需人工参与,避免人工分析跳转路径是产生遗漏。
附图说明
图1是本发明方法的流程示意图。
图2是本发明在具体应用实例中界面设计图自动识别分析示意图。
图3是本发明在具体应用实例中界面跳转关系的示意图。
图4是本发明在具体应用实例中步骤S4的流程示意图。
图5是本发明在具体应用实例中构建自动化测试系统后的示意图。
图6是本发明自动化测试系统集成后的框架原理示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
本发明是根据人机交互界面的特点,利用图像处理技术对拍摄到的人机交互界面图像与预先设计的界面图像进行相似度判断,同时对拍摄到的人机交互界面图像进行光学字符识别(OCR),当相似度达到要求,且经过光学字符识别后获得的字符信息与预先设计的字符信息一致时,认为实际的人机交互界面与预先设计的界面一致,通过测试。
如图1所示,本发明的一种人机图形交互界面的自动化测试方法,其步骤为:
S1:采集人机交互各界面的各种状态参数:包括界面设计图(即:人机交互各界面设计图像)以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据。
具体操作时,可以将界面设计图(即:人机交互各界面设计图像)以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据通过自动化测试系统输入接口输入自动化测试系统。
S2:生成界面跳转操作指令:对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令;
S3:生成测试用例:利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;
具体应用时,测试用例可以根据实际需要包含如下几个部分:
a)界面跳转指令;
b)摄像头控制指令;
S4:执行测试用例:发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若界面图像开始剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像。
S5:相似度比对:将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别(OCR)获取界面中的字符信息,并将通过光学字符识别(OCR)获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
在本实施例中,还可以进一步包括步骤S6:测试结果记录:记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别(OCR)获得字符信息保存,作为测试结果信息的一部分。
在本实施例中,还可以进一步包括步骤S7输出:将记录的各界面测试结果传输到显示设备(如:外部PC),供测试人员查看。
在本实施例中,还可以进一步包括步骤S0,位于步骤S1之前。参见图5,S0:构建自动化测试系统:使用图像采集设备用来采集人机交互界面屏幕上的图像。在该步骤中,进一步可以调整光照环境,以获得最佳的图像采集效果。对于带有光源的显示屏,采取调整遮光罩的方法遮挡外界干扰光源产生的眩光。而对于自身不带光源的显示屏,可以采用调整补光灯指向和光强的方法补偿环境光照强度。
在上述步骤S2中,参见图2所示,为对界面设计图自动识别分析过程的示意图,图中显示了首先从界面设计图中识别并提取各元素,随后获取各元素边界位置数据以及字符信息数据,并根据各元素图像特征将元素进行分类记录,主要分为三类:按钮元素类、字符信息显示元素类和其他元素类。
如图3所示,为在具体应用实例中A、B、C、D四个界面设计图以及它们之间的跳转关系和跳转条件。步骤S3应根据它们之间的跳转关系,枚举出这四个界面之间的每一条跳转路径;同时,根据各界面之间的跳转关系生成界面跳转指令。例如,这里可以枚举出如下几条路径:
a)A-->B,满足条件Ⅰ;
b)A-->C,满足条件Ⅱ;
c)B-->C,满足条件Ⅲ;
d)C-->D,满足条件Ⅳ;
界面跳转条件可以是当前界面某个按钮元素被点击或是当某个基于数据比较的逻辑条件成立,也可以是某个按钮元素被点击并且某个基于数据比较的逻辑条件成立。
当需要跳转条件中某个按钮元素被点击,则界面跳转指令生成模块能够根据对界面设计图分析获得的按钮位置数据生成模拟用户点击按钮的操作数据。
上述的界面跳转指令包含如下组成部分:
a)当前界面的模拟用户点击按钮的操作数据;
b)当前界面的进行逻辑比较所需要的参数数据;
c)下一个界面需要的参数数据;
d)下一个界面需要的字符信息数据;
其中,参数数据可以是一些界面元素需要的数据,例如显示列车速度元素所需要的速度数据;字符信息数据可以是用来显示文字和符号信息的元素所需要的文本数据。
跳转操作指令包含了目标界面中的字符信息和图像显示相关参数,以及模拟鼠标或是触摸屏运动坐标和点击方式的数据,即该跳转操作指令包含了模拟了人工操作鼠标点击或直接点击触摸屏所产生数据和目标界面显示所需要的字符信息和图像显示相关数据。
参见图4,在上述步骤S4中,具体步骤为:当执行测试用例时,一方面向被测系统发出界面跳转指令,另一方面同时发送图像采集装置(摄像头)拍摄指令,控制摄像头对被测系统的界面显示屏摄像,获取界面图像。在发出界面跳转指令的同时开始计时,当经过等待T秒时间后,对界面图像进行每相邻两帧图像进行帧差运算,当运算结果达到要求时,认为界面图像已经完成跳转,否则认为界面图像还在进行跳转;若界面图像还在跳转,则再等待T秒时间后,再次对图像进行帧差运算;若经过N次重复此步骤后,界面图像还在跳转,则认为该条测试用例测试结果为不通过,停止等待,停止对图像进行帧差运算,且不再进行步骤S5,直接进入步骤S6;若界面图像完成跳转后,对图像数据进行保存。在上述过程中,时间T和次数N都根据被测系统特点设置。
本发明进一步提供一种用来实施上述方法的自动化测试系统,如图6所示,其包括:
数据输入模块,用来采集人机交互各界面的各种状态参数:包括界面设计图(即:人机交互各界面设计图像)以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据。即,通过数据输入模块将上述状态参数输入至本发明的自动化测试系统。
界面跳转指令生成模块,用来对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令;
测试用例生成模块,用来利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;
测试用例执行模块,发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若界面图像开始剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像。即,
相似度比对模块,用于将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别(OCR)获取界面中的字符信息,并将通过光学字符识别(OCR)获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
在较佳的实施例中,还包括测试结果记录模块,用来记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别(OCR)获得字符信息保存,作为测试结果信息的一部分。
在较佳的实施例中,还包括输出模块,用来将记录的各界面测试结果传输到显示设备(如:外部PC),供测试人员查看。
由上可知,本发明的自动化测试方法和系统,不需要了解程序代码,只需要界面设计图,该图可以但不限于是JGP或PNG格式的图像文件。本发明能够自动对界面设计图进行数字图像分析处理,识别界面设计图中的各个元素并进行归类记录。本发明能够对界面设计图自动分析处理,获得界面按钮元素的边界位置数据,并自动生成对人机交互界面操作的数据,例如模拟用户使用鼠标点击界面中的某个按钮元素或是用户直接点击触摸屏的操作。
在上述过程中,本发明能够利用界面设计图和各界面之间的跳转关系、跳转条件及相关数据进行自动分析,枚举出各界面之间的跳转路径,并结合第3点中生成的模拟用户操作的数据,自动生成界面跳转指令,无需人工参与。因此可知,本发明可以自动根据界面设计图和各界面跳转关系、跳转条件以及相关数据自动生成测试用例,无需人工设计测试用例。
本发明的自动测试方法和系统对于人机交互界面的测试过程中,利用摄像头对人机交互界面图像进行拍摄从而获取人机交互界面实际图像,能够对最终显现给用户人机交互界面图像进行检查,显示设备硬件故障导致的人机交互界面图像不能正确显示的情况也能被检测到。本发明利用图像处理技术领域里的图像相似度计算方法和光学字符识别(OCR)方法分别对实际人机交互界面图像与界面设计图相似程度和通过光学字符识别(OCR)获得的字符信息与界面设计图中的字符信息是否相同,这两个条件同时进行判断,只有当图像判断结果为相似且字符判断结果为相同时,才认为本次对该界面的测试通过,降低了误判的概率,提高了测试的准确性。本发明在利用摄像头对人机交互界面图像进行拍摄时,为避免由于界面执行跳转动作还未完成时,摄像头拍摄到错误的界面图像,特采用延时等待T秒时间,再对拍摄到的动态图像进行每相邻两帧的图像帧差运算,并对运算结果进行判断,当帧差运算结果符合要求时,认为界面跳转完成,再对界面图像记录保存,留给后续步骤用;采用此方法能避开在人机交互界面正在进行界面跳转时,进行拍照,获取了错误的界面图像,造成测试错误。本发明界面测试结果中包含有拍摄到的实际界面图像以及光学字符识别(OCR)获得的字符信息,供测试人员检查自动化测试系统判断是否正确。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (14)
1.一种人机图形交互界面的自动化测试方法,其特征在于,步骤为:
S1:采集人机交互各界面的各种状态参数:包括界面设计图以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据;
S2:生成界面跳转操作指令:对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令;
S3:生成测试用例:利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;
S4:执行测试用例:发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若检测到界面图像剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若检测到界面图像无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像;
S5:相似度比对:将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别获取界面中的字符信息,并将通过光学字符识别获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
2.根据权利要求1所述的人机图形交互界面的自动化测试方法,其特征在于,还包括步骤S6:测试结果记录,记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别获得字符信息保存,作为测试结果信息的一部分。
3.根据权利要求1所述的人机图形交互界面的自动化测试方法,其特征在于,还包括步骤S7输出:将记录的各界面测试结果传输到显示设备,供测试人员查看。
4.根据权利要求1所述的人机图形交互界面的自动化测试方法,其特征在于,还包括步骤S0,位于步骤S1之前;S0:构建自动化测试系统:使用图像采集设备用来采集人机交互界面屏幕上的图像。
5.根据权利要求4所述的人机图形交互界面的自动化测试方法,其特征在于,构建自动化测试系统时调整光照环境,以获得最佳的图像采集效果;对于带有光源的显示屏,采取调整遮光罩的方法遮挡外界干扰光源产生的眩光;对于自身不带光源的显示屏,采用调整补光灯指向和光强的方法补偿环境光照强度。
6.根据权利要求1~5中任意一项所述的人机图形交互界面的自动化测试方法,其特征在于,所述步骤S2的流程为:首先从界面设计图中识别并提取各元素,随后获取各元素边界位置数据以及字符信息数据,并根据各元素图像特征将元素进行分类记录。
7.根据权利要求6所述的人机图形交互界面的自动化测试方法,其特征在于,在进行分类时分为三类:按钮元素类、字符信息显示元素类和其他元素类。
8.根据权利要求6所述的人机图形交互界面的自动化测试方法,其特征在于,所述跳转条件是当前界面某个按钮元素被点击,或是当某个基于数据比较的逻辑条件成立,或者是某个按钮元素被点击并且某个基于数据比较的逻辑条件成立。
9.根据权利要求6所述的人机图形交互界面的自动化测试方法,其特征在于,所述界面跳转指令包含如下组成部分:
a)当前界面的模拟用户点击按钮的操作数据;
b)当前界面的进行逻辑比较所需要的参数数据;
c)下一个界面需要的参数数据;
d)下一个界面需要的字符信息数据;
其中,所述参数数据是界面元素需要的数据。
10.根据权利要求6所述的人机图形交互界面的自动化测试方法,其特征在于,所述跳转操作指令包含目标界面中的字符信息和图像显示相关参数,以及模拟鼠标或是触摸屏运动坐标和点击方式的数据,即该跳转操作指令包含了模拟了人工操作鼠标点击或直接点击触摸屏所产生数据和目标界面显示所需要的字符信息和图像显示相关数据。
11.根据权利要求1~5中任意一项所述的人机图形交互界面的自动化测试方法,其特征在于,所述上述步骤S4的具体步骤为:当执行测试用例时,一方面向被测系统发出界面跳转指令,另一方面同时发送图像采集装置拍摄指令,控制摄像头对被测系统的界面显示屏摄像,获取界面图像;在发出界面跳转指令的同时开始计时,当经过等待T秒时间后,对界面图像进行每相邻两帧图像进行帧差运算,当运算结果达到要求时,认为检测到的界面图像已无剧烈变化,认为界面图像已经完成跳转,否则认为界面图像还在进行跳转;若界面图像还在跳转,则再等待T秒时间后,再次对图像进行帧差运算;若经过N次重复此步骤后,界面图像还在跳转,则认为该条测试用例测试结果为不通过,停止等待,停止对图像进行帧差运算,且不再进行步骤S5;若界面图像完成跳转后,对图像数据进行保存。
12.一种人机图形交互界面的自动化测试系统,其特征在于,包括:
数据输入模块,用来采集人机交互各界面的各种状态参数:包括界面设计图以及各界面跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息的数据;
界面跳转指令生成模块,用来对各界面设计图、各界面之间跳转关系、跳转条件以及跳转参数和各界面设计图中的字符信息进行分析,枚举出各界面之间的每一条跳转路径并结合跳转条件和跳转参数生成界面跳转操作指令;
测试用例生成模块,用来利用各界面设计图以及其中的字符信息并结合界面跳转操作指令生成测试用例;
测试用例执行模块,发送跳转操作指令,使其在各界面之间跳转;在发出跳转指令时立刻对人机交互界面进行图像采集,对界面图像进行检测;若检测到界面图像开始剧烈变化,说明人机交互界面还在进行界面之间的跳转,此时不记录界面图像;若检测到界面图像无剧烈变化,则说明界面跳转动作完成,可以记录界面图像,进入对人机交互界面进行拍摄的过程以获取实际的人机交互界面图像;
相似度比对模块,用于将测试前获得的界面设计图与通过图像采集获得的人机交互界面图像进行相似度计算,当相似度大于预定的阀值时,认为两幅图像相同,再通过对图像采集获得的人机交互界面图像进行光学字符识别获取界面中的字符信息,并将通过光学字符识别获得字符信息与测试前获取的各界面设计图中的字符信息进行对比;若相同,则认为实际显示的字符信息与预先设计的字符信息相同;当实际显示的人机界面图像与界面设计图相同且实际显示的字符信息与预先设计的字符信息相同时,认为该界面的测试用例通过。
13.根据权利要求12所述的人机图形交互界面的自动化测试系统,其特征在于,还包括测试结果记录模块,用来记录各界面的测试结果;同时不论各界面测试是否通过,都会将图像采集获得的实际界面图像以及光学字符识别获得字符信息保存,作为测试结果信息的一部分。
14.根据权利要求12或13所述的人机图形交互界面的自动化测试系统,其特征在于,还包括输出模块,用来将记录的各界面测试结果传输到显示设备,供测试人员查看。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410826033.1A CN105808416B (zh) | 2014-12-27 | 2014-12-27 | 一种人机图形交互界面的自动化测试方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410826033.1A CN105808416B (zh) | 2014-12-27 | 2014-12-27 | 一种人机图形交互界面的自动化测试方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808416A true CN105808416A (zh) | 2016-07-27 |
CN105808416B CN105808416B (zh) | 2018-04-13 |
Family
ID=56981534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410826033.1A Active CN105808416B (zh) | 2014-12-27 | 2014-12-27 | 一种人机图形交互界面的自动化测试方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808416B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294161A (zh) * | 2016-08-12 | 2017-01-04 | 北京奇虎科技有限公司 | 一种应用的界面功能测试方法和装置 |
CN106776298A (zh) * | 2016-11-30 | 2017-05-31 | 中国直升机设计研究所 | 一种航电系统显示软件自动化测试方法及系统 |
CN107463327A (zh) * | 2017-07-20 | 2017-12-12 | 福建网龙计算机网络信息技术有限公司 | 一种获取界面控件元素位置信息的方法及终端 |
CN107784649A (zh) * | 2017-10-20 | 2018-03-09 | 长飞光纤光缆股份有限公司 | 基于图像识别的芯棒测试远程报警系统及方法 |
CN107908559A (zh) * | 2017-11-15 | 2018-04-13 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
WO2018099246A1 (zh) * | 2016-11-30 | 2018-06-07 | 中兴通讯股份有限公司 | 一种触摸屏调试检测方法、装置及其计算机存储介质 |
CN108920368A (zh) * | 2018-06-29 | 2018-11-30 | 北京微播视界科技有限公司 | 数据测试的方法、装置及电子设备 |
CN109901597A (zh) * | 2017-12-08 | 2019-06-18 | 中国科学院沈阳自动化研究所 | 一种适用于水下机器人的设备自动控制器及控制方法 |
CN109948634A (zh) * | 2017-12-21 | 2019-06-28 | 江苏奥博洋信息技术有限公司 | 一种判断两张图像特征是否一致的方法 |
CN109992518A (zh) * | 2019-04-10 | 2019-07-09 | 禄鹏 | Ui界面的检测方法、装置、电子设备及存储介质 |
CN110072180A (zh) * | 2019-04-16 | 2019-07-30 | 吉林大学 | 一种基于视觉反馈的车载安卓主机测试台 |
CN110286882A (zh) * | 2019-05-24 | 2019-09-27 | 北京航空航天大学 | 一种基于模型检测的前台系统设计与验证方法 |
CN110377354A (zh) * | 2019-06-04 | 2019-10-25 | 哈尔滨工业大学(威海) | 一种软件操作序列自动生成方法 |
CN110703726A (zh) * | 2019-09-26 | 2020-01-17 | 上海赫千电子科技有限公司 | 一种应用于机车的自动升级测试方法 |
CN110780965A (zh) * | 2019-10-24 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 基于视觉的流程自动化方法、设备及可读存储介质 |
CN110888812A (zh) * | 2019-11-26 | 2020-03-17 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN111737141A (zh) * | 2020-06-29 | 2020-10-02 | 扬州航盛科技有限公司 | 一种结合深度学习技术的黑盒自动化测试系统和方法 |
CN111782505A (zh) * | 2020-05-26 | 2020-10-16 | 株洲中车时代电气股份有限公司 | 列车系统仿真测试方法、装置、计算机设备和存储介质 |
CN111913868A (zh) * | 2019-05-07 | 2020-11-10 | 杭州海康威视数字技术股份有限公司 | 用户界面的测试方法、装置、系统及存储介质 |
WO2020253466A1 (zh) * | 2019-06-21 | 2020-12-24 | 深圳前海微众银行股份有限公司 | 一种用户界面的测试用例生成方法及装置 |
CN112559314A (zh) * | 2019-09-26 | 2021-03-26 | 上海汽车集团股份有限公司 | 人机交互界面的测试方法和测试装置 |
CN113495844A (zh) * | 2021-07-22 | 2021-10-12 | 上汽通用五菱汽车股份有限公司 | 基于虚拟点击的自动化测试方法、装置、系统及存储介质 |
CN113706452A (zh) * | 2021-07-09 | 2021-11-26 | 武汉思恒达科技有限公司 | 一种基于图像识别的充电桩自动检测系统及其检测方法 |
CN116703908A (zh) * | 2023-08-04 | 2023-09-05 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN116756233A (zh) * | 2023-08-23 | 2023-09-15 | 博智安全科技股份有限公司 | 一种态势数据处理方法、装置、电子设备及存储介质 |
CN112559314B (zh) * | 2019-09-26 | 2024-05-31 | 上海汽车集团股份有限公司 | 人机交互界面的测试方法和测试装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
US20110173589A1 (en) * | 2010-01-13 | 2011-07-14 | Microsoft Corporation | Cross-Browser Interactivity Testing |
CN102279795A (zh) * | 2011-08-24 | 2011-12-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种测试方法及装置 |
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和系统 |
CN103593284A (zh) * | 2013-10-15 | 2014-02-19 | 上海软智信息科技有限公司 | 一种测试方法及装置 |
-
2014
- 2014-12-27 CN CN201410826033.1A patent/CN105808416B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
US20110173589A1 (en) * | 2010-01-13 | 2011-07-14 | Microsoft Corporation | Cross-Browser Interactivity Testing |
CN102279795A (zh) * | 2011-08-24 | 2011-12-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种测试方法及装置 |
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和系统 |
CN103593284A (zh) * | 2013-10-15 | 2014-02-19 | 上海软智信息科技有限公司 | 一种测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
张博刚等: "基于运行监测的图形用户界面自动化测试模型", 《计算机应用》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294161A (zh) * | 2016-08-12 | 2017-01-04 | 北京奇虎科技有限公司 | 一种应用的界面功能测试方法和装置 |
CN106776298A (zh) * | 2016-11-30 | 2017-05-31 | 中国直升机设计研究所 | 一种航电系统显示软件自动化测试方法及系统 |
WO2018099246A1 (zh) * | 2016-11-30 | 2018-06-07 | 中兴通讯股份有限公司 | 一种触摸屏调试检测方法、装置及其计算机存储介质 |
CN107463327A (zh) * | 2017-07-20 | 2017-12-12 | 福建网龙计算机网络信息技术有限公司 | 一种获取界面控件元素位置信息的方法及终端 |
CN107784649B (zh) * | 2017-10-20 | 2021-09-03 | 长飞光纤光缆股份有限公司 | 基于图像识别的芯棒测试远程报警系统及方法 |
CN107784649A (zh) * | 2017-10-20 | 2018-03-09 | 长飞光纤光缆股份有限公司 | 基于图像识别的芯棒测试远程报警系统及方法 |
CN107908559A (zh) * | 2017-11-15 | 2018-04-13 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
CN107908559B (zh) * | 2017-11-15 | 2021-05-07 | 中国农业银行股份有限公司 | 一种测试案例设计方法及装置 |
CN109901597B (zh) * | 2017-12-08 | 2021-05-25 | 中国科学院沈阳自动化研究所 | 一种适用于水下机器人的设备自动控制器及控制方法 |
CN109901597A (zh) * | 2017-12-08 | 2019-06-18 | 中国科学院沈阳自动化研究所 | 一种适用于水下机器人的设备自动控制器及控制方法 |
CN109948634A (zh) * | 2017-12-21 | 2019-06-28 | 江苏奥博洋信息技术有限公司 | 一种判断两张图像特征是否一致的方法 |
CN108920368A (zh) * | 2018-06-29 | 2018-11-30 | 北京微播视界科技有限公司 | 数据测试的方法、装置及电子设备 |
CN109992518A (zh) * | 2019-04-10 | 2019-07-09 | 禄鹏 | Ui界面的检测方法、装置、电子设备及存储介质 |
CN110072180A (zh) * | 2019-04-16 | 2019-07-30 | 吉林大学 | 一种基于视觉反馈的车载安卓主机测试台 |
CN111913868B (zh) * | 2019-05-07 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 用户界面的测试方法、装置、系统及存储介质 |
CN111913868A (zh) * | 2019-05-07 | 2020-11-10 | 杭州海康威视数字技术股份有限公司 | 用户界面的测试方法、装置、系统及存储介质 |
CN110286882B (zh) * | 2019-05-24 | 2021-03-09 | 北京航空航天大学 | 一种基于模型检测的前台系统设计与验证方法 |
CN110286882A (zh) * | 2019-05-24 | 2019-09-27 | 北京航空航天大学 | 一种基于模型检测的前台系统设计与验证方法 |
CN110377354B (zh) * | 2019-06-04 | 2020-09-01 | 哈尔滨工业大学(威海) | 一种软件操作序列自动生成方法 |
CN110377354A (zh) * | 2019-06-04 | 2019-10-25 | 哈尔滨工业大学(威海) | 一种软件操作序列自动生成方法 |
WO2020253466A1 (zh) * | 2019-06-21 | 2020-12-24 | 深圳前海微众银行股份有限公司 | 一种用户界面的测试用例生成方法及装置 |
CN112559314B (zh) * | 2019-09-26 | 2024-05-31 | 上海汽车集团股份有限公司 | 人机交互界面的测试方法和测试装置 |
CN112559314A (zh) * | 2019-09-26 | 2021-03-26 | 上海汽车集团股份有限公司 | 人机交互界面的测试方法和测试装置 |
CN110703726A (zh) * | 2019-09-26 | 2020-01-17 | 上海赫千电子科技有限公司 | 一种应用于机车的自动升级测试方法 |
CN110780965A (zh) * | 2019-10-24 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 基于视觉的流程自动化方法、设备及可读存储介质 |
CN110780965B (zh) * | 2019-10-24 | 2023-10-20 | 深圳前海微众银行股份有限公司 | 基于视觉的流程自动化方法、设备及可读存储介质 |
CN110888812A (zh) * | 2019-11-26 | 2020-03-17 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN110888812B (zh) * | 2019-11-26 | 2023-11-07 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN111782505A (zh) * | 2020-05-26 | 2020-10-16 | 株洲中车时代电气股份有限公司 | 列车系统仿真测试方法、装置、计算机设备和存储介质 |
CN111782505B (zh) * | 2020-05-26 | 2024-05-28 | 株洲中车时代电气股份有限公司 | 列车系统仿真测试方法、装置、计算机设备和存储介质 |
CN111737141A (zh) * | 2020-06-29 | 2020-10-02 | 扬州航盛科技有限公司 | 一种结合深度学习技术的黑盒自动化测试系统和方法 |
CN113706452A (zh) * | 2021-07-09 | 2021-11-26 | 武汉思恒达科技有限公司 | 一种基于图像识别的充电桩自动检测系统及其检测方法 |
CN113495844B (zh) * | 2021-07-22 | 2023-03-14 | 上汽通用五菱汽车股份有限公司 | 基于虚拟点击的自动化测试方法、装置、系统及存储介质 |
CN113495844A (zh) * | 2021-07-22 | 2021-10-12 | 上汽通用五菱汽车股份有限公司 | 基于虚拟点击的自动化测试方法、装置、系统及存储介质 |
CN116703908A (zh) * | 2023-08-04 | 2023-09-05 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN116703908B (zh) * | 2023-08-04 | 2023-10-24 | 有方(合肥)医疗科技有限公司 | 成像系统的测试方法、装置及成像系统 |
CN116756233A (zh) * | 2023-08-23 | 2023-09-15 | 博智安全科技股份有限公司 | 一种态势数据处理方法、装置、电子设备及存储介质 |
CN116756233B (zh) * | 2023-08-23 | 2023-11-07 | 博智安全科技股份有限公司 | 一种态势数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105808416B (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808416A (zh) | 一种人机图形交互界面的自动化测试方法和系统 | |
CN109684803B (zh) | 基于手势滑动的人机验证方法 | |
WO2017032311A1 (zh) | 一种检测方法及装置 | |
US9332252B2 (en) | Automatic test system for digital display systems | |
CN111290955B (zh) | 用于地铁信号系统测试软件的非侵入式自动化测试系统 | |
CN106776298A (zh) | 一种航电系统显示软件自动化测试方法及系统 | |
CN109359043B (zh) | 一种基于机器学习的移动游戏自动化测试方法 | |
WO2022033179A1 (zh) | 一种交通灯识别的方法和装置 | |
CN111080624B (zh) | 精子运动状态的分类方法、装置、介质及电子设备 | |
CN111783640A (zh) | 检测方法、装置、设备以及存储介质 | |
Lisanti et al. | A multi-camera image processing and visualization system for train safety assessment | |
CN113034421A (zh) | 一种图像检测方法、装置及存储介质 | |
CN110888812B (zh) | 终端页面的响应时间的测试系统及测试方法 | |
KR102440198B1 (ko) | 시각 검색 방법, 장치, 컴퓨터 기기 및 저장 매체 (video search method and apparatus, computer device, and storage medium) | |
CN110321867A (zh) | 基于部件约束网络的遮挡目标检测方法 | |
KR20200048256A (ko) | 객체 정보 추출 장치 및 방법 | |
CN112149828B (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
WO2023110478A1 (en) | Method for automatically exploring states and transitions of a human machine interface (hmi) device | |
WO2022019018A1 (en) | Segmentation of continuous dynamic scans | |
CN103760998A (zh) | 利用ccd传感器过度曝光实现对激光笔超亮光标识别的方法 | |
CN114264904A (zh) | 基于仿真和机器视觉的全液晶仪表测试方法及系统 | |
CN106775701A (zh) | 一种客户端自动取证方法和系统 | |
CN112418362A (zh) | 一种目标检测训练样本筛选方法 | |
CN111238829A (zh) | 移动状态的确定方法、装置、计算机设备和存储介质 | |
CN220231752U (zh) | 一种便携式胶体金免疫层析试纸定量检测设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |