Mi az a beágyazott tesztelés a szoftvertesztelésben?
Mik azok a beágyazott rendszerek?
A beágyazott rendszerek olyan elektronikusan vezérelt eszközök, ahol a szoftver és a hardver szorosan összekapcsolódik. A beágyazott rendszerek különféle számítástechnikai eszközöket tartalmazhatnak. Ezek más eszközökbe beépített számítógépek, amelyek alkalmazás-specifikus funkciókat működtetnek. A végfelhasználó általában nem is tud a létezésükről.
Beágyazott tesztelés
Beágyazott tesztelés egy tesztelési folyamat a szoftver és a hardver funkcionális és nem funkcionális tulajdonságainak ellenőrzésére egy beágyazott rendszerben, és annak biztosítására, hogy a végtermék hibamentes legyen. A beágyazott tesztelés fő célja annak ellenőrzése és érvényesítése, hogy a beágyazott hardver és szoftver végterméke megfelel-e a kliens követelményeinek vagy sem.
A beágyazott szoftver tesztelése ellenőrzi és biztosítja, hogy az érintett szoftver jó minőségű-e, és megfelel-e az összes követelménynek, amelynek meg kell felelnie. A beágyazott szoftvertesztelés kiváló megoldás a biztonság garantálására olyan kritikus alkalmazásokban, mint az orvosi berendezések, vasút, légi közlekedés, járműipar stb. A szigorú és gondos tesztelés elengedhetetlen a szoftvertanúsítvány megadásához.
Hogyan kell végrehajtani a beágyazott szoftver tesztelését
Általában négy okból tesztel:
- A szoftverhibák keresése
- Segít csökkenteni a kockázatot mind a felhasználók, mind a vállalat számára
- Csökkentse a fejlesztési és karbantartási költségeket
- A teljesítmény javítása érdekében
A beágyazott tesztelés során a következő tevékenységeket hajtják végre:
1. A szoftver rendelkezik néhány bemenettel.
2. A szoftver egy darabja végrehajtásra kerül.
3. Megfigyelik a szoftver állapotát, és ellenőrzik a kimeneteket a várt tulajdonságok szempontjából, például, hogy a kimenet megfelel-e a várt eredménnyel, megfelel-e a követelményeknek, és nincsenek-e rendszerösszeomlások.
Beágyazott szoftvertesztelési típusok
Alapvetően a tesztelésnek öt szintje van, amelyek alkalmazhatók a beágyazott szoftverekre
Szoftveregység tesztelése
Az egységmodul egy funkció vagy egy osztály. Az egységtesztelést a fejlesztőcsapat, elsősorban a fejlesztő végzi, és általában szakértői értékelési modellben hajtják végre. A modul specifikációi alapján tesztesetek készülnek.
Integrációs tesztelés
Az integrációs tesztelés két szegmensre osztható:
- Szoftverintegrációs tesztelés
- Szoftver/hardver integráció tesztelése.
A végén a hardvertartomány és a szoftverkomponensek interakcióját tesztelik. Ez magában foglalhatja a beépített perifériák és a szoftver közötti kölcsönhatás vizsgálatát.
A beágyazott szoftverfejlesztésnek van egy olyan egyedi jellemzője, amely a tényleges környezetre összpontosít, amelyben a szoftver fut, és általában a szoftverrel párhuzamosan jön létre. Ez kényelmetlenséget okoz a tesztelés során, mivel átfogó tesztelés nem végezhető szimulált körülmények között.
Rendszeregység tesztelése
Most a tesztelendő modul egy teljes keretrendszer, amely a teljes szoftverkódból és az összesből áll valós idejű operációs rendszer (RTOS) és a platformhoz kapcsolódó darabok, például megszakítások, feladatkiosztási mechanizmusok, kommunikáció és így tovább. A Point of Control protokoll többé nem egy függvényhívás vagy egy metódushívás, hanem egy üzenet, amelyet az RTOS üzenetsorok segítségével küldtek/kaptak.
A rendszer erőforrásait figyelik annak értékelésére, hogy a rendszer képes-e támogatni a beágyazott rendszer végrehajtását. Ebből a szempontból szürkedobozos tesztelés a kedvelt vizsgálati módszer. A szervezettől függően a rendszeregység-tesztelés vagy a fejlesztő, vagy egy dedikált rendszerintegrációs csapat feladata.
Rendszerintegrációs tesztelés
A tesztelendő modul egyetlen csomóponton belüli összetevők halmazából indul ki. Az irányítási és megfigyelési pontok (PCO-k) a hálózathoz kapcsolódó kommunikációs protokollok és RTOS-ok keverékei, például hálózati üzenetek és RTOS-események. Az összetevők mellett a virtuális tesztelő egy csomópont szerepét is betöltheti.
Rendszerérvényesítési tesztelés
A tesztelendő modul egy teljes implementációval rendelkező alrendszer vagy a teljes beágyazott rendszer. Ennek a végső tesztnek az a célja, hogy megfeleljen a külső entitás funkcionális követelményeinek. Vegye figyelembe, hogy a külső entitás lehet egy személy, vagy egy távközlési hálózat eszköze, vagy mindkettő.
Különbség: beágyazott tesztelés és szoftverteszt
Szoftvertesztelés | Beágyazott tesztelés |
---|---|
A szoftvertesztelés csak a szoftverre vonatkozik. | A beágyazott tesztelés szoftverre és hardverre egyaránt vonatkozik. |
A világon végzett tesztelések átlagosan 90%-a tisztán manuális fekete doboz tesztelés. | A beágyazott tesztelés beágyazott rendszereken vagy chipeken történik, ez lehet fekete doboz vagy fehér doboz tesztelése. |
A tesztelés elsődleges területei a grafikus felhasználói felület ellenőrzései, a funkcionalitás, az érvényesítés és az adatbázis bizonyos szintű tesztelése. | A tesztelés elsődleges területei a hardver viselkedése a sz. a rá adott bemenetekről. |
A szoftvertesztelés főként kliens-szerver, web és mobil alapú alkalmazásokon történik. | A beágyazott tesztelés általában a hardveren történik. |
pl Google Mail, Yahoo Mail, Android alkalmazásokat. | pl. Egészségügyi tartomány gépei, Számítógépekben használt mikrokontrollerek. |
Kihívások: Beágyazott szoftverek tesztelése
Néhány kihívás, amellyel az ember szembesülhet a beágyazott szoftver tesztelése során:
Hardverfüggőség
A hardverfüggőség az egyik fő nehézség, amellyel a beágyazott szoftverek tesztelése során szembe kell nézni a hardverhez való korlátozott hozzáférés miatt. Előfordulhat azonban, hogy az emulátorok és szimulátorok nem reprezentálják pontosan a tényleges eszköz viselkedését, és rossz képet adnak a rendszer teljesítményéről és az alkalmazás használhatóságáról.
Nyílt forráskódú szoftver
A beágyazott szoftverösszetevők többsége nyílt forráskódú, nem házon belül készült, és nem áll rendelkezésre teljes teszt. A tesztkombinációk és az ebből eredő forgatókönyvek széles skálája létezik.
Szoftver vs. hardverhibák
Egy másik szempont, hogy amikor egy frissen készített hardverre fejlesztenek szoftvert, ennek során nagy arányban lehet azonosítani a hardverhibákat. A talált hiba nem korlátozódik a szoftverre. Hardverrel is összefügghet.
Reprodukálható hibák
A hibákat nehezebb reprodukálni/újra létrehozni a beágyazott rendszer esetében. Ez kikényszeríti a beágyazott tesztelési eljárást, hogy minden hiba előfordulását lényegesen magasabbra értékelje, mint egy normál esetben, kivéve annyi adat összegyűjtését, amennyi ésszerűen szükséges a rendszer megváltoztatásához, hogy megtalálják a hiba alapját.
Folyamatos szoftverfrissítések
A beágyazott rendszerek rendszeres szoftverfrissítéseket igényelnek, mint például a kernel frissítése, biztonsági javítások, különböző eszköz-illesztőprogramok stb. A szoftverfrissítések befolyásával azonosított korlátozások megnehezítik a hibák azonosítását. Ezenkívül növeli a felépítési és telepítési eljárás jelentőségét.
Összegzésként
Vannak bizonyos nehézségek a beágyazott szoftvertesztelés tesztelésében, ami nehezebbé teszi, mint a szokásos szoftvertesztelés. A legalapvetőbb probléma a szoftverrel egyidejűleg előkészített hardverkörnyezetre való szoros támaszkodás, amely rendszeresen szükséges a megbízható szoftvertesztek elvégzéséhez. Néha még nehéz is tesztelni a szoftvert egyedi eszközök nélkül, ami rendkívül csábítóvá teszi a késői tesztelésre való összpontosítást.
Az egyik legfontosabb dolog, amire gondolnia kell, az a tény, hogy gyakran az automatizált szoftvertesztelést kell választania. A beágyazott automatizált tesztelés gyorsabb folyamat, amely néhány órát vesz igénybe, és így a szoftver problémája megoldódik.