0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于SOA测试的主要内容

我快闭嘴 来源:怿星科技 作者:怿星科技 2022-08-17 14:07 次阅读

了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。

01SOA是什么?

SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。

在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的概念,而SOME/IP(Scalable service-Oriented MiddlewarE over IP)协议就是汽车领域实现SOA时常用的一种中间件协议。

02SOME/IP服务的通讯机制

服务是实现某种功能的方法或函数,基于C/S架构可以分为server(服务提供方)和client(服务消费方),通过服务接口描述服务及服务的内容,其接口类型及通讯机制如下:

474c1bee-1dce-11ed-ba43-dac502259ad0.png

Method:Client端向Server端发送请求报文

· RR-Method——Server端回复响应报文

· FF-Method——Server端不回复响应报文

47699b60-1dce-11ed-ba43-dac502259ad0.png

RR-Method

(Request/Response)

47800594-1dce-11ed-ba43-dac502259ad0.png

FF-Method

(Fire&Forget)

Event:Client端订阅一个服务,Server端发布该服务

4791dec2-1dce-11ed-ba43-dac502259ad0.png

Event

Field:· Setter/Getter——Client端请求获取/设置某一属性/状态· Notifier——Client端订阅某一属性/状态后,Server端发布该服务,发布条件同Event,不同的是订阅后Server端会立即发送此Field的内容

47abb54a-1dce-11ed-ba43-dac502259ad0.png

Get/Set Field

47bf95e2-1dce-11ed-ba43-dac502259ad0.png

Notifier Field

03SOA服务测试内容及环境搭建

SOME/IP协议的底层是通过以太网实现的,基于service的控制器之间对服务的调用流程,以及基于service的控制器和基于信号(signal)的控制器之间对信息的传输,都需要在软件开发过程中进行验证,一般划分5个方面测试SOA的性能。

SD测试:服务的订阅/发布测试

接口和参数测试:测试服务的每一个Interface,以及Interface对应的参数

功能测试:测试特定输入/场景下的SOA功能输出

压力测试:多个客户端同时调用某服务的测试

系统测试:服务的嵌套调用

进行SOA测试首先要能与DUT建立通讯(CAN(FD)/LIN/以太网),能控制DUT上下电和唤醒,可以参考以下的测试拓扑来监控DUT的通讯,同时模拟传统的CAN(FD)/LIN网络节点,以及服务的client/server与DUT建立连接,测试DUT实现SOME/IP服务的状态。

47cefc6c-1dce-11ed-ba43-dac502259ad0.png

04SOA服务接口测试

现在,通过一个实例来讲解SOA接口测试的内容和测试方法。

首先,需要提供服务接口的需求规范、服务矩阵(Ethernet Matrix)、服务数据库(Arxml),如果涉及到S2S(service to signal)的接口,也要提供相关的CAN(FD)/LIN数据库文件。

测试需求

以BodyDoorLock服务的RR method接口LockReq为例,DUT作为server,Tester模拟client。接口包含两个请求参数(Source,Req),和一个响应参数(Result)。

47f0a3ee-1dce-11ed-ba43-dac502259ad0.jpg

测试规范

根据需求规范的描述设计测试用例,测试用例需要覆盖接口的通讯机制,接口参数值以及S2S。可以参考思维导图的方式解析需求,并设计测试用例。

480ab7f2-1dce-11ed-ba43-dac502259ad0.png

测试工程

首先,要在CANoe工程中添加SOME/IP数据库文件,在CANoe界面点击“Simulation > System and Communication Setup > Import Data Source > 选择对应的Arxml文件 > Finish”。

然后在“System Explorer”中,绑定BodyDoorLock为SOME/IP服务。

48300b88-1dce-11ed-ba43-dac502259ad0.png

CANoe工程导入对应的数据库之后,可以跟DUT自动建立服务的发布和订阅,也可以自动的解析服务接口的参数。测试工程师不需要考虑底层逻辑的实现,即服务发现(Service Discovery)和序列化等过程,只需要考虑接口层的使用即可。

如何在CAPL脚本中实现接口的调用和响应参数的检查,可以参考vector的示例,开发测试脚本如下,对CAN信号的检查不再赘述。

484846ee-1dce-11ed-ba43-dac502259ad0.png

05注意事项

在整个测试过程中,或多或少会出现一些测试问题,这里根据常见的问题简单做个总结:

Tips1

client和server对应都已经发送find service和offer service,但是CANoe和DUT之间不能自动完成服务的订阅?

► 这种情况要在log中检查IP地址、MAC地址、VLAN、ServiceID、InstanceID、MajorVersion、MinorVersion、TP Port等参数与定义的服务是否一致,如果不一致则可以在“Edit System Data > Model Editor”中修改这些参数。也可以在Model Editor中修改服务的接口参数,订阅关系等。

485a4812-1dce-11ed-ba43-dac502259ad0.png

Tips2

仿真发送的参数是不定长数组时,canoe发送报文失败?

► 模拟发送不定长数组的时候需要先定义数组的长度。

4869c0d0-1dce-11ed-ba43-dac502259ad0.png

Tips3

定义参数名称的时候使用了key,message等已经被canoe使用的关键字,调用这个参数的时候,CANoe报错?

► 如果发现数据库中的参数包含这些关键字,可以在Model Editor里面修改参数的名称,再重新调用即可。

48766e8e-1dce-11ed-ba43-dac502259ad0.png

以上就是SOA测试的主要内容,篇幅有限,更多的细节就不一一赘述了,如果你有其他问题,欢迎留言探讨

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 汽车电子
    +关注

    关注

    3006

    文章

    7563

    浏览量

    162686
  • 接口
    +关注

    关注

    33

    文章

    7965

    浏览量

    149224
  • SOA
    SOA
    +关注

    关注

    1

    文章

    273

    浏览量

    27270

原文标题:一文带你了解SOA接口测试

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    拆解USB通信协议主要内容

    USB应用非常广泛,电脑手机必备接口,很多嵌入式设备也具有USB通信能力,这里给大家分享一下USB通信协议主要内容
    发表于 11-11 09:19 661次阅读

    谐波测试报告的主要内容和形式有哪些

    谐波测试报告的主要内容和形式有哪些(1) 测试目的:建立电力系统谐波管理档案,查清谐波源,为抑制和消除谐波,或为解决电能质量纠纷,提供技术依据(2) 测试对象:系统变电站和电力用户,简
    发表于 11-20 17:19

    EMC测试主要内容有什么

    EMC测试主要内容有什么
    发表于 09-05 19:48

    微机控制技术主要内容

    文档介绍:微机控制技术第四章数字程序控制技术本章主要内容1、数字程序控制基础2、逐点比较法插补原理3、步进电机控制技术4.1数字程序控制基础1数字程序控制原理 数字程序控制:就是计算机根据输入的指令
    发表于 09-01 08:12

    微机原理主要内容包括哪些

    前言微机原理主要内容包括微型计算机体系结构、8088微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。微机原理接口技术是一门实践性强的学科,不但要求较高的理论水平,而且还要求有实际的动手能力。这次项目设计的主要
    发表于 09-10 08:43

    一文搞懂UPS主要内容

    导读:UPS是系统集成项目中常用到的设备,也是机房必备的设备。本文简单介绍了UPS的种类、功能、原理,品质选择与配置选择方式,基础维护等相关的内容。一文搞懂UPS本文主要内容:UPS种类、功能
    发表于 09-15 07:49

    嵌入式硬件设计的主要内容有哪些呢

    嵌入式硬件设计的主要内容有哪些呢?嵌入式硬件设计有哪些流程呢?嵌入式硬件设计的原则有哪些呢?
    发表于 01-19 07:36

    编写头文件主要内容

    编写头文件主要内容
    发表于 01-24 07:28

    低功耗蓝牙技术(BLE)4.0主要内容

    低功耗蓝牙技术(BLE)4.0主要内容,有兴趣的同学可以下载学习。
    发表于 04-11 14:45 33次下载

    SOA是什么_SOA主要的开发方法和工具分析

    本文主要SOA是什么以及SOA主要的开发方法和工具进行分析。面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络对
    的头像 发表于 02-07 12:45 1w次阅读
    <b class='flag-5'>SOA</b>是什么_<b class='flag-5'>SOA</b><b class='flag-5'>主要</b>的开发方法和工具分析

    变速器检修的主要内容

    本视频主要详细介绍了变速器检修的主要内容,分别是变速器齿轮的检修、变速器壳体的检修、变速器轴的检修以及同步器的检修。
    的头像 发表于 12-20 16:28 8116次阅读

    DSP的理论基础和主要内容和应用分析

    对数字信号处理的概念作了简略的介绍, 讨论了数字信号处理的理论基础、主要内容以及数字信号处理的实现。进而对数字信号处理器的特点,应用实例, 数字信号处理器的发展方向作了一些讨论。
    发表于 09-10 14:54 34次下载
    DSP的理论基础和<b class='flag-5'>主要内容</b>和应用分析

    什么是电能质量 电能质量测试主要内容

    电能质量测试是指利用各种测试手段对电力系统中的电能质量进行全面、准确的检测和评估。其主要内容包括以下几个方面:   1. 电压:用数字电压表、示波器等仪器对电压进行测量,检测电压的稳定性
    发表于 04-09 15:31 3686次阅读

    PCBA测试主要内容包括以下几个方面

    一站式PCBA智造厂家今天为大家讲讲PCBA测试主要内容包括那几个方面?PCBA测试主要内容。PCBA测试(Printed Circui
    的头像 发表于 12-19 10:19 799次阅读

    电子测量的主要内容有哪些

    电子测量,作为电子技术的一个重要分支,广泛应用于工业、科研、通信等多个领域。它利用电子技术手段,对电的或非电的各种参量进行测量,为现代科技的发展提供了强有力的支撑。本文将对电子测量的主要内容进行详细介绍。
    的头像 发表于 05-16 16:15 248次阅读