:

Szerző: HIRDETÉS

2023. január 30. 11:00

Ha a "dobozos" megoldás kevés: tesztinfrastruktúra házon belül

A biztonságkritikus rendszerek potenciális hibáinak hatékony kiszűréséhez átfogó, és jól átlátható tesztkörnyezetre van szükség – a thyssenkrupp magyarországi csapata ezért elektromos kormányrendszereinek tesztelését mind szoftver-, mind hardveroldalon teljes mértékben saját fejlesztésű infrastruktúrán végzi.

Vannak iparágak, ahol "bocsánatos bűn”, ha egy-egy apróbb hiba átcsúszik a tesztelésen: ha egy közösségi oldal hírfolyamát tekerve az kissé megakad, vagy a fitneszappot nyomkodva annak válaszideje egy fél másodperccel elmarad az optimálistól, azt a legtöbben valószínűleg homlokráncolásra sem méltatják. Más szegmensekben azonban a tizedmásodperces, vagy sokkal kisebb késés sem megengedhető - például mert az adott szoftver az autópályán haladó autó szervokormányrendszeréért felel.

Miután ilyen környezetben a legapróbb probléma is végzetes lehet, az elektromos rásegítéssel működő kormányrendszereket fejlesztő thyssenkrupp már a fejlesztési folyamatok legalsó szintjétől alapos tesztelésnek veti alá megoldásait. A biztonságkritikus rendszerek tesztelése rendkívül mélyreható, ahhoz a vállalat Magyarországon dolgozó szakemberei nem csak a szoftveres teszteket, de a teszteléshez szükséges hardverinfrastruktúrát is maguk fejlesztik. A feladat nem egyszerű, hiszen amellett, hogy maximalizálni kell a kész termék biztonságosságát és megfelelő működését, mindezt a költséghatékonyan és nem mellesleg határidőre kell elvégezni.

Az első perctől górcső alatt

A tesztelés három integráltsági szinten zajlik, a CI/CT (Continuous Integration/ Continuous Testing) elvét követve. Az első szinten a vezérlő szoftvert, illetve az elektronika gyengeáramú részét használva teremtik meg a valóságközeli helyzeteket a szoftver számára, HIL (Hardware-In-the-Loop) tesztkörnyezetben. A második lépcsőben ez a teljesítménymodullal, illetve kormányzássegítő szervomotorral is kiegészül, a harmadik szinten pedig már a komplett kormányművet vizsgálják, egy kormánnyal és minden egyéb szükséges mechanikával felszerelt tesztpadon.

thyss01

De a rendszerben egy "nulladik" szint is ott van, hiszen már a kód megírásánál folyamatosak a review és tesztfolyamatok, a szoftvert alkotó, egyszerű függvények szintéjén is. A vezérlőrendszerekre szánt szoftver a vállalatnál C nyelven íródik. Miután a C alacsony szintű, sokkal egyszerűbben és biztosabban tesztelhető, mint egy komplexebb, magasabb szintű, emiatt több hibalehetőséget rejtő nyelven írt kód. Ezen felül a hardverközeli C kód az adott céleszközön is kiváló teljesítménnyel fut, valós idejű működést biztosít, hiszen nem opció, hogy az autó a kormányzás során nem megfelelő időben, vagy nem az elvárt módon reagáljon.

A kód rengeteg függvényből épül fel, az átláthatóság miatt azonban ezek a függvények a lehető legegyszerűbbek. Itt kvázi függvényenként is zajlanak tesztek: a cég szakemberei megvizsgálják, hogy például az adott algoritmus helyesen választ-e adott bemeneti értékek között. Az erre szolgáló, alacsony szintű tesztek még C-ben, a későbbi, magasabb szintűek pedig már Pythonban készülnek. Természetesen ezeknek a kisebb komponenseknek az összerakása során is folyamatos az integrációs tesztelés, hogy azok megfelelően dolgoznak-e együtt, ez utóbbi már a tervezésnél kiemelt szempont.

thyss03

A szoftvermodulok a hardveren is kifogástalanul kell hogy fussanak, legyen szó áramerősségek méréséről vagy épp a szenzorokkal vagy ECU-kkal való kommunikációról. A hardveres tesztelés az említett HIL környezetben zajlik - amely egyébként a vonatkozó iparági ISO szabványokban lefektetett követelmény. Ez érthető, hiszen egy nagyon erősen beágyazott rendszerről van szó, rengeteg fizikai interfésszel, amelyeknek tesztek során is ott kell lenni, legalább szimulált formában. Lényegében egy olyan tesztrendszert kell felépíteni, amelyről a tesztelt vezérlőegység "elhiszi", hogy az az egész autó.

A kódtól a tesztpadig

A saját fejlesztésű tesztinfrastruktúrával a thyssenkrupp a kormányműveket mindenféle hiba detektálására felkészíti, ami élettartamuk során bekövetkezhet, egy az elektronikán eltörő ellenállástól egészen a komoly mechanikai sokkig – ezeket pedig egytől egyig ki is próbálja, hogy tényleg rendeltetésszerűen működnek-e. A cél, hogy a kormányzás minden körülmények között biztonságos maradjon, még ha egyes rendkívül alacsony valószínűséggel bekövetkező esetekben a rásegítés nem is marad százszázalékos.

thyss02

Noha a hasonló teszteléshez használt HIL rendszerek kész termékként is beszerezhetők különböző cégektől, a külső féltől származó megoldásoknál már sokkal nehezebb meghatározni, pontosan honnan ered egy-egy egzotikusabb hiba, a tesztelt eszközből, vagy magából a tesztrendszerből. Miután a vállalat a fizikai tesztinfrastruktúra fejlesztéséről is az utolsó csavarig házon belül gondoskodik, szakembereinek minden ismerete megvan a problémák hatékony felderítéséhez és kiiktatásához. A hardverek megtervezése mellett a folyamatos karbantartást és a tesztlaborok felépítését is a cég szakértői végzik.

A thyssenkrupp most szoftver- és rendszerteszteléssel foglalkozó osztályát, illetve a tesztinfrastruktúra-osztályt is bővíti, új kollégákat keres. Előbbinél a csapatot zömében villamosmérnökök alkotják, de mérnökinformatikusok is megfordulnak köztük. Fontos, hogy a csapattagoknak ne legyen idegen a programozás, elsősorban az említett C nyelv - de a tesztek írásához szükséges Python kompetenciát már a vállalaton belül, akár nulláról is van lehetőség elsajátítani. A tesztelők részletes, átfogó rendszerismeretet kapnak a cégnél - sok esetben a kormányrendszerek szoftvereit egészében még a fejlesztőknél is jobban átlátják. A tesztinfrastruktúra-osztály szakemberei már inkább a mechatronikai, illetve gépész holdudvarból kerülnek ki, de vállalat maga is kitanítja az alapvetően hardveres (és persze autóipari) érdeklődésű kollégákat.

[A thyssenkrupp megbízásából készített, fizetett anyag.]

A K8s annyira meghatározó technológia, hogy kis túlzással szinte az összes IT-szakemberre nézve karrier-releváns.

a címlapról