作者 | 李小静
小编 | 吃不饱
往期内容里为大家简单介绍了OTA,也对其后续的发展趋势做了一些预测,相信大家已经对OTA有了初步了解。作为OTA系列的第二篇文章,今天向大家介绍OTA自动化测试的实现手段,并简单介绍北汇信息的OTA自动化测试解决方案。
OTA作为整车一个重要的新特性,涉及面广,与车内各大系统均有交互,复杂度高,相较于传统手机OTA还需要关注车内通信等问题,因此发生问题概率较大;由于其复杂性,很多系统交互的问题往往又需要在系统级台架和实车级测试中才能发现。完成测试用例开发后,OTA测试的关键就在于如何实现自动化。当前的OTA测试,大多是依靠工程师在台架中或实车内手动完成,此种方式人力资源消耗过高,效率较低,测试覆盖度受限。且“人在环”的方式分析过程数据往往也容易出错,因此推动整个测试过程的自动化是势在必行的。但OTA测试的自动化更具挑战,OTA测试的本质是整车功能测试的一个子类,还涉及到后台服务器,其“交互链路”比常规的功能更为复杂。且由于各车型的功能逻辑差异,容易出现因为后续车型平台的功能更新导致搭建的测试系统无用武之地的现象。 //
鉴于以上OTA测试的特点和难点,北汇信息在对各主流OEM的OTA流程做了深入分析后,通过提取其中的共通点,推出了较为通用化的OTA自动化测试解决方案,在此基础上,再针对不同OTA流程的进行定制开发,从而实现OTA的自动化测试。下面就给大家介绍一下我们的整体方案构成。
OTA自动化测试解决方案
通过上图可以看到,硬件层面,测试方案由主控单元(服务器)和测试单元(测试机柜)两部分组成,各单元间通过局域网进行控制指令和数据信息的传递,这样多个测试单元可以并行地执行各自测试,且可以在服务器端进行统一管理。对于每个测试单元,将由一个测试机柜提供其测试环境,而被测对象也可以是实车或者测试台架。而在软件层面,整个解决方案由四大部分组成,分别是用于管理全部测试单元,显示测试结果以及和OTA服务器交互的测试管理软件(TestCenter);测试单元内负责与测试管理软件通信,并控制测试系统执行/停止的代理软件(CANoe Agent);用于记录测试数据,执行主体测试逻辑的CANoe软件;以及用于仿真驾驶员操作的UE软件。
可以看到,整个方案内,由CANoe软件作为测试核心,控制单个测试单元的测试逻辑及测试环境,辅以其它控制软件,以模拟真实驾驶员操作,实现车端OTA流程自动化;而以测试管理软件为控制核心,控制多个测试单元并行,且通过接口实现对OTA后台的控制,以实现云端OTA流程自动化。接下来,我们将针对各个模块进行专门介绍。
测试机柜
北汇信息可针对需求,为客户定制标准化的测试机柜,实现对台架或实车的控制。机柜可内置测试工控机,程控电源,VT测试机箱,连接至OTA测试台架后,可以为台架供电,仿真OTA测试所需的IO信号、仿真总线信号,发送ADB控制指令,采集和记录测试数据。
测试管理软件
针对多测试客户端并行的场景,北汇信息自研了测试管理软件TestCenter,可以同时对多个测试客户端进行管理,并提供界面展示测试过程及结果,可以很大程度上提升测试可视化程度及测试分析效率。而OTA测试往往涉及到多车型或同车型多样车的压力测试,非常适合通过测试管理软件进行控制。
测试管理软件部署在一台专用服务器上(主控单元),而服务器与所有测试机柜中的工控机(客户端)通过局域网进行连接,通过访问不同的IP地址,可以方便的在服务器上对所有测试工控机下达指令,并收取测试结果和数据。通过下图可以看到,测试管理软件内提供了配置界面,可以方便的增加或删除测试客户端。测试工程的管理也是在测试管理软件内进行的,这样做的好处是,多个台架内执行的测试工程可以进行统一维护,方便进行版本管理。工程完成升级后,每次测试执行时,由测试管理软件负责下发到各个测试工控机内,并由代理软件进行运行,极大提升了工程维护效率。此外,测试管理软件还提供了测试结果分析展示功能。当我们对多个台架同时进行测试时,免不了要去各个台架分别获取测试结果,这样不但影响效率,也难于对于整体测试进展进行把控,而当我们使用测试管理软件后,这些问题都会迎刃而解。首先,所有的台架控制都在测试管理软件内进行,无需每个台架分别获取结果;其次,所有的测试报告,测试数据都可以通过网络传递到服务器,进行统一存档和管理;最后,因为服务器可以获取所有台架测试结果信息,所以测试管理软件可以在此基础上进行大数据分析,统计全局的测试成功率,平均用时等OTA测试关键信息,并通过可视化图表等方式,方便的展示给测试人员。
最后,测试管理软件本身还可以针对提供的接口,定制开发与OTA后台服务器交互控制的相关功能。比如,如果期望实现OTA流程的全自动化测试,那么任务的自动下发也是必不可少的,测试管理软件可以在客户提供的后台接口上,定制开发服务器控制接口,并将其提供给测试工程,以供其调用,实现后台相关控制功能。
代理软件(CANoe Agent)
代理软件作为介于测试管理软件与测试工程之间的中间层软件,起到了承上启下的作用。一方面,代理软件可以与测试管理软件进行数据交互,接收测试管理软件的控制指令,同时向测试管理软件传递数据;另一方面,代理软件布置在每一个客户端上,控制测试工程的运行和停止,实现自动化测试。多数情况下,代理软件都隐于幕后,但它的重要性却不言而喻。北汇信息在CANoe软件提供的COM接口的基础上开发了当前的代理软件CANoe Agent,可以方便的控制CANoe的启停;也可以通过改变系统变量实现测试模块的相关控制,获取测试过程信息;除此之外,Agent还可以根据项目需要定制开发辅助功能。例如在OTA测试方案内,UE仿真模块的控制也可以集成在Agent软件内,一些其它的CANoe软件难于实现的功能,也可以在Agent模块内实现并提供调用接口。
CANoe工程
CANoe在此方案内担任了测试主体的角色,通过在各总线上布置接口卡,可以将总线数据进行实时监控和记录,并可以通过仿真节点,对实车或台架进行控制。对于OTA流程,车端数据的监控一直是一大重点,但以往的测试手段,更多倾向于通过专门的测试用例执行测试过程。这种手段往往只能作用于开发阶段,样本数量也有限,难于发现很多偶发系统交互性问题,而北汇信息在OTA流程的基础上,开发了数据流监测的测试方式,不仅可以监测实时数据来分析是否存在问题,还可以直接通过回放数据的方式进行监测,观察整个OTA流程是否存在问题,这样不仅可以有效利用数据,也可以通过分析更多的样本,及时定位问题点。
UE工程
OTA里另一个重要组成部分就是人机交互部分,按照当前国内法规要求,所有OTA任务更新前,都必须经过车主同意,所以在OTA过程中,人机交互是必不可少的,而这也是OTA自动化测试的问题点之一。北汇信息采用ADB指令控制点击屏幕来模拟这个过程,在车机打开ADB权限后,通过ADB指令,截取当前车机显示界面,而后通过图像识别算法找到需要点击的位置,随后通过ADB指令点击屏幕坐标,以实现模拟人手点击屏幕的过程,从而实现人机交互过程的自动化仿真。在整个解决方案的软件架构内,各模块之间相互独立,通过接口实现调用,UE部分可以被灵活的集成到CANoe工程内或者集成到CANoe Agent软件内,此外,由于使用了图像识别算法,该模块也可以通过适配而适用于不同的OEM的各类车型,具有较高程度的通用化。
总结
总的来说,整个OTA测试解决方案,以北汇研发的OTA测试机柜为硬件基础,以CANoe软件为核心测试工具,辅以北汇信息自主开发的测试管理软件TestCenter以及Agent代理软件,具备了OTA自动化测试的能力,并有着较高的标准化程度和较为直观便捷的使用体验。OTA的特殊性,其测试工作绝不仅限于开发阶段,而是贯穿整个车型开发及上市以后的全生命周期。在这种情况下,如何更多更准确的发现问题,以及如何更高效的利用已有数据进行分析,就显得尤为重要。对于北汇信息来说,开发的OTA测试解决方案,自动化是测试手段,不是测试目的;较高的自动化程度,是为了提升测试准确度和测试效率,而高可视化的测试数据管理,同样是为了便于对问题进行更为精确的分析。近年以来,北汇信息已经与国内多家主流OEM和Tier1合作完成了OTA自动化/半自动化测试系统开发项目,积累了很多实践经验,通过不断的迭代,进行了一系列优化和改进。除本文介绍的OTA自动化测试系统解决方案,我们也提供OTA测试用例开发、自动化脚本实现、OTA Master专项测试在内的全过程的OTA测试解决方案,欢迎有意向的同仁与我们交流沟通,共同进步。
全部0条评论
快来发表一下你的评论吧 !