Ebben az oktatóanyagban megtanulja
- Mik azok a beágyazott rendszerek?
- Mi az a beágyazott tesztelés?
- Beágyazott szoftverek tesztelési típusai
- Különbség: Beágyazott tesztelés és szoftver tesztelés
- Kihívások: Beágyazott szoftver tesztelése
Mik azok a beágyazott rendszerek?
A beágyazott rendszerek azok az elektronikus vezérlésű eszközök, ahol a szoftver és a hardver szorosan összekapcsolódik. A beágyazott rendszerek számos számítástechnikai eszközt tartalmazhatnak. Ezek más eszközökbe beépített számítógépek, amelyek alkalmazásspecifikus funkciókat működnek. A végfelhasználó általában nincs is tisztában a létezésükkel.
Beágyazott tesztelés
A beágyazott tesztelés egy tesztelési folyamat, amely ellenőrzi mind a szoftver, mind a hardver funkcionális és nem funkcionális tulajdonságait egy beágyazott rendszerben, és biztosítja, 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.
A beágyazott szoftverek tesztelése ellenőrzi, hogy az érintett szoftver jó minőségű-e, és megfelel-e minden követelménynek, amelynek meg kell felelnie. A beágyazott szoftverek tesztelése kiváló megközelítés a biztonság garantálásához olyan kritikus alkalmazásokban, mint az orvosi berendezések, a vasút, a repülés, a járműipar stb. A szigorú és gondos tesztelés elengedhetetlen a szoftveres tanúsítás megadásához.
A beágyazott szoftver tesztelésének végrehajtása
Általában négy okból tesztel:
- A szoftver hibáinak megtalálása
- Segít csökkenteni a felhasználók és a vállalat kockázatát
- 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 része végrehajtásra kerül.
3. Figyeljük a szoftver állapotát, és ellenőrizzük a kimenetek várható tulajdonságait, például azt, hogy a kimenet megfelel-e a várt eredménynek, megfelel-e a követelményeknek és nincs-e rendszerösszeomlás.
Beágyazott szoftverek tesztelési típusai
Alapvetően a tesztelés öt szintje alkalmazható a beágyazott szoftverekre
Szoftver egység tesztelése
Az egység modul vagy függvény, vagy osztály. Az egység tesztelését a fejlesztői csoport, elsősorban a fejlesztő végzi, és általában peer-review modellben hajtják végre. A modul specifikációja alapján tesztesetek kerülnek kidolgozásra.
Integrációs tesztelés
Az integrációs tesztelés két szegmensbe sorolható:
- Szoftverintegrációs tesztelés
- Szoftver / hardver integráció tesztelése.
Végül tesztelik a hardver tartomány és a szoftverösszetevők kölcsönhatását. Ez magában foglalhatja a beépített perifériás eszközök és a szoftver közötti kölcsönhatás vizsgálatát.
A beágyazott szoftverek fejlesztésének egyedi jellemzője van, amely a szoftver futtatásának tényleges környezetére összpontosít, amelyet általában a szoftverrel párhuzamosan hoznak létre. Ez kellemetlenséget okoz a tesztelésben, mivel az átfogó tesztelés nem végezhető szimulált körülmények között.
Rendszeregység tesztelése
Most a tesztelni kívánt modul egy teljes keretrendszer, amely komplett szoftverkódból áll, emellett minden valós idejű operációs rendszert (RTOS) és platformhoz kapcsolódó darabokat, például megszakításokat, feladatmechanizmusokat, kommunikációt és így tovább. A Point of Control protokoll már nem egy függvényhívás vagy metódushívás, sokkal inkább egy üzenet, amelyet az RTOS üzenetsorok felhasználásával küldtek / kaptak.
A rendszer erőforrásainak figyelembevételével értékeljük a rendszer képességét a beágyazott rendszer végrehajtásának támogatására. Ebből a szempontból a szürke dobozos tesztelés az előnyben részesített tesztelési módszer. A szervezettől függően a rendszeregység-tesztelés vagy a fejlesztő, vagy a dedikált rendszerintegrációs csapat feladata.
Rendszerintegrációs tesztelés
A tesztelni kívánt modul egy csomóponton belüli összetevők sorozatából indul. Az ellenőrzési és megfigyelési pontok (PCO) a hálózathoz kapcsolódó kommunikációs protokollok és az RTOS keveréke, például hálózati üzenetek és RTOS események. Egy komponens mellett a virtuális tesztelő is el tudja játszani a csomópont szerepét.
A rendszer érvényesítésének tesztelése
A tesztelni kívánt modul egy teljes megvalósítású alrendszer vagy a teljes beágyazott rendszer. Ennek az utolsó tesztnek a célja a külső entitás funkcionális követelményeinek teljesítése. Ne feledje, hogy egy külső entitás lehet személy, vagy egy telekommunikációs hálózat eszköze, vagy mindkettő.
Különbség: Beágyazott tesztelés és szoftver tesztelés
Szoftvertesztelés | Beágyazott tesztelés |
---|---|
A szoftver tesztelése csak a szoftverekhez kapcsolódik. | A beágyazott tesztelés mind a szoftverhez, mind a hardverhez kapcsolódik. |
A világon végzett tesztek átlagosan 90% -a kizárólag manuális fekete doboz teszt. | A beágyazott teszteket beágyazott rendszereken vagy chipeken végzik, ez lehet fekete vagy fehér doboz teszt. |
A tesztelés elsődleges területei a GUI-ellenőrzések, a funkcionalitás, az érvényesítés és az adatbázis-tesztelés bizonyos szintje. | A tesztelés elsődleges területe a hardver viselkedése a nem. a rá adott inputokból. |
A szoftverek tesztelését elsősorban kliens-szerver, webes és mobil alapú alkalmazásokon végzik. | A beágyazott tesztelés általában a hardveren történik. |
pl. Google Mail, Yahoo Mail, Android alkalmazások. | pl. Egészségügyi gépek, számítógépekben használt mikrovezérlők. |
Kihívások: Beágyazott szoftver tesztelése
Néhány kihívás, amellyel szembesülhet a beágyazott szoftverek tesztelése során:
Hardverfüggőség
A hardverfüggőség a beágyazott szoftverek tesztelésének fő nehézségei közé tartozik, mivel a hardverhez való hozzáférés korlátozott. Az emulátorok és a szimulátorok azonban nem feltétlenül tükrözik pontosan a tényleges eszköz viselkedését, és rosszul érzékeltethetik a rendszer teljesítményét és az alkalmazás használhatóságát.
Nyílt forráskódú szoftver
A beágyazott szoftverkomponensek többsége nyílt forráskódú, nem házon belüli, és nincs elérhető teljes teszt. A tesztkombinációk és az ezekből adódó forgatókönyvek széles skálája létezik.
Szoftver vs. hardverhibák
Egy másik szempont, amikor egy frissen létrehozott hardverhez fejlesztenek szoftvert, ennek során a hardverhibák magas aránya azonosítható. A megtalált hiba nem csak a szoftverekre korlátozódik. Lehet, hogy a hardverhez is kapcsolódik.
Reprodukálható hibák
A beágyazott rendszer esetében a hibákat nehezebb reprodukálni / újrateremteni. Ez kényszeríti a beágyazott tesztelési eljárást arra, hogy minden hiba előfordulását lényegesen magasabbra értékelje, mint egy szokásos esetben, kivéve annyi adat összegyűjtését, amennyire ésszerűen szükség lehet a rendszer megváltoztatásához a hiba megalapozásához.
Folyamatos szoftverfrissítések
A beágyazott rendszerek rendszeres szoftverfrissítést igényelnek, például a kernel frissítését, a biztonsági javításokat, a különböző eszközillesztőket stb. Ezenkívül növeli a kiépítési és telepítési eljárás jelentőségét.
Összegzés
Van némi nehézség a beágyazott szoftverek tesztelésében, ami megnehezíti a szokásos szoftver tesztelését. A legalapvetőbb kérdés a hardver környezetre való szoros támaszkodás, amelyet a szoftverrel egyidejűleg készítenek elő, és amelyre rendszeresen szükség van a megbízható szoftver teszteléséhez. Néha még nehéz is tesztelni a szoftvert egyedi eszközök nélkül, ami fáradság nélkül teszi a csalódást a késői fázisokban kivételesen csábítóvá.
Az egyik legfontosabb dolog, amire gondolnia kell, az a tény, hogy gyakran az automatizált szoftver tesztelés mellett kell dönteni. A beágyazott automatizált tesztelés gyorsabb folyamat, amelynek végrehajtása néhány órát igényel, és ily módon a szoftver kérdése rendeződik.