TSM - Loop testing ca metodă de testare automată

Ferenc Bogdanov - Software Test Specialist @ Accenture Industrial Software Solutions

Acest articol are ca subiect de abordare metoda relativ nouă de loop testing pentru sisteme automotive embedded care se aplică direct în vehicol, acesta fiind echipat nu numai cu sistemul de testat dar și cu tehnica complexă de măsurare și simulare virtuală. Metoda devine din ce în ce mai răspândită datorită faptului că reduce din riscuri dar și din timpul de testare.

În lumea automotive, dezvoltarea sistemelor se face bazând-se pe standardul ISO 14504 adică ASPICE.

Acest aspect se reflectă și în validarea și verificarea acestora. Un sistem automotive constă într-un subsistem Hardware, care poate fi compus din cel puțin una sau mai multe unități electronice ECU și dintr-un software de tip embedded cu care se încarcă aceste unități.

Fig. 1. Buclă la nivel de sistem

Aproape în toate cazurile se abordează aceeași metodă de dezvoltare, așa numita Model Based Development, unde totul pornește de la un model virtual la nivel de sistem având caracteristicile unui bloc funcțional definit foarte clar prin niște cerințe (requirements) definite de echipa de Requirement Engineering. Aceste modele abstracte sunt structurate și interconectate într-un environment de simulare de tip Matlab/Simulink, Labview etc.

Model Based Development implică și necesitatea aplicării conceptului de Model Based Testing. Ideea este că, indiferent de stadiul de dezvoltare, se poate simula și testa sistemul complet simulat sau parțial simulat în condiții de Real Time (vezi fig. 2).

Fig. 2. Tipuri de Model Based Testing și aspectul Real Time al acestora

Fiecare tip de Model Based Testing se poziționează clar în standardul ISO 15504 sau ASPICE care este, de fapt, modelul V. (fig 3)

Fig. 3. V Model și diferitele nivele de testare automată după ISO 15504

Într-o primă etapă, prin simularea modelelor abstracte se urmărește, de fapt, validarea cerințelor formulate de requirement engineering. Atunci când un model abstract confirmă funcționalitatea simulată este vorba despre un feedback pozitiv, în sensul că funcționalitatea reală descrisă de requirement engineering este plauzibilă.

Această metodă se cheamă MIL - Model In the LOOP testing și este practicată în cele mai multe cazuri de echipa de System Engineering. Acest proces ajută și în definirea și formularea arhitecturii de sistem.

Fig .4 Exemplu de MIL Testing - simularea și testarea unui sistem Tempomat

Următorul pas este generarea unor blocuri de SW din aceste blocuri virtuale, fiind asistat de environmentul de simulare. La acest nivel componentele SW generate se interconectează între ele tot prin același environment de simulare. Prin urmare, putem vorbi și despre procesul de simulare ca metoda de validare de tip SIL - SW in the LOOP. Obiectul testului este în acest caz una sau mai multe componente SW. Bineînțeles că platforma HW trebuie simulată în această fază, deoarece un prototip HW nu există încă.

HIL - HW In the Loop - când componentele SW ajung la o maturitate anumită și primul prototip HW este accesibil, se poate vorbi deja de un sistem parțial funcțional, unde anumite procese rulând în afara acestui sistem în interiorul vehiculului, trebuie încă simulate prin așa zisa Restbus Simulation. Punerea în funcțiune a sistemului începe în prima fază pe un stand de laborator, unde environmentul de simulare poate fi similar celui de la MIL sau SIL, însă cu anumite extensii mult mai realiste. Practic, aici anumiți senzori și actuatori sunt reali iar restul este simulat. Validarea automată are loc deja la nivel de sistem, unde un System Integration Test, Smoke Test și Regression Test dau deja feedback prețios, înainte ca sistemul să fie integrat și testat în vehicul.

Fig. 5 Structura unui HIL Testbench

Metoda HIL are și o variantă exotică, unde la prima fază în loc de un prototip ECU există numai un prototip de microprocesor (în majoritatea cazurilor de tip FPGA) care este plasată în bucla automată de testare și simulare. Acest tip se numește PIL - Processor In the Loop.

VIL - Vehicle In the Loop - de ce avem nevoie de acest tip de test?

Când sistemul este deja integrat în vehicul, practic se poate testa în condiții reale pe șosea. Totuși, există niște situații în care ar fi mult mai avantajos, dacă vehiculul ar putea fi testat în condiții de laborator sau pe pista izolată de testare. VIL testing este o metodă de testare unde obiectul testului, fiind vehiculul cu sistemul integrat, este situat într-o buclă închisă.

Fig. 6. Conceptul VIL

Mașina este conectată la un simulator care este controlat de un PC de vizualizare și control. Simulatorul VIL conține un bloc care modelează și simulează comportamentul dinamic/cinematic al mașinii, o șosea virtuală și un cluster de senzori virtuali care injectează semnalele în mașină împreună cu șoseaua simulată, care, la rândul lui, prelucrează aceste semnale și reacționează prin sistemul care este integrat. Ca rezultat, acest sistem fiind conectat la magistrala centrală a mașinii comunică cu blocul de dinamică/cinematică simulată. În acest fel se închide bucla.

Autovehiculul poate exista practic în două tipuri de configurații:

  1. Poziția fixată la un dinamometru special conectat cu simulatorul VIL unde șoseaua este simulată cu traficul parțial sau total simulat. În caz de simulare parțială există alte obiecte reale în mișcare în fața mașinii (altă mașină, vehicul robot etc.) care sunt suprapuse în simulator cu obiectele virtuale. Astfel, sistemul din mașina care este pe dinamometru interpretează semnalele parțial simulate, parțial reale ca și cum ar fi într-un environment real. În acest exemplu este prezintată o situație de frânare de tip Automatic Emergency Breaking simulat pe autostradă, testul având loc într-un hangar cu mașina fixată și două vehicule roboți care se deplasează în hangar în fața mașinii.

  2. Poziția mobilă unde simulatorul este montat în mașină care se deplasează pe o pistă de test, cu o parte din trafic simulată, iar cealaltă parte fiind reală. Acesta înseamnă că și aici o parte a semnalelor trimise de clusterul de senzori este simulat iar cealaltă parte este reală. Această configurație este vizualizată prin următorul exemplu unde se execută o manevră de parcare cu ajutorul sistemului de parcare automată. Mașina de test este condusă până la locul de parcare marcat cu niște piloni care este vizualizat și în simulator cu niște autovehicule virtuale. La momentul parcării, șoferul predă comanda mașinii asistentului de parcare care execută parcarea automată.

Domenii de aplicații pentru VIL Testing:

Fig. 7. Domenii de aplicații pentru VIL Testing

VIL - Avantaje și dezavantaje

Ca fiecare sistem, acesta își are avantajele și dezavantajele. În cazul VIL pot fi considerate următoarele avantaje:

Dintre dezavantaje putem enumera următoarele:

În concluzie, se poate afirma că metoda VIL se folosește din ce în ce mai mult în domeniul de automotive development și rolul ei în viitor va crește masiv o dată cu noile sisteme de autonomous driving. Scopul principal este economisirea de materiale, personal și mai ales de timp prețios.

Referințe

  1. Exemplul 1: https://youtu.be/BW3_tsf48WY

  2. Exemplul 2: https://youtu.be/FXt0hDXHyDI

  3. https://pacpus.hds.utc.fr/vehicles/vehicle-in-the-loop-testbed-for/article/vilad-vehicle-in-the-loop-testbed

  4. https://www.researchgate.net/publication/286746363_Vehicle-Hardware-In-The-Loop_system_for_ADAS_prototyping_and_validation

  5. https://www.dspace.com/en/pub/home/medien/videos/customervideos/video_hyundai-vil.cfm#144_48043