SOA架构/测试阶段接口描述语言转换方案
SOA架构盛行
SOA开发和部署步骤
场景一
架构人员在使用PREEvision Adaptive AUTOSAR进行系统建模、定义服务相关SWC后,通常会导出不同类型的ARXML,该文件定义了各服务接口、数据类型、参数引用等,这些AP ARXML可导入到CANoe中进行节点仿真和监控以太网通信,也支持导入DaVinci IDE生成代码,配合DaVinci进行开发。但是这个建模过程短期内无法完成,需要不停地沟通协调,考虑便捷性,在沟通过程中相关方会以Excel作为沟通输入,最终会将这些Excel中的配置信息再转换为ARXML导入到相关的工具中进行验证。
场景2
以太网测试(以SOME/IP为例)时,开发人员输出的是Excel,测试人员需要再把Excel转成测试软件可以支持的文件格式,如vCDL,此环节工作量极大,正确率也无法保证。
场景3
开发人员在使用DaVinci做架构设计时,为了加快开发周期,通常情况下会先使用Excel做模板,在Excel中填入接口信息、数据类型、SWC定义、SWC与接口关系等信息,然后再由模块责任人把Excel中的数据在DaVinci Developer中做相应的节点配置和连线关联,整个过程出错概率高并且重复性高,需要有工具能依据Excel模板文件自动生成ARXML文件,实现SWC的转换及接口与SWC结合工作,用以提高设计效率。
场景4
在SOA架构中,中间件技术的应用使得应用软件与底层的操作系统和硬件实现了解耦,我们可以使用 SIL (Software in loop) 技术在系统开发早期对系 统进行功能验证。SIL 测试的一个重要环节是 SIL Adapter 开发。SIL Adapter 实现了测试系统对被测服务实现的调用。针对各个服务接口的 SIL Adapter代码结构是相同的,只是接口参数数量、名称、类型方面有少量代码差异,整个过程重复性也较高,需要有工具能自动将架构设计产出的FIDL、XML、ARXML等文件自动转化为C++等代码,同时能根据文件中的描述/备注等内容自动生成插桩代码,这将缩短验证周期。
场景5
SOA架构设计、测试验证等阶段,工程师在使用相关工具软件时,会使用许多配置文件作为输入或输出文件,但是鉴于使用的工具众多,且文件格式之间的标准并不统一,所使用的各个开发工具及测试工具也并不能支持所有的格式,所以各个工具间的串联并不流畅,影响工程师的工作效率,需要有工具能自动将这些不同格式的文件进行互相转换以实现工具的高效串联。
场景6
测试用例通常是在Doors或Polarion中管理,测试用例中的测试步骤或测试标准正常是以自然语言的方式描述,在测试执行过程中软件无法识别这些描述性语言,测试人员需要先将这些自然语言转换为脚本文件,再把测试脚本放到测试工程中执行,在测试用例较多的时候这个工作量将会非常庞大,需要有工具能集成相关用例管理软件,将测试用例能自动转换为相应的测试软件的脚本文件,在提高效率的同时减少出错机率。
场景7
SOA测试开发过程大体上需要进行以下几个步骤:
1.测试规范开发:基于需求规范和测试经验及对实现方案的理解,完成测试规范的开发。
2.SOA-HIL 测试系统需求分析和测试系统开发:被测对象的引脚和资源定义,HIL硬件及测试软件运行环境搭建。
3.测试工程开发:开发测试工程,实现测试规范所定义的测试内容的自动化/半自动化测试。
4.仿真模型开发:开发仿真模型,与待测节点建立接口交互。
5.测试环境集成调试与测试执行:针对某一具体被测对象进行测试环境搭建、工程集成调试与测试执行。
以上各个步骤中所需的输入物类型较多,如:SOA功能的需求规范、服务接口规范,资源定义文件,测试范围定义,ARXML 等类型数据库文件,测试系统第三方编程脚本,测试规范,通信数据库,通信矩阵文件,被测节点交互数据格式定义等,需要有工具能够按测试项目进行统一分类管理,同时能够支持相关输入物间进行格式转换,转换后的结果能够便捷地加载到相关的测试软件中或能够通过网络自动上传到配置库的对应位置下方便后续操作。
场景8
目前SOA架构软件普遍采用敏捷开发方式进行管理,软件版本的高频迭代极大考验了测试人员工作量和自动化测试能力,目前大多整车厂和零部件供应商基本上已在进行或正在研案持续集成测试方案来解决这一问题。
如下图所示,随着SOA架构的盛行,输入物或规范文件已经出现了多样化,但是持续集成测试推进的前提条件是需要预先将这些测试软件不可识别的接口文件或用例文件转换为符合测试软件定义的规范脚本,并且能够与相关的工具进行集成自动转换。
为什么需要接口描述语言转换
PAVELINK.
SOA-Converter介绍
主要功能如下
• 接口语言脚换器: 通过接口语言转换实现基于SOA架构的软件设计开发过程中各工具链间的连通。
• 接口语言编辑器: 通过搭建多个接口语言集中一站式编辑环境,可以实现对接口文件的二次编辑转换,同时实现语法校验、关键字提示和补全等功能。
• 命令行转换器: 提供无头(headless)跨平台的命令行工具,支持命令行调用转换功能。
• 配置库集成: 集成配置库,自动同步文件,更新提醒,当有源文件更新后实现自动转换为目标文件。
• 开放调用接口: 通过文件流监听方式与外部工具集成,为自动化测试提供便利。
• 插件灵活拓展: 通过插件的灵活拓展,快速实现新的脚本语言转换。
• SOA通信方案拓展: 通过对接口描述语言的解读,自动转换为服务端(Skeleton)和客户端(Proxy)框架代码等。
PAVELINK.
SOA-Converter使用说明
PAVELINK
Eclipse 插件转换
1
在Eclipse中安装好插件,选择文件后右击->SOA-Converter->选择需要转换的格式类型即可。
图6 PAVELINK.SOA-Converter图形化示意图
PAVELINK
命令行转换
1
也可以通过命令执行转换。
2
常用参数说明:
PAVELINK
示例说明
1
某OEM 基于SOA架构的服务接口测试项目,使用PAVELINK.SOA-Converter实现FIDL转CANoe系统变量XML,简化测试验证过程。
图8 FIDL转CANoe系统变量示例
图9 转换后的系统变量XML文件导入CANoe软件示例
2
CCU域控制器的测试规范、脚本开发及测试服务,使用PAVELINK.SOA-Converter实现FIDL转SOA功能实现服务端和客户端C++代码示例。
图10 SOA通信实现节点示意图
图11 服务接口文件转换C++示例图
3
某供应商网联类控制器SOA功能规范测试开发项目,使用PAVELINK.SOA-Converter实现Excel转ARXML,接口和SWC关联示例
图12 Excel模板示意图
图13 ARXML截图示意
更多功能,敬请期待
往
期
推
荐