一种航电系统显示软件自动化测试方法及系统与流程

文档序号:12464162阅读:259来源:国知局
一种航电系统显示软件自动化测试方法及系统与流程

本发明属于航空机载软件测试领域,具体涉及一种航电系统显示软件自动化测试方法及系统。



背景技术:

航空电子系统是现代飞行器的必要组成部分,在保障飞行安全、执行飞行任务方面发挥着重要作用。随着技术的发展,航电系统的性能日渐强大,人机交互功能也更加复杂,配备的显示器尺寸在增大,画面中显示的内容更加丰富,显示的元素也更加多样,给图形用户界面(Graphics User Interface,简称GUI)测试带来了更大的挑战。

为解决这一问题,很多学者在GUI自动化测试领域开展了相关工作,如GUI测试框架、测试用例自动生成、测试覆盖率分析、图像识别与判定等。如公开号为CN102629441B的中国发明专利中提出了一种航空电子显示器测试系统,能够实现对显示器图像的识别和判定,再如公开号为CN105988924A的中国发明专利中提到了一种基于图像捕获来进行GUI建模和自动化测试的方法。

航电系统中最重要的信息显示媒介是多功能显示器(Multi-Function Display,简称MFD,或者航电显示器),以图符和文字的形式,呈现绝大多数子系统/设备信息和任务信息,MFD显示数据的正确性直接关系到飞行安全和飞行任务的完成。随着飞行器复杂度的增加,MFD上需要显示的信息爆炸式增长,以美军F-18战斗机为例,三台MFD需要显示的总信息量超过了1000。为适应显示数据激增、降低飞行员负荷,在新一代飞行器的研制中,通常采用标准化的符号库,对信息呈现的形状、颜色、位置等进行规范。更先进的座舱设计工具也已应用到研制工作中,支持可视化设计,并能提供规范化的元素显示信息。



技术实现要素:

为适应新技术应用给航电系统GUI测试带来的挑战和机遇,本发明提出了一种基于计算机视觉的航电系统显示器自动化测试方法,主要包括GUI设计文件解析并自动生成测试用例、接口测试工具集成、计算机视觉识别、测试报告生成等功能,实现了航电系统显示器GUI从设计到验证的全过程闭环自动化测试。

本发明首先提供了一种航电系统显示软件自动化测试方法,对根据图形设计文件设计的显示软件进行测试,包括:

S1、对图形界面设计文件进行解析,读取图形界面设计文件的各元素及其属性,生成测试用例数据表以及图形界面符号库;

S2、采集由所述显示软件呈现的显示器界面;

S3、通过接口将测试用例数据表中设定的用例数据发送给显示软件;

S4、采集所述显示软件执行所述用例数据后的显示器界面;

S5、将步骤S2采集的显示器界面与步骤S4采集到的显示器界面进行背景消减,并对消减后的图像进行字符的特征提取或者图符的模板匹配,得到所述航电系统显示软件的测试结果。

优选的是,所述生成图形界面符号库的前一步包括读取所述图形界面设计文件中的元素对应的图形信息,并将所述图形信息归零处理。

上述方案中优选的是,在步骤S5消减之前,还包括图像预处理,所述图像预处理至少包括读取图像的属性值,并判断其是否与测试用例数据表中的值相对应。

上述方案中优选的是,外置摄像头的选用标准是其镜头分辨率大于被测系统显示分辨率。

本发明另一方面提供了一种航电系统显示软件自动化测试系统,包括:

航电显示器,用于显示航电信息;

摄像头,用于采集所述航电显示器所显示的图像;

测试计算机,连接所述摄像头,并接收所述摄像头采集的图像,且具有能够进行图像消减与图像图符匹配功能的图像处理模块;

接口测试工具,用于连接测试计算机与航电显示器,所述接口测试工具中至少包含:

设计文件解析模块,用于对图形界面设计文件进行解析;

测试用例生成模块,用于读取图形界面设计文件的各元素及其属性,生成测试用例数据表以及图形界面符号库。

优选的是,所述测试计算机还包括预处理模块,用于读取图像的属性值,并判断其是否与测试用例数据表中的值相对应。

上述方案中优选的是,外置摄像头的选用标准是其镜头分辨率大于被测系统显示分辨率。

本发明采用数据驱动的自动化测试框架,对GUI设计文件进行解析并生成测试用例表,与接口测试工具进行集成,从而实现了从GUI设计到验证的全过程闭环自动化测试。能够显著提升航电系统的GUI测试效率,缩短回归测试周期,使得测试工作更好地适应迭代开发工作需求。

附图说明

图1为本发明航电系统显示软件自动化测试方法的一优选实施例的测试流程图。

图2为本发明航电系统显示软件自动化测试系统所示实施例的系统组成示意图。

图3为本发明图1所示实施例的与接口测试工具集成和测试执行示意图。

图4为本发明图1所示实施例的GUI画面自动测试时序图。

图5为本发明图1所示实施例的GUI画面检测与判定流程图。

图6为本发明图1所示实施例的航电GUI符号库示意。

图7为本发明图1所示实施例的简化的设计示意图。

图8为本发明图1所示实施例的图符元素示意图。

具体实施方式

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

下面通过实施例对本发明做进一步详细说明。

本发明航电系统显示软件自动化测试方法,对根据图形设计文件设计的显示软件进行测试,如图1所示,主要包括以下步骤:

S1、对图形界面设计文件进行解析,读取图形界面设计文件的各元素及其属性,生成测试用例数据表以及图形界面符号库;

S2、采集由所述显示软件呈现的显示器界面;

S3、通过接口将测试用例数据表中设定的用例数据发送给显示软件;

S4、采集所述显示软件执行所述用例数据后的显示器界面;

S5、将步骤S2采集的显示器界面与步骤S4采集到的显示器界面进行背景消减,并对消减后的图像进行字符的特征提取或者图符的模板匹配,得到所述航电系统显示软件的测试结果。

首先在步骤S1中,首先对显示器GUI设计文件进行解析,GUI设计文件一般采用XML文件形式,采用XML函数库可以方便的对其树状结构数据进行解析,从而生成测试用例表以及图形界面符号库,测试用例表见表1,图形界面符号库见图6,对于自动生成代码的GUI设计工具,对其设计文件解析可以自动得到各个元素对应的数据源;而对于不具备此功能的工具,需要测试人员手动输入相应信息。

表1GUI测试用例数据表

步骤S3中,通过接口将测试用例数据表中设定的用例数据发送给显示软件并让显示软件进显示,而在此步骤前后,均采集一次显示器界面,在该步骤中,如图3所示,测试计算机根据测试用例表对GUI进行自动化测试。测试计算机对测试用例表进行解析,针对每一条用例,控制摄像头实时采集MFD显示的图像信息,并通过接口测试工具向被测系统发出特定的外部数据信号,其时序如图4所示。随后,测试计算机对采集到的图像进行处理,进行特征提取(字符、图符等),并对用例通过与否进行判定。用例执行情况会被实时保存,并在全部用例执行后提供结果报告。

图5是GUI画面检测与结果判定流程图。通过外置高清摄像头采集测试执行前、后的图像。彩色图像的每个像素由RGB三个分量组成,在运算时占用较大的内存,而识别图像的过程中只需要图像的灰度信息,因此对图像灰度化处理以简化运算。此外,图像在采集过程中可能受到各种干扰,从而影响成像质量,导致图像上产生噪声点,因此图像灰度化后需要对图像去噪。对去噪后的图像做二值化处理,使得待识别的字符\图符与其所处的背景分开。对二值化处理的图像做倾斜校正,为字符、图符定位环节做前期准备。通过提取图像灰度特征及边缘检测,计算灰度突变位置,定位目标识别区域。对目标识别区原图提取R、G、B色彩信息,确定目标字符\目标图符颜色。对预处理后的图像做canny边缘检测、字符分割、图像特征提取、图像模板匹配识别等技术完成目标区域的自动识别。字符识别采用光学字符识别技术(Optical Character Recognition,简称OCR),对所有待识别字符进行逐一处理,将其转换成数字信息,并和用例表中的数据进行对比。对于图符为表针等仪表的变动,在提取特征的基础上,通过中心矢量计算获取变动范围(角度、位移等),判定测试结果是否准确。

本实施例中,在步骤S5消减之前,还包括图像预处理,所述图像预处理至少包括读取图像的属性值,并判断其是否与测试用例数据表中的值相对应。例如读取测试图像中字体的高度,并与用例表中字体的高度相比较。

本发明提出了一种基于计算机视觉的航电系统显示器自动化测试方法,采用数据驱动的自动化测试框架,对GUI设计文件进行解析并生成测试用例表,与接口测试工具进行集成,从而实现了从GUI设计到验证的全过程闭环自动化测试。能够显著提升航电系统的GUI测试效率,缩短回归测试周期,使得测试工作更好地适应迭代开发工作需求。

本发明给出的简化的设计画面如图7、8所示,只包含一个时钟指针和一个经度数据显示,时钟指针为图符元素,经度显示为字符元素。如图7。

对设计文件(如下所示),进行解析

<?xml version="1.0"encoding="UTF-8"?>

<widget class="AnalogClock"name="Clock"src="pointer1.png">

<size x0=15y0=20width=50height=50>

<property name="origin">

<double>0.000000000000000</double>

</property>

<widget class="Label"name="labelLon">

<size x0=15y0=80width=30height=10>

<font>

<family>Times New Roman</family>

<pointsize>16</pointsize>

<color>red</color>

</font>

解析得到测试数据表,其中“值”为测试人员填入的测试输入数据,如表2所示。

表2

并且,获取图符元素的图像得到图符1,如图8所示。

对测试数据表中的数据进行解析并执行。测试用例表中共有两个用例,分别测试控件“Clock”和“LabelLon”。

Case 1,测试控件Clock

S.1测试计算机控制摄像头完成显示器画面初始拍照;

S.2测试计算机将数据源GPS.Time设置为1,并通过接口测试工具发送给显示器软件;

S.3显示器对应画面的Clock指针指向1,测试计算机控制摄像头完成第二次拍照

S.4测试计算机处理两幅图像,提取特征后,确认变动的区域存在图符1,且图符1相对初始值偏转30°,即指向值1,则用例通过;否则则不通过。

Case 2,测试控件LabelLon

S.1测试计算机控制摄像头完成显示器画面初始拍照;

S.2测试计算机将数据源GPS.Lon设置为E0°0'1,并通过接口测试工具发送给显示器软件;

S.3显示器对应画面的LabelLon显示E0°0'1,测试计算机控制摄像头完成第二次拍照

S.4测试计算机处理两幅图像,提取特征后,确认变动的区域显示E0°0'1,且字体、颜色和位置等符合测试数据表的规定范围,则用例通过;否则不通过。

本发明提出了一种基于计算机视觉的航电系统显示器自动化测试方法,采用数据驱动的自动化测试框架,对GUI设计文件进行解析并生成测试用例表,与接口测试工具进行集成,从而实现了从GUI设计到验证的全过程闭环自动化测试。能够显著提升航电系统的GUI测试效率,缩短回归测试周期,使得测试工作更好地适应迭代开发工作需求。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1