Co je vestavěné testování v testování softwaru?

Co jsou vestavěné systémy?

Vestavěné systémy jsou elektronicky řízená zařízení, kde jsou software a hardware těsně propojeny. Vestavěné systémy mohou obsahovat řadu výpočetních zařízení. Jedná se o počítače začleněné do jiných zařízení pro provozování funkcí specifických pro aplikaci. Koncový uživatel o jejich existenci obvykle ani neví.

Vestavěné testování

Vestavěné testování 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í bezvadnosti finálního produktu. Hlavním účelem Embedded testování je ověřit a ověřit, zda finální produkt vestavěného hardwaru a softwaru splňuje požadavky klienta či nikoliv.

Testování vestavěného softwaru kontroluje a zajišťuje, že příslušný software je kvalitní a splňuje všechny požadavky, které by měl splňovat. Testování vestavěného softwaru je vynikající přístup k zaručení bezpečnosti v kritických aplikacích, jako je lékařská zařízení, železnice, letectví, automobilový průmysl atd. Přísné a pečlivé testování je zásadní pro udělení certifikace softwaru.

Jak provádět testování vestavěného softwaru

Obecně platí, že testujete ze čtyř důvodů:

  • Chcete-li najít chyby v softwaru
  • Pomáhá snižovat rizika jak pro uživatele, tak pro společnost
  • Snižte náklady na vývoj a údržbu
  • Pro zlepšení výkonu

Ve vestavěném testování se provádějí následující činnosti:

1. Software je vybaven některými vstupy.

2. Je spuštěna část softwaru.

3. Stav softwaru je sledován a výstupy jsou kontrolovány na očekávané vlastnosti, jako je to, zda výstup odpovídá očekávanému výsledku, zda vyhovuje požadavkům a nedochází k selhání systému.

Typy testování vestavěného softwaru

V zásadě existuje pět úrovní testování, které lze aplikovat na vestavěný software

Testování softwarových jednotek

Modul jednotky je buď funkce, nebo třída. Testování jednotek provádí vývojový tým, primárně vývojář, a obvykle se provádí v modelu peer-review. Na základě specifikace modulu jsou vyvíjeny testovací případy.

Testování integrace

Integrační testování lze rozdělit do dvou segmentů:

  1. Testování softwarové integrace
  2. Testování integrace softwaru/hardwaru.

Na závěr je testována interakce hardwarové domény a softwarových komponent. To může zahrnovat zkoumání interakce mezi vestavěný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 provozován, a je obecně vytvářen paralelně se softwarem. To způsobuje nepříjemnosti pro testování, protože komplexní testování nelze provést v simulovaných podmínkách.

Testování systémové jednotky

Nyní je modul, který má být testován, úplný rámec, který se skládá z kompletního softwarového kódu navíc ze všech operační systém v reálném čase (RTOS) a prvky související s platformou, jako jsou přerušení, mechanismy úkolování, komunikace a tak dále. Protokol Point of Control již není voláním funkce nebo vyvoláním metody, ale spíše zprávou odeslanou/přijatou pomocí front zpráv RTOS.

Systémové prostředky jsou sledovány za účelem vyhodnocení schopnosti systému podporovat provádění vestavěného systému. Z tohoto hlediska testování v šedém boxu je oblíbená testovací metoda. V závislosti na organizaci je testování systémových jednotek buď povinností vývojáře, nebo specializovaného týmu systémové integrace.

Testování systémové integrace

Modul, který má být testován, začíná od sady komponent v rámci jednoho uzlu. Body kontroly a pozorování (PCO) jsou kombinací komunikačních protokolů souvisejících se sítí a RTOS, jako jsou síťové zprávy a události RTOS. Kromě komponenty může virtuální tester rovněž hrát roli uzlu.

Ověřovací testování systému

Testovaný modul je subsystém s kompletní implementací nebo kompletní vestavěný systém. Cílem tohoto závěrečného testu je splnit funkční požadavky externí entity. Všimněte si, že externí entitou je buď osoba, nebo zařízení v telekomunikační síti, nebo obojí.

Rozdíl: Vestavěné testování a testování softwaru

Testování softwaru Vestavěné testování
Testování softwaru se týká pouze softwaru. Vestavěné testování se týká jak softwaru, tak hardwaru.
V průměru 90 % testů prováděných 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é nebo bílé skříňky.
Primárními oblastmi testování jsou kontroly GUI, funkčnost, validace a určitá úroveň testování databáze. Primárními oblastmi testování jsou chování hardwaru pro ne. vstupů, které mu byly poskytnuty.
Testování softwaru se provádí převážně na klient-server, webových a mobilních aplikacích. Vestavěné testování obecně prováděné na hardwaru.
např. Google Mail, Yahoo Mail, Android aplikace. např. Stroje v oblasti 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 čelit během testování vestavěného softwaru:

Závislost na hardwaru

Hardwarová závislost patří mezi hlavní potíže, kterým čelíme během testování vestavěného softwaru kvůli omezenému přístupu k hardwaru. Emulátory a simulátory však nemusí přesně reprezentovat chování skutečného zařízení a mohly by poskytnout nesprávný dojem o výkonu systému a použitelnosti aplikace.

Open Source Software

Většina vestavěných softwarových komponent má povahu open source, nevytváří se interně a není pro ně k dispozici úplný test. Existuje široká škála kombinací testů a výsledných scénářů.

Vady softwaru vs. hardwaru

Dalším aspektem je, když se vyvíjí software pro čerstvě vytvořený hardware, během tohoto procesu lze identifikovat vysoký podíl hardwarových vad. Nalezená vada se neomezuje pouze na software. Může to souviset i s hardwarem.

Reprodukovatelné vady

Vady se v případě vestavěného systému obtížněji reprodukují/obnovují. To vynucuje vestavěný testovací postup tak, aby byl každý výskyt defektu oceněn podstatně vyšší než ve standardním případě, kromě shromažďování tolika dat, kolik by mohlo být rozumně vyžadováno ke změně systému, aby se našel základ defektu.

Průběžné aktualizace softwaru

Vestavěné systémy vyžadují pravidelné aktualizace softwaru, jako je aktualizace jádra, opravy zabezpečení, různé ovladače zařízení atd. Omezení identifikovaná s vlivem aktualizací softwaru ztěžují identifikaci chyb. Navíc zvyšuje význam postupu sestavení a nasazení.

Shrnutí

Při testování vestavěného testování softwaru existují určité potíže, které jej činí obtížnějším než běžné testování softwaru. Nejzásadnějším problémem je těsná závislost na hardwarovém prostředí, které je připravováno současně se softwarem a které je pravidelně vyžadováno pro spolehlivé testování softwaru. Někdy je dokonce obtížné testovat software bez vlastních nástrojů, což bez námahy činí soustředění se na testování v pozdních fázích mimořádně lákavým.

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 automatizované testování softwaru. Vestavěné automatické testování je rychlejší proces, jehož dokončení by trvalo několik hodin, a tímto způsobem je problém vašeho softwaru vyřešen.