V tomto návode sa naučíte
- Čo sú zabudované systémy?
- Čo je integrované testovanie?
- Typy testovania zabudovaného softvéru
- Rozdiel: Integrované testovanie a testovanie softvéru
- Výzvy: Testovanie zabudovaného softvéru
Čo sú zabudované systémy?
Vstavané systémy sú elektronicky riadené zariadenia, kde je softvér a hardvér pevne prepojený. Vstavané systémy môžu obsahovať rôzne výpočtové zariadenia. Jedná sa o počítače zabudované v iných zariadeniach na vykonávanie funkcií špecifických pre jednotlivé aplikácie. Koncový užívateľ zvyčajne ani nevie o svojej existencii.
Integrované testovanie
Integrované testovanie je testovací proces na kontrolu funkčných a nefunkčných atribútov softvéru aj hardvéru vo vstavanom systéme a na zaistenie bezchybnosti konečného produktu. Hlavným účelom integrovaného testovania je overiť a overiť, či konečný produkt zabudovaného hardvéru a softvéru spĺňa požiadavky klienta alebo nie.
Testovanie zabudovaného softvéru kontroluje a zaisťuje dobrú kvalitu príslušného softvéru a súlad so všetkými požiadavkami, ktoré by mal spĺňať. Zabudované testovanie softvéru je vynikajúcim prístupom k zaručeniu bezpečnosti v kritických aplikáciách, ako sú lekárske prístroje, železnice, letectvo, automobilový priemysel atď. Na udelenie certifikácie softvéru je nevyhnutné prísne a dôkladné testovanie.
Ako vykonať testovanie zabudovaného softvéru
Všeobecne testujete zo štyroch dôvodov:
- Nájsť chyby v softvéri
- Pomáha znižovať riziko pre používateľov aj pre spoločnosť
- Znížte náklady na vývoj a údržbu
- Na zlepšenie výkonu
Vo vloženom testovaní sa vykonávajú tieto činnosti:
1. Softvér je dodávaný s niektorými vstupmi.
2. Vykoná sa časť softvéru.
3. Pozoruje sa stav softvéru a na výstupoch sa kontrolujú očakávané vlastnosti, ako napríklad to, či sa výstup zhoduje s očakávaným výsledkom, zhoda s požiadavkami a absencia zlyhaní systému.
Typy testovania zabudovaného softvéru
Na zabudovaný softvér je v zásade možné uplatniť päť úrovní testovania
Testovanie softvérovej jednotky
Modul jednotky je buď funkciou, alebo triedou. Testovanie jednotiek vykonáva vývojový tím, predovšetkým vývojár, a zvyčajne sa vykonáva v modeli vzájomného hodnotenia. Na základe špecifikácie modulu sú vyvinuté testovacie prípady.
Testovanie integrácie
Testovanie integrácie možno rozdeliť do dvoch segmentov:
- Testovanie softvérovej integrácie
- Testovanie integrácie softvéru a hardvéru.
Nakoniec je testovaná interakcia hardvérovej domény a softvérových komponentov. To môže zahŕňať preskúmanie interakcie medzi zabudovanými periférnymi zariadeniami a softvérom.
Vývoj zabudovaného softvéru má jedinečnú vlastnosť, ktorá sa zameriava na skutočné prostredie, v ktorom sa softvér prevádzkuje, sa spravidla vytvára súbežne so softvérom. To spôsobuje ťažkosti pri testovaní, pretože komplexné testovanie nemožno vykonať v simulovanom stave.
Testovanie systémovej jednotky
Teraz je testovaným modulom kompletný rámec, ktorý sa skladá z kompletného softvérového kódu a navyše zo všetkých operačných systémov v reálnom čase (RTOS) a platforiem, ako sú prerušenia, mechanizmy úloh, komunikácia atď. Protokol Point of Control už nie je volaním funkcie alebo vyvolania metódy, ale skôr správou odoslanou / prijatou pomocou frontov správ RTOS.
Systémové prostriedky sa sledujú, aby sa vyhodnotila schopnosť systému podporovať vykonávanie zabudovaného systému. Z tohto hľadiska je uprednostňovanou metódou testovania sivá skrinka. V závislosti od organizácie je testovanie systémovej jednotky buď povinnosťou vývojára, alebo špecializovaného tímu pre integráciu systému.
Testovanie integrácie systému
Testovaný modul začína zo sady komponentov v jednom uzle. Body kontroly a pozorovania (PCO) sú kombináciou sieťových komunikačných protokolov a RTOS, ako sú sieťové správy a udalosti RTOS. Okrem komponentu môže virtuálny tester tiež hrať úlohu uzla.
Testovanie platnosti systému
Testovaný modul je subsystém s úplnou implementáciou alebo s úplným zabudovaným systémom. Cieľom tejto záverečnej skúšky je splniť funkčné požiadavky externej entity. Upozorňujeme, že externou entitou môže byť buď osoba, alebo zariadenie v telekomunikačnej sieti alebo oboje.
Rozdiel: Integrované testovanie a testovanie softvéru
Testovanie softvéru | Integrované testovanie |
---|---|
Testovanie softvéru súvisí iba so softvérom. | Integrované testovanie súvisí so softvérom aj hardvérom. |
V priemere 90% testovaní na svete sa vykonáva čisto manuálnym testovaním čiernej skrinky. | Vstavané testovanie sa vykonáva na zabudovaných systémoch alebo čipoch, môže to byť testovanie v čiernej alebo bielej skrinke. |
Primárnymi oblasťami testovania sú kontroly GUI, funkčnosť, validácia a určitá úroveň testovania databázy. | Primárnou oblasťou testovania je správanie hardvéru pre č. vstupov, ktoré mu boli poskytnuté. |
Testovanie softvéru sa väčšinou vykonáva na klientsko-serverových, webových a mobilných aplikáciách. | Integrované testovanie sa všeobecne vykonáva na hardvéri. |
napr. Google Mail, Yahoo Mail, aplikácie pre Android. | napr. stroje v doméne zdravotnej starostlivosti, mikrokontroléry používané v počítačoch. |
Výzvy: Testovanie zabudovaného softvéru
Niektoré z problémov, ktorým môže človek čeliť počas testovania zabudovaného softvéru:
Závislosť od hardvéru
Závislosť od hardvéru patrí medzi hlavné ťažkosti, ktorým čelí testovanie zabudovaného softvéru z dôvodu obmedzeného prístupu k hardvéru. Emulátory a simulátory však nemusia presne predstavovať správanie skutočného zariadenia a môžu poskytnúť nesprávny prehľad o výkone systému a použiteľnosti aplikácie.
Softvér s otvoreným zdrojovým kódom
Väčšina zabudovaných softvérových komponentov je v prírode otvoreného zdroja, nie je vytvorená vlastnými silami a nie je k dispozícii úplný test. Existuje široká škála testovacích kombinácií a výsledných scenárov.
Softvér vs. hardvérové chyby
Ďalším aspektom je, keď sa softvér vyvíja pre čerstvo vytvorený hardvér, počas ktorého možno identifikovať vysoký pomer defektov hardvéru. Nájdená chyba sa neobmedzuje iba na softvér. Môže to súvisieť aj s hardvérom.
Reprodukovateľné chyby
Poruchy sa v prípade zabudovaného systému ťažšie reprodukujú / znovu vytvárajú. To vynúti integrovaný testovací postup, aby ocenil každý výskyt chyby podstatne vyššie ako v štandardnom prípade, okrem zhromaždenia čo najväčšieho množstva údajov, ktoré by mohli byť potrebné na zmenu systému, aby sa zistil základ chyby.
Nepretržité aktualizácie softvéru
Vstavané systémy vyžadujú pravidelné aktualizácie softvéru, ako je aktualizácia jadra, opravy zabezpečenia, rôzne ovládače zariadení atď. Obmedzenia identifikované s vplyvom aktualizácií softvéru sťažujú identifikáciu chyby. Ďalej zvyšuje význam postupu zostavovania a nasadenia.
Zhrnutie
Pri testovaní zabudovaného softvéru sa vyskytujú ťažkosti, ktoré ho sťažujú ako bežné testovanie softvéru. Najzásadnejším problémom je úzke spoliehanie sa na hardvérové prostredie, ktoré sa pripravuje súčasne so softvérom a ktoré sa pravidelne vyžaduje na spoľahlivé testovanie softvéru. Niekedy je dokonca ťažké testovať softvér bez vlastných nástrojov, čo bez námahy robí koncentráciu na testovanie v neskorých fázach mimoriadne lákavou.
Jednou z najdôležitejších vecí, na ktorú by ste mali myslieť, je skutočnosť, že by ste sa mali často rozhodnúť pre automatizované testovanie softvéru. Integrované automatizované testovanie je rýchlejší proces, ktorého dokončenie bude trvať niekoľko hodín. Týmto spôsobom sa vyrieši problém s vaším softvérom.