V tomto výukovém programu se naučíte
- Co jsou vestavěné systémy?
- Co je vestavěné testování?
- Typy testování vestavěného softwaru
- Rozdíl: Integrované testování a testování softwaru
- Výzvy: Testování vestavěného softwaru
Co jsou vestavěné systémy?
Vestavěné systémy jsou elektronicky řízená zařízení, kde je software a hardware pevně propojen. Vestavěné systémy mohou obsahovat celou řadu výpočetních zařízení. Jedná se o počítače zabudované do jiných zařízení k ovládání funkcí specifických pro danou aplikaci. Koncový uživatel obvykle ani neví o jejich existenci.
Integrované testování
Embedded Testing je testovací proces pro kontrolu funkčních a nefunkčních atributů softwaru i hardwaru ve vestavěném systému a zajištění toho, aby finální produkt neobsahoval vady. Hlavním účelem integrovaného testování je ověřit a ověřit, zda konečný produkt vestavěného hardwaru a softwaru splňuje požadavky klienta nebo ne.
Testování vestavěného softwaru kontroluje a zajišťuje dobrou kvalitu dotyčného softwaru a splňuje všechny požadavky, které by měl splňovat. Zabudované testování softwaru je vynikajícím přístupem k zajištění bezpečnosti v kritických aplikacích, jako je lékařská zařízení, železnice, letectví, automobilový průmysl atd. Pro udělení softwarové certifikace je zásadní přísné a pečlivé testování.
Jak provádět testování integrovaného softwaru
Obecně testujete ze čtyř důvodů:
- Najít chyby v softwaru
- Pomáhá snižovat riziko jak pro uživatele, tak pro společnost
- Snižte náklady na vývoj a údržbu
- Chcete-li zlepšit výkon
V integrovaném testování se provádějí následující aktivity:
1. Software je dodáván s některými vstupy.
2. Je spuštěn kus softwaru.
3. Pozoruje se stav softwaru a na výstupech se kontrolují očekávané vlastnosti, například zda výstup odpovídá očekávanému výsledku, shoda s požadavky a absence selhání systému.
Typy testování vestavěného softwaru
Pro vestavěný software lze v zásadě použít pět úrovní testování
Testování softwarové jednotky
Modul jednotky je buď funkce, nebo třída. Testování jednotek provádí vývojový tým, především vývojář, a obvykle se provádí v modelu vzájemného hodnocení. Na základě specifikace modulu jsou vyvinuty testovací případy.
Testování integrace
Testování integrace lze rozdělit do dvou segmentů:
- Testování softwarové integrace
- Testování integrace softwaru / hardwaru.
Na konci je testována interakce hardwarové domény a softwarových komponent. To může zahrnovat zkoumání interakce mezi integrovanými periferními zařízeními a softwarem.
Vývoj vestavěného softwaru má jedinečnou charakteristiku, která se zaměřuje na skutečné prostředí, ve kterém je software spuštěn, je obvykle vytvářen souběžně se softwarem. To způsobuje potíže při testování, protože komplexní testování nelze provést v simulovaném stavu.
Testování systémové jednotky
Modul, který má být testován, je nyní plný rámec, který se skládá z kompletního softwarového kódu navíc ze všech operačních systémů v reálném čase (RTOS) a částí souvisejících s platformou, jako jsou přerušení, mechanismy úkolů, komunikace atd. Protokol Point of Control již není voláním funkce nebo vyvoláním metody, ale spíše zprávou odeslanou / získanou s využitím front zpráv RTOS.
Systémové prostředky jsou sledovány, aby se vyhodnotila schopnost systému podporovat provádění vloženého systému. Z tohoto hlediska je preferovanou testovací metodou testování šedých polí. V závislosti na organizaci je testování systémových jednotek buď povinností vývojáře, nebo specializovaného týmu pro integraci systému.
Testování integrace systému
Testovaný modul začíná ze sady komponent v jednom uzlu. Body kontroly a pozorování (PCO) jsou kombinací síťových komunikačních protokolů a RTOS, jako jsou síťové zprávy a události RTOS. Kromě komponenty může Virtual Tester také hrát roli uzlu.
Testování ověření systému
Testovaným modulem je subsystém s úplnou implementací nebo s integrovaným systémem. Cílem tohoto závěrečného testu je splnění funkčních požadavků externí entity. Všimněte si, že externí entitou může být buď osoba, nebo zařízení v telekomunikační síti, nebo obojí.
Rozdíl: Integrované testování a testování softwaru
Testování softwaru | Integrované testování |
---|---|
Testování softwaru se týká pouze softwaru. | Integrované testování souvisí jak se softwarem, tak s hardwarem. |
V průměru 90% testování provedeného na světě je čistě manuální testování černé skříňky. | Vestavěné testování se provádí na vestavěných systémech nebo čipech, může to být testování černé skříňky nebo bílé skříňky. |
Primární oblasti testování jsou kontroly grafického uživatelského rozhraní, funkčnost, validace a určitá úroveň testování databáze. | Primární oblasti testování jsou chování hardwaru pro č. zadaných vstupů. |
Testování softwaru se převážně provádí na klientsko-serverových, webových a mobilních aplikacích. | Integrované testování se obecně provádí na hardwaru. |
např. Google Mail, Yahoo Mail, aplikace pro Android. | např. stroje ve zdravotnictví, mikrokontroléry používané v počítačích. |
Výzvy: Testování vestavěného softwaru
Některé z výzev, kterým může člověk během testování integrovaného softwaru čelit:
Závislost na hardwaru
Závislost na hardwaru patří mezi hlavní potíže, kterým čelí testování integrovaného softwaru z důvodu omezeného přístupu k hardwaru. Emulátory a simulátory však nemusí přesně představovat chování skutečného zařízení a mohou dát nesprávný smysl pro výkon systému a použitelnost aplikace.
Software s otevřeným zdrojovým kódem
Většina integrovaných softwarových komponent má v přírodě otevřený zdroj, který není vytvořen interně, a není pro něj k dispozici kompletní test. Existuje široká škála testovacích kombinací a výsledných scénářů.
Softwarové vs. hardwarové vady
Dalším aspektem je, když je software vyvíjen pro čerstvě vytvořený hardware, během tohoto procesu lze identifikovat vysoký poměr defektů hardwaru. Zjištěná vada se neomezuje pouze na software. Může to souviset také s hardwarem.
Reprodukovatelné vady
Vady se v případě zabudovaného systému obtížněji reprodukují / znovu vytvářejí. To vynucuje integrovaný testovací postup tak, aby byl každý výskyt vady ohodnocen podstatně vyšší než ve standardním případě, kromě toho, aby bylo shromážděno tolik dat, kolik by bylo rozumně požadováno, aby se systém změnil a našel základ vady.
Průběžné aktualizace softwaru
Integrované systémy vyžadují pravidelné aktualizace softwaru, jako je upgrade jádra, opravy zabezpečení, různé ovladače zařízení atd. Omezení identifikovaná vlivem aktualizací softwaru ztěžují identifikaci chyb. Navíc zvyšuje význam postupu sestavení a nasazení.
souhrn
Testování vestavěného softwaru má určité potíže, které ho ztěžují než běžné testování softwaru. Nejzásadnějším problémem je těsné spoléhání se na hardwarové prostředí, které je připraveno současně se softwarem a které je pravidelně vyžadováno k provedení spolehlivého testování softwaru. Někdy je dokonce obtížné testovat software bez vlastních nástrojů, což bez námahy umožňuje soustředit se na testování v pozdních fázích výjimečně lákavě.
Jednou z nejdůležitějších věcí, na kterou byste měli myslet, je skutečnost, že byste se měli často rozhodnout pro automatické testování softwaru. Integrované automatické testování je rychlejší proces, jehož dokončení by zabralo několik hodin, a tímto způsobem je vyřešen problém s vaším softwarem.