车联网APP非侵入式自动化测试的设计与实现

汽车电子与软件 2022-03-05 10:05

‖ 摘要



目前,在整车测试阶段进行的车联网 APP 系统测试大多采用手动方式。为解决整车测试阶段中测试效率过低和人因错误,设计了一种用于车联网  APP   的非侵入式自动化测试方法,包括触屏点击和输入模拟、图像采集和处理、图像和文字识别,逻辑处理以及该研究可视化。通过设计仿真移动端—云端—车端的外部交互环境,利用了图像处理和 OCR 技术结合的方式实现自动识别。基于LabVIEW 开发平台和 Python 脚本语言相结合的方式,实现测试自动化和可视化,最终完成车联网 APP 的非侵入式自动化测试。该设计方法有效解决了汽车行业车联网移动端  APP   到车端的系统测试对测试人员依赖过重的问题,提高了测试的自动化水平和效率。该方法不依赖被测对象的操作系统,也无需 APP 的源码,可应用于工控领域人机交互界面的系统级测试。

0

引言


随着 5G、大数据、人工智能等技术的不断发展,软件在未来汽车网联化、智能化、共享化和电动化的发展中占据着越来越重要的地位。车联网应用软件(application,APP)移动端依赖于车外云服务(云端)和车载通信终端(车端)的配合,从而实现远程控制、车况上报、诊断、报警和寻车等功能。通过对车联网 APP 的系统级验证,可以检测从移动端、云端,到车端的全链路车联网的功能正确性和可靠性。车联网软件在用户真实场景中的测试与验证尤其重要。


车联网系统主要有三大部分组成部分,包括车端、云端和移动端。自动化测试是一种测试技术,通过分析软件产品的业务设计流程,编写和设计测试程序,并在计算机中模拟运行,自动或半自动地验证被测试软 件的响应和行为。目前,汽车整车厂在整车测试阶 段进行的车联网 APP 系统测试大多采用纯手动的方式。要解决整车测试阶段测试效率过低和人因错误,车联网功能的全自动化测试解决方案有一个待解决的核心问题,即实现业务场景的模拟,并通过自动化手段触发业务,以便判断业务执行的逻辑正确性和相应功能的实现正确性。

1

功能设计


通过数据线(on  the  go,OTG) 的通信方式控制手机端 APP,模拟用户输入指令,实现业务场景的模拟和软件菜单的切换。利用光学字符识别(optical character recognition,OCR)技术识别车端反馈到移动端的结果,从而实现车联网 APP 非侵入式的全链路的自动化测试,主要包括测试工程管理、触屏点击和键盘输入模拟、图像采集、测试脚本管理和图像信息特征识别。


1.1 测试工程管理


测试工程管理支持对测试脚本的新建、保存、删除和编辑等操作。脚本本身保存在关系型数据库管理系统 MySQL 中。


测试工程执行时,模块中的脚本解释器会读取测试脚本文件,解析并执行脚本内容。模拟测试人员的实际操作,按照脚本的要求测试各个功能模块,并形成测试流程。


1.2 触屏点击和键盘输入模拟


触屏点击和键盘输入模拟功能主要模拟用户点击动作、输入行为与 APP 系统交互的信息。将测试系统的用户界面(user  interface,UI)发出的指令转为被测 APP 上的移动设备的用户输入,控制被测 APP 的点击和输入等操作。


①触屏点击模拟: 在移动设备上插入 OTG 线和鼠标模拟器,用鼠标操作实现手机点击、切换 APP 菜单和画面等操作。


②键盘输入模拟: 在移动设备上插入 OTG 线和键盘模拟器,实现在手机指定位置中输入文字指令等操作。


1.3 图像采集


图像采集功能主要是以一定频率对 APP 所在的载体(手机或者模拟器) 的屏幕进行录制,并对视频信息进行图像截取和存储管理。其主要功能如下。


(1) 图像数据抓取: 图像的主要来源是 APP 的 UI 画面,图像的保存格式可由用户配置,包括.jpg 和.bmp,调用 Android 接口命令实现对手机屏幕的截图。


(2) 图像数据存储: ①图像裁剪,按照指定坐标对图像的尺寸进行裁剪; ②保存图片,在测试软件中加载和预览图片; ③删除处理过程中的图片和无效图片。


1.4 测试脚本管理


测试人员根据需求配置测试流程,导入和解析测试脚本。调用图像处理、图像识别和输入模拟系统,将执行命令发送到对应子线程。由触屏点击和键盘输入模拟系统对被测 APP 进行输入。测试脚本管理功能主要包括: 执行某个脚本; 等待指定的时间; 执行模拟动作; 解析图像和数值; 保存结果到数据库。


1.5 图像信息特征识别


对车联网 APP 的 UI 颜色、数字、文字等信息进行识别,主要功能如下。


①图像比较: 在测试过程中进行录屏,对屏幕图像进行实时的周期性比较。找出有变化的图像,标记后存储到本地,并设置相对于原图像变化的阈值。


②图像预处理: 截获图像在预处理后进行 OCR,以提高识别率。


③文字识别: 能够对 APP 的 UI 内容(包括颜色、数字、文字等信息)进行识别,并将结果与数据库预置的期望值进行比较,以判断识别是否成功。

2

软件设计


软件设计分为 4 层,自上而下分别为业务层、核心

层、数据层和设备驱动层。软件设计架构如图 1 所示。


图 1 软件设计架构图


2.1 业务层


业务层服务于测试工程管理和图像采集。


2.1.1 测试工程管理


测试工程管理主要实现 APP 测试脚本导入、图像采集和输出、脚本执行和测试结果判定。使用 Python 语言进行指令解析,调用 Tesseract-OCR 实现对图像输出信息的判断和对测试脚本的执行控制。测试工程管理包括以下 5 个模块。


①测试环境配置模块: 设置管理员、测试工程师和操作人员的权限: 测试工程师进行测试环境配置,包括对自动测试系统的硬件设备进行配置和选择; 操作人员负责选择和执行脚本。


②测试脚本导入和解析模块: 编辑车联网 APP 系统测试脚本,将其导入数据库的数据表格中,并转换为自动测试软件可以解析的测试脚本。


③测试管理执行模块: 根据 APP 的系统测试需求,创建测试脚本执行序列。使用 Python 程序对测试脚本进行解析,驱动测试脚本自动执行。


④测试数据收集模块: 在测试过程中,根据数据收集要求,对测试数据进行自动化收集,并保存到数据库中。


⑤测试结果判定模块: 在测试脚本执行过程中收集实际输出,并与数据库中设定的预期输出进行比较, 判断结果是否正确。


2.1.2 图像采集


图像采集包括两个模块: 图像数据抓取模块和图像数据存储模块。

利用 Android 内置的应用程序接口(application programming interface,API) 调用后台的服务进行录制和截图,实现图像抓取和存取管理,为图像信息识别提供数据源。


2.2 核心层


核心层负责图像信息特征识别,包括图像信息读取、图像预处理、特征识别、特征比对和字库训练等功能。


图像的文字通常叠加在 APP 的 UI 背景上。图像处理效果如图 2 所示。


图 2 图像处理效果图


现有 OCR 技术难以在有背景或噪声的图像上获得较好的识别效果。图像预处理使用 Python 的第三方 CV 库函数对截取的图像进行预处理,例如反色处理、灰度处理、对比度增强等,从而提高对文本的识别能力。


采用谷歌公司的 Tesseract-OCR 进行文字识别,并根据项目需求进行自定义语言库的设计,使 用jTessBoxEditor 工具进行字库训练。对 APP 内的典型图片进行收集和保存,图片格式为 .tif 。用jTessBoxEditor .jar 工具打开 .tif 文件,根据图片信息修改 box 文件中识别错误的 Char 单元格的内容,并生成 .tr 格式的文件。最终完成训练,生成自定义字库。


2.3 数据层


数据层主要进行数据管理,提供 Connector-ODBC调用接口,供上层程序使用数据库。数据内容为所有要存储在数据库中的内容,包括 APP  UI 数据、测试数据和映射坐标数据等。


2.4 设备驱动层


设备驱动层是上层模块对被测 APP 的信息传输的驱动,驱动 OTG、USB 端口等硬件和安卓底层 API 函数对被测件的自动化操作。

3

业务流程设计


业务流程如下所述。


①测试环境配置,根据被测车联网 APP 相关规程或文档,配置硬件和协议参数。


②测试执行时,通过调用鼠标事件坐标映射表,进行测试脚本的解析,实现自动测试。测试过程包括图 像获取和存储、图像处理、图像识别、触屏和键盘执行, 预期输出比对。


③测试数据收集。将调用的子系统函数的执行结果,即测试结果存储在 MySQL 数据库中。


④MySQL 数据存储系统根据 MySQL 数据库存储的测试数据,进行数据分析,包括测试结果判断和统计分析,并支持导出测试报表。


车联网 APP 自动化测试平台软件的业务流程设计如图 3 所示。


图 3   业务流程设计图

4

测试实现


根据业务流程编制测试脚本,实现车联网 APP 系统级的自动测试流程。


①根据操作者选择的测试脚本,启动软件测试。本测试选用某主流品牌手机,分辨率为 1 080×2 400。


②根据设定的测试顺序,测试软件执行触摸点击模拟动作,切换到 APP UI 页面。点击 APP 内的功能菜单按钮,执行远程开启车辆门锁,同时启动手机录屏。


③对录制的视频进行 1 帧/秒的截图,与基准图标进行对比,捕捉到返回事件时的截图,并按照数据库内的坐标映射表截取待识别的区域。


④图像识别系统对图像进行预处理,例如灰度、最小二乘和对比度等图像处理方法,以提高识别程度。


⑤ 图像识别线程的 Python 程序调用底层的 Tesseract 语言库进行文字识别,并与预期值进行比较,判断识别是否成功。生成测试报表并上传到 MySQL 数据库。


5

结论


本设计方法面向车联网 APP 系统层测试,采用非侵入式自动测试机制,通过设计仿真移动端—云端—车端的外部交互环境,驱动 OTG、USB 端口等硬件和安卓底层 API 函数对被测软件的自动化操作。本设计方法利用图像处理和 OCR 技术结合的方式实现了自动识别,最终完成了车联网 APP 的非侵入式的自动化测试,提高了车联网 APP 系统级测试的自动化水平和效率。本设计方法不依赖被测对象的操作系统,无需 APP 的源码,可模拟人工操作进行自动化测试,也可应用于工控领域人机交互界面的系统级测试。


End


汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 485浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 324浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 317浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 197浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 299浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 229浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 123浏览
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 272浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 272浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 260浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 180浏览
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 374浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦