当前位置:网站首页>This article introduces you to SOA interface testing
This article introduces you to SOA interface testing
2022-07-19 07:39:00 【Yixing Technology】
People who know the automotive electronics industry , In recent years, I may often see a word “SOA”, that SOA What is it ? What should a tester test ? This article will briefly introduce you .
01 SOA What is it? ?
SOA(Service Oriented Architecture) It's a service-oriented architecture , First applied to IT industry , Although in the industry SOA There is no unified description of the definition of , But overall ,SOA Define functions as services , Services have explicit callable interfaces , And can be called through the network .
In the field of automobiles , For high-performance computing platforms , In order to realize the interconnection and separation of hardware and software between domain controllers and regional controllers 、 Shorten the development cycle and other advantages , It has also been introduced. SOA The concept of , and SOME/IP(Scalable service-Oriented MiddlewarE over IP) The agreement is It is realized in the automotive field SOA A commonly used middleware protocol .
02 SOME/IP Communication mechanism of service
A service is a method or function that implements a function , be based on C/S Architecture can be divided into server( service provider ) and client( Service consumer ), Describe the service and its content through the service interface , The interface type and communication mechanism are as follows :

Method:Client To the end Server The client sends a request message
· RR-Method——Server End reply response message
· FF-Method——Server The end does not reply to the response message

RR-Method
(Request/Response)

FF-Method
(Fire&Forget)
Event:Client End subscribe to a service ,Server The client publishes the service

Event
Field:
· Setter/Getter——Client End request get / Set a property / state
· Notifier——Client End subscribe to a certain attribute / Post state ,Server The client publishes the service , The release conditions are the same as Event, The difference is that after subscription Server The client will immediately send this Field The content of

Get/Set Field

Notifier Field
03 SOA Service test content and environment construction
SOME/IP The bottom layer of the protocol is realized through Ethernet , be based on service The calling process of services between controllers , And based on service Controller and signal based (signal) The transmission of information between controllers , All need to be verified in the process of software development , General division 5 Three aspects of testing SOA Performance of .
SD test : Service subscription / Release tests
Interface and parameter testing : Test each of the services Interface, as well as Interface The corresponding parameter
A functional test : Test specific inputs / In the scene SOA Function output
Pressure test : Multiple clients call the test of a service at the same time
The system test : Nested invocation of services
Conduct SOA The test should first be able to work with DUT Establish communication (CAN(FD)/LIN/ Ethernet ), Can control DUT Power on and off and wake up , You can refer to the following test topology to monitor DUT Communication of , At the same time, it simulates the traditional CAN(FD)/LIN Network nodes , And the service client/server And DUT Establishing a connection , test DUT Realization SOME/IP Status of the service .

04 SOA Service interface testing
Now? , Explain through an example SOA Content and method of interface test .
First , Need to provide the requirement specification of service interface 、 Service matrix (Ethernet Matrix)、 Service database (Arxml), If it involves S2S(service to signal) The interface of , Also provide relevant CAN(FD)/LIN Database files .
Test requirements
With BodyDoorLock Service RR method Interface LockReq For example ,DUT As server,Tester simulation client. The interface contains two request parameters (Source,Req), And a response parameter (Result).

Test specifications
Design test cases according to the description of the requirements specification , Test cases need to cover the communication mechanism of the interface , Interface parameter values and S2S. You can refer to mind mapping to analyze requirements , And design test cases .

Test Engineering
First , To be in CANoe Add... To the project SOME/IP Database files , stay CANoe Interface Click “Simulation > System and Communication Setup > Import Data Source > Select corresponding Arxml file > Finish”.
And then in “System Explorer” in , binding BodyDoorLock by SOME/IP service .

CANoe After the project is imported into the corresponding database , Can follow DUT Automatically establish service publishing and subscription , You can also automatically parse the parameters of the service interface . Test engineers do not need to consider the implementation of the underlying logic , Service discovery (Service Discovery) And serialization , Just consider the use of the interface layer .
How to be in CAPL The script implements the call of the interface and the check of the response parameters , You can refer to vector An example of , The development test script is as follows , Yes CAN The signal inspection will not be repeated .

05 matters needing attention
During the whole test process , There will be some testing problems more or less , Here is a simple summary based on common problems :
Tips1
client and server The correspondence has been sent find service and offer service, however CANoe and DUT Service subscription cannot be automatically completed between ?
► This should be done in log in Check IP Address 、MAC Address 、VLAN、ServiceID、InstanceID、MajorVersion、MinorVersion、TP Port etc. Whether the parameters are consistent with the defined service , If not, it can be in “Edit System Data > Model Editor” Modify these parameters . It can also be in Model Editor Modify the interface parameters of the service , Subscription relationship, etc .
Tips2
When the parameter sent by the simulation is an array of indefinite length ,canoe Failed to send message ?
► When sending an array with an indefinite length, you need to define the length of the array first .
Tips3
When defining parameter names key,message And so on canoe Keywords used , When calling this parameter ,CANoe Report errors ?
► If you find that the parameters in the database contain these keywords , Can be in Model Editor Modify the name of the parameter , Call again .
That's all SOA The main content of the test , Limited space , I won't go into more details , If you have other questions , Welcome message discussion !

边栏推荐
- Crawler foundation - Web page Foundation
- Thales security solutions: key steps to improve national network security
- Redis(二) - Jedis
- Crawler Basics - session and cookies
- Prevent blackmail attacks through data encryption schemes
- MySql
- AB Testing Review
- Network knowledge-04 network layer IPv4 protocol
- Introduction to 3D Visualization: see how rendering pipelines work in GPU
- Configuration and use of cookies and sessions
猜你喜欢

Matlab implementation code of image denoising method based on Hidden Markov tree model in wavelet domain

Review of 4246 Algorithms for Data Science

JS does not use async/await to solve the problem of data asynchrony / synchronization

3D可视化入门基础:看渲染管线如何在GPU运作

4. Installation and use of idea

Review of 4121 Computer System for Data Science

express

Network knowledge-05 transport layer UDP

Servlet notes

MySQL regular expression ^ and $usage
随机推荐
Review of 4705 NLP
Tail -f pause method
Component emit Foundation
Fundamentals of reptiles - basic principles of reptiles
Review - 5703 Statistical Inference and Modeling
Summary of Statistics for Interview
Network knowledge-03 data link layer PPP
网络知识-03 数据链路层-PPP
Network knowledge-04 network layer ICMP Protocol
M design of GPS data longitude and latitude height analysis and Kalman analysis software based on matlab-GUI
Canel-简介&使用
FreeBSD 12 changing the background of the startup interface
shader入门之基础光照知识
Flink入门到实战-阶段二(图解运行时架构)
FreeBSD 12 installing RPM packages
网络知识-05 传输层-TCP
Install SQL developer for Galaxy Kirin desktop operating system v10sp1 (x86)
Review of 4705 NLP
Gnome installs the extension (version 40.1, openSUSE tumblefeed).
JS does not use async/await to solve the problem of data asynchrony / synchronization


