Mi köze a Boeing Dreamlinereknek a holnapi időjárás-előrejelzéshez?

2021.10.05.
Hogyan maradhatott észrevétlen egy repülőgép típus triviálisnak tűnő szoftverhibája, ami miatt a világ valamennyi meteorológiai szolgáltatója redukált információmennyiségből modellezte az időjárást közel tíz évig? Miként derült fény a téves adatközlésre? Milyen szoftvertesztek segítettek volna feltárni a hibát? Tesztautomatizáló kollégánk ennek járt utána.

Kötelező meteorológiai mérések közvetítése

Az időjárás-előrejelzési szolgáltatásokkal kapcsolatos elvárások az utóbbi évtizedben drasztikusan megváltoztak. A lokáció-alapú időjárási információ napjainkra az okostelefon egyik alapvető funkciójává vált. De milyen adatokból táplálkoznak a mérések eredményeit felhasználó meteorológiai szolgáltatók?

Közismert, hogy az adatokat felszíni mérésekkel és meteorológiai ballonok segítségével légköri mérésekkel nyerik ki. Azt azonban talán kevesebben tudják, hogy az utóbbi évtizedekben valamennyi repülőgép számára előírás, hogy a bejárt út során a műszerekből nyert, meteorológiailag releváns mérési értékeket automatikusan továbbítsa az erre a célra szabványosított adatformátumban a földi központok felé, ezzel is növelve a mérési modellek számára rendelkezésre álló megfigyelési információk számát.

Visszatérő adathiba az időjárás-előrejelző modellben

A légkör bonyolult fizikai kölcsönhatásai nem írhatók le determinisztikus módon, ezért az időjárás-előrejelzéshez használt modell megközelítő módszereket alkalmaz a különféle mérésekből származó előrejelzések elkészítése közben.

A modellek analízise során mindig is számolni kellett a hibakorrekcióval, azonban az ECMWF (Középtávú Időjárás Előrejelzések Európai Központja) kutatói az utóbbi években ezen felül azonosítottak egy kellemetlen és a számítási modelleket erőteljesen befolyásoló visszatérő adathibát, melyről azt feltételezték, hogy a repülőgépek egy adott típusára vezethető vissza, azonban az intenzív nemzetközi légiforgalom miatt 2020-ig nem volt lehetőségük identifikálni a téves adatokat küldő repülőgép típust.

A COVID-nak köszönhetően derült fény a hibára

A COVID-19 világjárvány okozta megritkult járatsűrűségnek köszönhetően a tavalyi évben az ECMWF azonosította, hogy a hibát a Boeing Dreamlinerek, vagyis a B787-es repülőgépek fedélzeti szoftvere okozza, amely a légköri mérések egyikét, a szélirány értéket téves előjellel küldi tovább a meteorológiai célú automatikus adatcsomagokban.

Mivel ezek az adatok anonimizáltan érkeznek meteorológiai feldolgozásra, ezért a hiba valódi karakterisztikájának és eredetének feltérképezése, az érkező adatok elhatárolása rendkívül nehéz volt. A gyártó szoftveres javítása az ECMWF legfrissebb szemináriuma szerint nem oldotta meg a problémát, a téves kalkulációk elkerülését így utólagos korrekcióval és a bizonytalan forrású adatok ignorálásával biztosítják. 

Kapcsolódó:  Miért és hogyan építsük be a digitális transzformációt a vállalati kultúrába?

Nagyobb komplexitású integráció, nagyobb arányú tesztelési igény

A fenti történet jól példázza, hogy gyorsuló világunkban az egyre több, bonyolultabb és egymástól függő informatikai rendszer működése során tapasztalt hibát kiváltó ok és a hiba felbukkanásának helye között akár rendszernyi távolságok is lehetnek. Minél nagyobb az összefüggő IT rendszerek közötti távolság, a hiba feltérképezése, elemzése, végül korrigálása hatványozott erőforrásigény mellett lesz csak kivitelezhető.

Az egyre nagyobb mértékű és komplexitású integráció új kihívások elé állítja a tesztelési szakembereket. Egyre több szoftver támaszkodik különféle interfészen keresztül más rendszerek szolgáltatásaira, gondoljunk csak a már említett meteorológiai app-ra, amely a legtöbb ember okostelefonján megtalálható.

Integrációs tesztekkel a rendszerhatárokon lévő hibás funkciók ellen

Az interoperabilitás megvalósulása, vagyis a különböző informatikai rendszerek együttműködő képessége kiemelt fontosságú szempont lett a szoftverfejlesztésben. Ez azt jelenti, hogy egy adott szoftver funkcionalitását több integráltsági szinten is ellenőrizni kell, vagyis az integrációs teszteket valamennyi együttműködő rendszer szintjének megfelelően be kell vonni a tesztelési folyamatba. Az együttműködő rendszerek esetében a tapasztalat azt mutatja, hogy a rendszerek határain elhelyezkedő funkciók általában kevésbé esnek a figyelem középpontjába, ezért a hibák átlagos gyakorisága itt jellemzően magasabb. 

Hogy maradhatott látenciában a szoftverhiba?

Fontos tanulsága a fenti esetnek, hogy az integráció tesztelése során a tesztfeltételeket modul szinttől haladva a teljes integráltsági állapotig valamennyi elkülöníthető fázisban ellenőrizni kell, beleértve valamennyi függő adatelemet, mely az adott tesztelési egység elvárt működését befolyásolhatja, de az adott egységen kívülről származik.

Könnyen elképzelhető ugyanakkor az is, hogy a meteorológiai célú adatcsomagok esetében a Boeing tesztelési procedúrája valamennyi szintre kiterjedő és alapos volt és “mindössze” a tesztek kivitelezéséhez szükséges tesztelési környezet vagy a szimulációs elemek (stub) egyike nem volt megfelelően kialakítva és ez okozta a fals verifikációt.

Mindenesetre meglepő, hogy egy előjel(!) hiba miatt a világ valamennyi meteorológiai szolgáltatója redukált információmennyiséghez jut, valamint hogy látenciában maradhatott közel egy évtizeden át egy ilyen, triviálisnak tűnő szoftverhiba (az első Dreamlinert 2011-ben állították szolgálatba).

Kapcsolódó:  3 menedzsment hiba, ami miatt nem hoz eredményt a tesztelés

Források: 1, 2, 3, 4, 5


TAGS  
Author

ProofIT

Complete test automation service and infrastructure: test automation from design through implementation to evaluation of results. ProofIT Ltd. has been providing assistance to a wide range of services and testing infrastructure, primarily for large companies and state organizations for more than ten years.
© 2018 ProofIT Kft. Minden jog fenntartva. / All rights reserved.
linkedin
Share This