Since its beginning, the Performance Advisory Council aims to promote engagement between various experts from around the world, to create relevant, value-added content sharing between members. For Neotys, to strengthen our position as a thought leader in load & performance testing. During this event, 12 participants convened in Chamonix (France) exploring several topics on the minds of today’s performance tester such as DevOps, Shift Left/Right, Test Automation, Blockchain and Artificial Intelligence.
3. Remember my friendClyde
• In 2017, Clyde was working in a
giant warehouse
• In 2018, Clyde was working on the perfect
autonomous scripting methodology
4. Today, Clyde wants to connect his car
• Now, Clyde would like to connect his car to his smartphone, but not only
5. But what is it possible to do with this connection ?
• The Motor companies have many ideas about what it could do with a
connected device in a car
6. Let’sgo simple, choose 3 major activities
• Remote control my car with my smartphone
• GPS navigation
• FOTA
7. New challenge : connecting thousand of cars
• Now motor companies will have to challenge new technologies inboard
• But connecting thousand of cars means supporting billions of transactions
• They need method and tools to test this new world activity before building
the cars
• Clyde will show you how to do !
8. The Motor Company Program
• In this new world, MCP is the new CLOUD program from the motor
company to connect, manage, follow the cars
9. GPS & NAVIGATION
• Let’s start simple with a GPS request
• Simple HTTPS/JSON request
• MCP as a PROXY (SaaP)
Maps Services
10. How to bench navigation: Init
• My car initializes connexion with GPS service through MCP Token Server
Payload {Service,
latitude;
longitude,
Radius shape,
radius size,
nb session request}
INIT session
Token
server
Proxy URL:TOKEN
Maps Services
Give Token
Services type :
- Fuel price
- Weather
- Traffic density
- Security Area
11. How to bench navigation: GPS messages
• What does a simple GPS request look like ?
POST
https://PROXY.MCP.com:8888/GetMessages?
sessionID=f73172566 HTTP/1.1
User-Agent:
Jetty/9.3.7.v20160115NeotysEdition.41
Current-Car-Position: lat=48.85589;lon=2.29808
Content-Type: application/tts+json
Content-Length: 478
{ "getMessages": {
"current":{
"@lat":"48.85589",
"@lon":"2.29808"}
HTTP/1.1 200 OK
Date: Sat, 02 Feb 2019 09:06:10 GMT
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Content-Type: application/tpeg+binary
Content-Length: 30931
xÌtl
ƒà¼ë á
ámTom TPEGTomT
ƒà½�v
Binary / Map
12. How to bench navigation: Init
• My car ask for service map every 2 mins
Payload {latitude;
longitude,
token}
GET Message
Proxy
Server
Binary Map
Maps ServicesGET Message
Binary Map
13. How to bench navigation: Volume
• How many cars ? 10 000 ? 50 000 ? 1 million ?
• How many request ? 1000 / s ? More ?
• Response time allowed ? 05s ? 1s ? 5s ?
• All the services in the same script
• Forks and loops to simulate GPS activity
14. REMOTECONTROL MY CAR
• REMOTE Client Portal
Remote activities :
- Horn and light
- Lock / Unlock
- Start engine and warm car
15. How to bench remotecontrol
Client Portal
Messaging
Queue
Connexion initiate by Car only
Message Pop and Push in a messaging
queue
Neoload simulate user AND car
activity in the same script with
2 technologies and 2 kinds of
connexions protocoles
16. FOTA
• What is FOTA Firmware Over The Air
• Is the capacity to update à firmware or GPS MAP on a remote device
• Common for Smartphone but new for car devices
17. FOTA practicle
• FOTA is a complex alchemy between, Car parts characteristics, Firmware
compatibility, campaign management and firmware update in the car
FOTA Portal
Car
Caracteristics
DATABASE
Firmware
Database
FOTA SERVER
18. How to Bench Fota
• FOTA inboard client talk with OMA protocol !!!
• OMA DM is complex and not include in Neoload
• I create a client simulator on Linux with complex parameters and security
• Best idea : Neoload launch a script that launch FOTA client simulator
• Let’s see how it works !
19. FOTA: How to bench ?
FOTA Portal
Firmware
Database
FOTA SERVER
Start a
campaign
API / JSON
OMA DM
LINUX
CLIENT
SIMULATOR
20. FOTA: Technical complexity
• Start campaign API/REST(JSON)
• Start car simulator Linux .sh command
• Get FOTA download time in FOTA server API/REST(JSON)
• Kill car simulator Linux (kill -9) command
21. SECURITY
• What about security ?
• Only SSL certificat communication
Client certificat
Server certificat
22. CertificatManagement
• Creating certificate for every car
simulated is long, complex and not
so easy to understand
• it needs sometimes special skills in
PKI and certificates format to
understand how to create and
manipulate certificates between
Servers, applications and Neoload.
23. And Neoload is a tool for …
Injection Monitoring
Scheduler Emulator
24. Conclusion
• Bench with 25 000 VU is difficult
• Bench with certificates is complex
• Bench with Linux scripts and Pid management could be hazardous
• Bench with API/REST is blindness
• But bench with all of them is soo strong
• Next step automatization