APP下载

汽车触摸屏自动化测试系统研究

2018-10-30王林林

小型内燃机与车辆技术 2018年5期
关键词:触摸屏显示屏显示器

王林林

(西安航空职业技术学院航空维修工程学院 陕西 西安 710089)

引言

汽车显示屏是汽车操作人员对于控制单元的单一输入源,对于复杂的汽车电子控制软件,触摸式显示屏(简称触摸屏)是控制软件的显示单元以及控制单元的信息中央单元(信息汇集处)。各种各样的控制器,如发动机控制单元、AB控制单元、照明控制系统、引导控制系统等,不断与这个信息中央单元进行通信,同时执行不同的操作,如自动引导,盗窃检测,远程监控,性能测量等,并且完成各设备工况的采集信息显示[1-2]。

本文设计出一种嵌入式软件,利用这种软件,可实现触摸屏测试自动化

1 触摸屏自动化测试技术

随着显示屏功能需求的增加,显示屏的开发周期变动更为频繁,每次遇到新版本,都需验证显示屏软件的工作情况。

软件版本的快速更新,使得触摸屏在使用过程中容易出现问题。这是由于手动测试无法保证软件系统的可靠性。原因如下:

1)并非所有的测试场景都易于开发并可再现;

2)人工测试容易造成功能及性能漏测;

3)由于软件开发人员定期发布软件,执行手动集成测试,需要数月时间来运行测试套件,这可能成为产品生命周期中的瓶颈。

当前,触摸屏上使用的自动化测试技术有:

1)使用机器人手臂进行触摸屏测试。许多机构使用机器人手臂来模拟显示屏上的触摸,这种方法通常采用复杂的硬件设施和测试台,在这些设施下放置触摸显示器。显示的方向对于用户操作的准确性至关重要,当使用相同的用户界面涉及多种类型的显示器时,如果屏幕尺寸等发生变化,则需在设施中进行修改。此外,测试台必须校准,使得成本增加,执行特殊测试时会造成大量延迟,检查下拉列表中的菜单项等操作也会造成延迟。

2)光学字符识别技术将UI(用户界面)屏幕视为图像,并利用XY坐标来模拟按钮按下或任何其他用户操作。测试时,如果需要比较或验证写入框中的文本,则将文本放在显示器上的感兴趣区域,然后将它与之前收集的一组金色图像进行比较。光学字符识别技术也用于将显示的文本字符与参考集进行比较,以查看测试是否合格[3]。

光学字符识别技术有其自身的局限性:

1)在使用位图比较的系统中,如果图像的任何部分不同(例如按钮颜色),测试步骤将失败。尽管从功能上来看,这可能是由于显示屏强度略有差异,如图1所示。

2)如果发送XY点信息稍有延迟,多点触摸测试可能会失败;

3)在XY指向事件的情况下,即使是自动执行测试,检查触摸屏是否位于正确的用户界面页面上,并且事件正指向屏幕上的正确对象时,仍需大量手动干预。

图1 图像因颜色强度差异而失败

通过向显示器的软件层发送外部命令来模拟“触摸”的机制,测试效率可以变得更高。在开发触摸屏自动化测试系统时,遵循了这一机制,从而显著降低了测试速度并提高了性能。这样,手动或机器人干预可以最小化,并且可记录显示响应,产生最终的测试结果。采用触摸屏自动化测试系统,减少了重复测试中测试人员的负担,避免了由于任何代码部分的小改动而导致的冗余手动测试,测试人员只需专注于难以自动化的复杂测试场景[4]。

2 触摸屏自动化测试系统架构

触摸屏自动化测试由CI(continuous integration,持续集成)服务器组成,其中,用户选择要运行的测试或测试套件,并创建服务器运行的作业。创建的作业可配置为定期运行,CI服务器触发Server PC上的作业。服务器PC与数据库服务器通信,获取测试请求,生成一个配置文件(XML),发送到目标测试端PC。配置文件中包含测试的具体细节。在通过运行测试ID进行模拟测试的过程中,需调配测试场景、即将使用的仿真PC、即将使用的测试端PC等单元。测试端PC用于提取与测试案例相关的所需数据并执行远程测试,实际上,测试端PC发送的是需要在显示器上执行的动作事件的命令。显示器必须对某些功能进行测试,因此,需要设置测试环境,即需要产生所有其他控制器的信息流量。由在公共总线上传递CAN信息的模拟器完成,这需要仿真PC,因为仿真PC能通过CAN总线与DUT(被测设备)进行通信;测试端PC记录结果并提供给服务器PC;服务器PC记录CI服务器上运行的所有测试套件的结果,从而获得用户运行作业的综合报告[5-6]。图2所示为触摸屏自动化测试系统工作原理图。

根据图2所示的交互关系,设计了如图3所示的触摸屏自动化测试系统交互结构。图3中,定义了各设备间的连接关系,对各连接方式做了详细标记。

图2 测试端PC、服务器PC及仿真PC间交互关系图

图3 触摸屏自动化测试系统交互结构图

3 自动化显示测试单元

3.1 用于触摸仿真的CAN信息传递

测试系统的一个重要限制是缺少自动化测试钩子。为解决这一关键限制,设计基于CAN的测试钩子,使新的测试系统能更好地与触摸屏进行交互,以便导航和连接对象,如下拉框、按钮、文本框、小部件和复选框等。这些测试钩子支持图形和功能测试,由于能够在显示界面上导航,因此在图形自动化测试中有很大的作用。

3.2 仿真PC

仿真PC是独立的可执行程序,主要是在LabVIEW中开发的。服务器PC确定测试时所需要的仿真单元,仿真PC将这些仿真单元信息作为配置文件的一部分传递给测试PC。基于测试的确定性行为,功能仿真单元可在仿真PC上运行。如果时序要求不严格,功能仿真单元可以在测试PC上运行。

测试PC使用TCP/IP与模拟器进行通信,模拟器的CAN数据在物理连接或通过“桥”进行连接时,将被转储到CAN总线上。

3.3 继电器板切换和USB支持

本文采用miniATF板作为触摸屏与测试PC之间的接口,该电路板包含控制显示器、USB、具有监视器串行调试和CAN连接功能的继电器等。

miniATF 板上有 4 个继电器:A1、A2、A3 和 A4。继电器由软件控制,因此可远程重新启动显示;软件由触摸屏自动化测试系统控制,并且可重启自动化;miniATF板上的串行调试端口使触摸屏自动化测试系统能记录所有串行数据,并在发生任何故障时创建日志。USB从PC切换到UUT(被测试单元),反之亦然,这是由ATF内部GPIO命令完成的,这些命令又是控制器使用的软件。miniATF板的工作原理如图4所示。

图4 miniATF板的工作原理图

3.4 错误记录和处理

生成的报告采用XML格式,因此,可根据需要分发到不同的位置。报告中附着图像,这些图像可能是屏幕截图或之前用于图像比较的主图像。如果由于某些原因导致测试失败,触摸屏自动化测试系统中会有一项功能自动捕获屏幕。这让测试人员知道测试步骤失败时显示器的确切状态,有助于调查并确定失败的原因,并作为测试的文件证明。

3.5 数据驱动系统

数据驱动系统为触摸屏自动化测试系统增加了很多功能,这将允许触摸屏自动化测试系统执行更多的测试,无需添加等量的脚本或测试案例。添加/删除/更新数据的能力通过基于Web的数据库界面启用,不需更改自动脚本,不仅可以输入数据,而且可以使用数据比较测试步骤的结果。增加了触摸屏自动化测试系统的可重复使用性,可提供更多的测试场景,缩短开发时间。

数据驱动系统的优点如下:

1)优化数据集。数据集将被反复使用和扩展,以不同测试案例使用的数据作为不同的输入条件。

2)组织性和灵活性。使用数据库,可组织脚本,确定测试周期,如回归,接收等。按功能和其他方式进行分组,使这些脚本能在周期内快速开始测试,实现了一次执行的单点执行模式。

3)单点维护。数据库的数据可以更轻松地维护脚本。这可通过找到哪些脚本包含可能需要更新或删除的常见组件或对象来实现。从基于Web的界面,添加/删除/更新各种对象或测试案例使用的数据。

4 结论

1)由于触摸屏自动化测试系统能够执行DUT上的所有测试,并且测试报告是自动生成的,因此维护软件的开发周期变得很容易,并且软件缺陷可通过先前的结果进行记录。

2)测试报告还可用于缺陷跟踪、缺陷密度识别、代码覆盖率和许多其他类似参数的记录等。

3)采用触摸屏自动化测试系统,可以非常有效地完成与压力测试等相关的测试

4)本文所提出的汽车触摸屏自动化测试系统取代GUI执行大多数功能测试,使功能自动化测试显示出独立性。

猜你喜欢

触摸屏显示屏显示器
一块布就是一个显示屏?
把显示器“穿”在身上
PLC和触摸屏在卫生间控制系统的应用
IDC发布《2018年PC显示器市场跟踪报告》
一种新型点阵显示器的设计
苍蝇迷恋显示屏
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
LG申请欧盟商标 或布局MicroLED显示屏
未来五年LED显示屏出货将保持16%增长