首页> 中国专利> 一种非侵入式嵌入式软件图形用户界面自动化测试方法

一种非侵入式嵌入式软件图形用户界面自动化测试方法

摘要

本发明涉及一种非侵入式嵌入式软件图形用户界面自动化测试方法,属于软件图形用户界面测试技术领域。本发明提出的方法基于嵌入式软件图形用户界面进行捕获、识别、键盘鼠标模拟和测试自动控制,实用可行,通过采集将识别出的图像输出信息作为被测件的输出,以模拟控制键盘鼠标信息为被测件的输入,从而完成在不改变嵌入式软件系统的情况下对嵌入式软件系统GUI信息的实时捕获和相应操作,完成非侵入式嵌入式软件图形用户界面自动化测试。

著录项

  • 公开/公告号CN105988924A

    专利类型发明专利

  • 公开/公告日2016-10-05

    原文格式PDF

  • 申请/专利权人 中国船舶工业综合技术经济研究院;

    申请/专利号CN201510068277.2

  • 发明设计人 唐龙利;韩新宇;吴立金;夏冉;

    申请日2015-02-10

  • 分类号G06F11/36(20060101);

  • 代理机构中国船舶专利中心;

  • 代理人温振宁

  • 地址 100081 北京市海淀区学院南路70号

  • 入库时间 2023-06-19 00:38:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-28

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150210

    实质审查的生效

  • 2016-10-05

    公开

    公开

说明书

技术领域

本发明涉及一种非侵入式嵌入式软件图形用户界面自动化测试方法,属于软件图形用户界面测试技术领域。

背景技术

自动化测试技术按其机制可以分为侵入式和非侵入式,侵入式测试技术采取某种方式修改内部代码或者控制其运行环境;而非侵入式测试技术用于监视和检查软件,而不修改软件内部结构或者代码。普通GUI(图形用户界面)软件测试通常方式是应用现有测试工具构建测试框架,如Robot,RFT、WinRunner等工具。普通GUI测试框架方式常常需要与被测软件运行在同一系统,对资源消耗巨大,不适合嵌入式软件轻型、占用资源少、高性能、高可靠性、便于移植等特点。嵌入式软件内存较小,实时性,与硬件关系紧密,I/O通道少等特点适合采用非侵入式自动测试机制。

现阶段嵌入式软件GUI测试基本上还是停留在测试人员根据需求文档,先用自然语言写好测试用例,再用手工操作嵌入式设备,用眼睛观察用户界面信息,整个测试过程非常缓慢而且由于人为疏忽容易导致错误。

具有图形用户接口的嵌入式软件,其图形界面的输出判断主要由人脑进行,输入操作由手工操作完成。由于“人”的因素加入,被测软件的交联环境必须具有“人”的仿真能力,才能全面实现测试的自动执行。对于非嵌入式软件系统,由于具有强大的硬件和桌面系统的支持,实时监控GUI、模拟键盘和鼠标等行为较为容易,但对于嵌入式软件系统,由于受有限的硬件条件、操作系统环境、性能要求等,实时监控GUI、模拟键盘和鼠标等行为就显得较为困难,导致嵌入式软件的GUI自动化测试缺少有效的方法手段。

发明内容

为了解决现有技术的不足,本发明提出了一套实用可行的基于嵌入式软件图形用户界面的捕获、识别、键盘鼠标模拟和测试自动控制技术的嵌入式软件GUI自动化测试方法,通过采集将识别出的图像输出信息作为被测件的输出,以模拟控制键盘鼠标信息为被测件的输入,实现了在不改变嵌入式软件系统的情况下,对嵌入式软件系统GUI信息的实时捕获和相应操作,完成非侵入式嵌入式软件图形用户界面自动化测试。

一种非侵入式嵌入式软件图形用户界面自动化测试方法,主要包括以下步骤:

第一步,图像捕获,采用视频采集卡把嵌入式软件系统的视频采集并存储到实施GUI自动化测试的计算机上,通过视频分帧技术将被测软件的GUI视频信息提取分帧并保存成图像格式;

第二步,图像对比,以嵌入式软件系统启动后的初始界面作为初始基准图像,新截取图像,采用图像信息识别中的图像对比方式,与初始基准图像对比,采用动态图像差分的方法确定图像信息是否变化,通过图像变化阈值进行判断,当阈值达到人工设定的值后,将变化后的新图像确定为基准图像,加入基准图像库;

第三步,基准图像获取,对采集到的视频进行图像信息截取,同时依此与基准图像库的基准图像对比,当新截取的图像与所有基准图像通过图像变化阈值达到人工设定的值后,将变化后的新图像确定为基准图像,加入基准图像库,通过图像对比方式遗漏的软件界面采用人工捕获方式,加入基准图像库;

第四步,图像建模,选取基准图像进行图像建模,图像建模包括建立图像动态区域模型和像素位置模型,模型的参数为图像对比、图像查找、OCR识别和鼠标移动提供参数;

第五步,测试脚本生成,采用测试脚本形式保存测试用例和图像建模参数,用于控制测试的自动执行,图像建模的参数作为图像对比、图像查找、OCR识别和鼠标移动提供参数;

第六步,鼠标键盘指令执行,根据测试脚本,解析测试脚本,在测试计算机中鼠标键盘指令执行通过模拟鼠标、键盘的底层电子信号来实现对被测嵌入式软件的鼠标控制和键盘输入;

第七步,基于GUI图像的识别,根据测试脚本,解析测试脚本,通过图像对比,图像查找,文字识别根据动态区域模型参数在新截取图像上取出相关的图像信息;

第八步,执行结果的判断与保存,根据测试脚本,解析测试脚本,当解析到结果保存指令时,软件图形用户界面采用图像对比、图像查找、文字识别方式识别出的信息与预期结果比较,判断测试是否通过,并将图像对比,图像查找,文字识别的结果和比较结果存入数据库。

步骤四中所述的动态区域模型用于记录图像对比和图像查找的动态区域,包括模型的名称,左上角坐标,长度和宽度,为后续的图像比对、图像查找以及OCR文字识别提供参照源。

步骤四中的像素位置模型,用于控制鼠标移动参数,在基准图像中获取像素位置,包括像素的横坐标和纵坐标,作为鼠标移动的参数。

步骤五中的测试脚本主要是图像信息识别的函数和鼠标键盘操作的函数构成以及逻辑控制,其中,图像识别的函数有图像对比函数,图像查找函数以及OCR函数,生成时对基准图 像进行建模,拖拉鼠标选中需要识别的区域,获取区域位置,根据选择的生成函数功能会自动映射到脚本的关键词;鼠标移动与点击类函数生成时,在实时采集的图像中,自动获取鼠标的位置的像素坐标,点击鼠标,自动生成鼠标移动与点击的函数。

步骤六中通过模拟鼠标、键盘的底层电子信号来实现对被测嵌入式软件的鼠标控制和键盘输入的方法包括:

PCI接口电路负责与主机进行通信,通过PCI2.0协议,主机对设备进行控制;FPGA协议处理电路负责对PCI接口电路输出的控制指令进行解析,并将其转发至USB接口电路PS/2键盘PS/2鼠标接口芯片;同时,FPGA协议处理电路接收USB接口电路、PS/2键盘和PS/2鼠标接口芯片发送来的人机交互信号,并转发给PCI接口电路;

键盘模拟主要模拟键盘输出的信号,建立键盘对应字符的映射表以及键盘信息管理系统,通过键盘信息控制器把对应的ASCII码传送给嵌入式软件系统,实现对嵌入式软件的模拟输入;

鼠标模拟通过不同的输入端口连入嵌入式软件系统,实现鼠标的模拟操作,采用在移动光标前把光标移至左上角,通过计算目标位置与左上角的相对位置来准确移动光标,鼠标的移动包含从左上角移动到相应位置和从当前位置移动一定距离两种方式,鼠标按键形式包括左、右键的按下和弹起。

步骤七中所述的基于GUI图像的识别,是指实时捕获嵌入式软件系统视频输出的RGB点阵信息,利用图像识别技术,对采集到的图像进行实时地识别,由计算机实时“读”出被测嵌入式软件系统GUI信息。

本方法具有以下优势与特点:

1)图形用户界面的智能识别主要通过视频采集来收集嵌入式软件的视频输出,通过图像比对来判断视频输出的变化,采用图像特征识别技术来识别相关的图像信息,利用输出图像进行信息识别,不会干扰系统的运行,从而实现非侵入式的对测试执行结果判断。

2)键盘鼠标模拟主要依据键盘和鼠标的工作原理,采用的方法是以底层电子信号作为分析对象,不改变嵌入式软件系统的情况下实现键盘和鼠标的模拟,仿真人对嵌入式软件的操作,实现对嵌入式软件非侵入式的输入操作。

3)基于图像识别的技术方法更加的灵活,只需要被测系统的界面图像作为输入,不需要源代码,对被测系统的操作系统、编程语言都没有任何限制。由于图像识别的局限性,对于特别复杂的界面其误报率可能会较高,但是针对嵌入式软件图形用户界面比较适合。嵌入式软件GUI图像大多是计算机系统输出的标准字符,噪声较小,大大减少了降噪和矫正的处理工作,提高识别率,本测试方法比较适合针对嵌入式软件图形用户界面。

附图说明

图1本发明非侵入式嵌入式软件图形用户界面自动化测试方法的流程图。

具体实施方式

下面参照附图,对本发明的具体实施方式进行描述。非侵入式嵌入式软件图形用户界面自动化测试方法过程如下:

第一步,图像捕获,采用视频采集卡把嵌入式软件系统的视频转发至实施GUI自动化测试的计算机进行处理。嵌入式软件系统GUI信息捕获是指不干预嵌入式软件系统的情况下,利用视频采集技术将嵌入式软件系统输入到显示设备的视频信息采集并存储到对嵌入式软件实施GUI自动化测试的计算机上,通过视频分帧技术将被测软件的GUI视频信息提取分帧并保存成jpg、png或bmp格式图像,为GUI信息的处理的识别提供数据源。

第二步,图像对比,以嵌入式软件系统启动后的初始界面作为初始基准图像,新截取图像,采用图像信息识别中的图像对比方式,与初始基准图像对比,采用动态图像差分的方法确定图像信息是否变化,通过图像变化阈值进行判断,当阈值达到人工设定的值后,如图像相似度大于90%,将变化后的新图像确定为基准图像,加入基准图像库。

第三步,基准图像获取,操作被测软件,按一定频率(一般采用低于人眼识别的频率0~75Hz,本发明实施例中选用5Hz),对采集到的视频进行图像信息截取,同时依此与基准图像库的基准图像对比。当新截取的图像与所有基准图像通过图像变化阈值达到人工设定的值后,如图像相似度大于90%,将变化后的新图像确定为基准图像,加入基准图像库。通过图像对比方式遗漏的软件界面采用人工捕获方式,加入基准图像库。

第四步,图像建模。选取基准图像进行图像建模,图像建模包括建立图像动态区域模型和像素位置模型,为下一步骤中测试脚本生成的图像对比、图像查找、OCR识别和鼠标移动函数提供参数。

动态区域模型用于记录图像对比和图像查找的动态区域,像素位置模型用于控制鼠标移动参数。以基准图像作为图像框架,结合软件用户手册或操作手册,分析图像框架中嵌入式软件将动态输出信息的区域,为每个区域建立动态区域模型,该模型特性包括:模型的名称;左上角坐标(一般以相对于图像框架左上角的像素差来表示);长度(一般以所含像素多少来表示);宽度(一般以所含像素多少来表示)等,同时把这些模型确定为模型基准,为后续的图像比对、图像查找以及OCR文字识别提供参照源。

像素位置模型,在基准图像中获取像素位置,包括像素的横坐标和纵坐标,作为鼠标移动的参数。

第五步,测试脚本生成,采用测试脚本形式保存测试用例和图像建模参数,用于控制测试的自动执行。测试脚本中的通过第四步图像建模获得的图像对比、图像查找、OCR识别和鼠标移动函数提供参数,用于控制图像信息识别和鼠标键盘操作。

测试脚本主要是图像信息识别的函数和鼠标键盘操作的函数构成以及逻辑控制。图像识别的函数有图像对比函数,图像查找函数以及OCR函数,生成时对基准图像进行建模,拖拉鼠标选中需要识别的区域,获取区域位置,根据选择的生成函数功能会自动映射到脚本的关键词;鼠标移动与点击类函数生成时,在实时采集的图像中,自动获取鼠标的位置的像素坐标,点击鼠标,自动生成鼠标移动与点击的函数。

第六步,鼠标键盘指令执行。根据测试脚本,解析测试脚本,当解析到鼠标键盘指令时,在测试计算机中鼠标键盘指令执行通过模拟鼠标、键盘的底层电子信号来实现对被测嵌入式软件的鼠标控制和键盘输入,是一种不改变嵌入式软件系统的情况下的键盘和鼠标的模拟。实现方法如下:

PCI接口电路负责与主机进行通信,通过PCI2.0协议,主机对本设备进行控制。FPGA协议处理电路负责对PCI接口电路输出的控制指令进行解析,并将其转发至USB接口电路PS/2键盘PS/2鼠标接口芯片;同时,FPGA协议处理电路接收USB接口电路、PS/2键盘和PS/2鼠标接口芯片发送来的人机交互信号,并转发给PCI接口电路。

键盘模拟技术主要模拟键盘输出的信号。建立键盘对应字符的映射表以及键盘信息管理系统,通过键盘信息控制器把对应的ASCII码传送给嵌入式软件系统,从而实现对嵌入式软件的模拟输入,这样保证键盘模拟技术的通用性。

鼠标模拟技术与键盘模拟技术相似。通过不同的输入端口连入嵌入式软件系统,来实现鼠标的模拟操作。鼠标的重要功能就是光标定位,为了保证光标能够准确的到达目标位置,采用在移动光标前把光标移至左上角,通过计算目标位置与左上角的相对位置来准确移动光标。鼠标的移动包含从左上角移动到相应位置和从当前位置移动一定距离两种方式。鼠标按键形式包括左、右键的按下和弹起,从而实现多种鼠标操作方式。

第七步,基于GUI图像的识别,根据测试脚本,解析测试脚本,当解析到图像识别(包括图像对比,图像查找,文字识别)指令时,通过图像对比,图像查找,文字识别根据动态区域模型参数在新截取图像上取出相关的图像信息。

软件图形用户界面的识别的方式有基于程序代码识别、基于系统API的识别、基于反射机制的识别、基于UIAutomation的识别、基于GUI图像的识别。本测试方法采用基于GUI图像的识别。

基于GUI图像的识别是指在不干扰被测软件系统的情况下实时捕获嵌入式软件系统视频 输出的RGB点阵信息,利用图像识别技术,对采集到的图像进行实时地识别,由计算机实时“读”出被测嵌入式软件系统GUI信息。本图像识别的方法是以嵌入式软件界面图像为输入图像,利用差分等方法确定出动态信息变化区域,然后以动态信息变化区域图像为输入,利用图像识别技术如模板匹配法识别出GUI元素信息,识别结果作为被测嵌入式软件的界面输出。

本方法中基于GUI图像的识别方式包括:图像对比,图像查找,文字识别。图像框架和动态区域模型建立后,将新截取的图像与基准图像进行比对,确定与之相对应的动态区域模型,根据动态区域模型参数在新截取图像上取出相关的图像信息。

图像对比,将基准图像和新截取图像对应的动态区域模型内图像进行对比,返回相似度。图像查找,在新截取的图像中查找是否存在基准图像的中动态区域模型内的图像,输出存在的左上角坐标以及图像的相似度。文字识别将新图像对应的动态区域模型内的文字进行文字识别。

第八步,执行结果的判断与保存。根据测试脚本,解析测试脚本,当解析到结果保存指令时,软件图形用户界面采用图像对比、图像查找、文字识别方式识别出的信息与预期结果比较,判断测试是否通过,并将图像对比,图像查找,文字识别的结果和比较结果存入数据库。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号