Co to jest testowanie wbudowane w testowaniu oprogramowania?

Czym sฤ… systemy wbudowane?

Systemy wbudowane to elektronicznie sterowane urzฤ…dzenia, w ktรณrych oprogramowanie i sprzฤ™t sฤ… ล›ciล›le ze sobฤ… powiฤ…zane. Systemy wbudowane mogฤ… zawieraฤ‡ rรณลผnorodne urzฤ…dzenia komputerowe. Sฤ… to komputery PC wbudowane w inne urzฤ…dzenia w celu obsล‚ugi funkcji specyficznych dla aplikacji. Uลผytkownik koล„cowy zazwyczaj nie jest nawet ล›wiadomy ich istnienia.

Testowanie wbudowane

Testowanie wbudowane to proces testowania majฤ…cy na celu sprawdzenie funkcjonalnych i niefunkcjonalnych atrybutรณw oprogramowania i sprzฤ™tu w systemie wbudowanym oraz zapewnienie, ลผe produkt koล„cowy jest wolny od wad. Gล‚รณwnym celem testรณw wbudowanych jest weryfikacja i walidacja, czy koล„cowy produkt sprzฤ™tu i oprogramowania wbudowanego speล‚nia wymagania klienta, czy nie.

Testowanie oprogramowania wbudowanego sprawdza i zapewnia, ลผe โ€‹โ€‹dane oprogramowanie jest dobrej jakoล›ci i speล‚nia wszystkie wymagania, ktรณre powinno speล‚niaฤ‡. Testowanie oprogramowania wbudowanego to doskonaล‚e podejล›cie do zagwarantowania bezpieczeล„stwa w krytycznych zastosowaniach, takich jak sprzฤ™t medyczny, kolej, lotnictwo, przemysล‚ samochodowy itp. Rygorystyczne i dokล‚adne testowanie jest niezbฤ™dne do przyznania certyfikacji oprogramowania.

Jak przeprowadziฤ‡ testowanie oprogramowania wbudowanego

Ogรณlnie rzecz biorฤ…c, testujesz z czterech powodรณw:

  • Aby znaleลบฤ‡ bล‚ฤ™dy w oprogramowaniu
  • Pomaga zmniejszyฤ‡ ryzyko zarรณwno dla uลผytkownikรณw, jak i firmy
  • Obniลผ koszty rozwoju i utrzymania
  • Aby poprawiฤ‡ wydajnoล›ฤ‡

W ramach testowania wbudowanego wykonywane sฤ… nastฤ™pujฤ…ce czynnoล›ci:

1. Oprogramowanie jest wyposaลผone w pewne wejล›cia.

2. Wykonywany jest fragment oprogramowania.

3. Obserwuje siฤ™ stan oprogramowania i sprawdza siฤ™ wyniki pod kฤ…tem oczekiwanych wล‚aล›ciwoล›ci, takich jak zgodnoล›ฤ‡ wynikรณw z oczekiwanym wynikiem, zgodnoล›ฤ‡ z wymaganiami i brak awarii systemu.

Typy testowania oprogramowania wbudowanego

Zasadniczo istnieje piฤ™ฤ‡ poziomรณw testowania oprogramowania wbudowanego

Testowanie jednostkowe oprogramowania

Moduล‚ jednostki jest albo funkcjฤ…, albo klasฤ…. Testowanie jednostkowe jest wykonywane przez zespรณล‚ programistรณw, gล‚รณwnie programistฤ™ i jest zwykle przeprowadzane w modelu recenzji koleลผeล„skiej. Na podstawie specyfikacji moduล‚u opracowywane sฤ… przypadki testowe.

Testy integracyjne

Testowanie integracyjne moลผna podzieliฤ‡ na dwa segmenty:

  1. Testowanie integracji oprogramowania
  2. Testowanie integracji oprogramowania/sprzฤ™tu.

Na koniec testowana jest interakcja domeny sprzฤ™towej i komponentรณw oprogramowania. Moลผe to obejmowaฤ‡ badanie interakcji pomiฤ™dzy wbudowanymi urzฤ…dzeniami peryferyjnymi a oprogramowaniem.

Tworzenie oprogramowania wbudowanego ma unikalnฤ… cechฤ™, ktรณra koncentruje siฤ™ na rzeczywistym ล›rodowisku, w ktรณrym oprogramowanie jest uruchamiane, i jest zazwyczaj tworzone rรณwnolegle z oprogramowaniem. Powoduje to niedogodnoล›ci podczas testowania, poniewaลผ kompleksowe testowanie nie moลผe byฤ‡ przeprowadzone w warunkach symulowanych.

Testowanie jednostek systemowych

Teraz testowanym moduล‚em jest peล‚ny framework skล‚adajฤ…cy siฤ™ z kompletnego kodu oprogramowania oraz caล‚oล›ci system operacyjny czasu rzeczywistego (RTOS) oraz elementy zwiฤ…zane z platformฤ…, takie jak przerwania, mechanizmy zadaล„, komunikacja i tak dalej. Protokรณล‚ Point of Control nie jest juลผ wywoล‚aniem funkcji lub wywoล‚aniem metody, ale raczej komunikatem wysล‚anym/odebranym przy uลผyciu kolejek komunikatรณw RTOS.

Zasoby systemowe sฤ… obserwowane w celu oceny zdolnoล›ci systemu do obsล‚ugi wykonywania systemu wbudowanego. W tym aspekcie testowanie metodฤ… szarej skrzynki jest preferowanฤ… metodฤ… testowania. W zaleลผnoล›ci od organizacji testowanie jednostek systemowych jest obowiฤ…zkiem programisty lub dedykowanego zespoล‚u ds. integracji systemรณw.

Testowanie integracji systemu

Moduล‚ do przetestowania zaczyna siฤ™ od zestawu komponentรณw w obrฤ™bie jednego wฤ™zล‚a. Punkty kontroli i obserwacji (PCO) to mieszanka protokoล‚รณw komunikacji sieciowej i RTOS, takich jak komunikaty sieciowe i zdarzenia RTOS. Oprรณcz komponentu, wirtualny tester moลผe rรณwnieลผ peล‚niฤ‡ rolฤ™ wฤ™zล‚a.

Testowanie walidacyjne systemu

Testowanym moduล‚em jest podsystem z kompletnฤ… implementacjฤ… lub kompletny system wbudowany. Celem tego koล„cowego testu jest speล‚nienie wymagaล„ funkcjonalnych podmiotu zewnฤ™trznego. Naleลผy pamiฤ™taฤ‡, ลผe podmiotem zewnฤ™trznym moลผe byฤ‡ osoba, urzฤ…dzenie w sieci telekomunikacyjnej lub jedno i drugie.

Rรณลผnica: testowanie wbudowane i testowanie oprogramowania

Testowanie oprogramowania Testowanie wbudowane
Testowanie oprogramowania dotyczy wyล‚ฤ…cznie oprogramowania. Testowanie wbudowane dotyczy zarรณwno oprogramowania, jak i sprzฤ™tu.
ลšrednio 90% testรณw wykonywanych na ล›wiecie to testy manualne, tzw. czarne skrzynki. Testowanie wbudowane przeprowadza siฤ™ na systemach wbudowanych lub ukล‚adach scalonych. Moลผe to byฤ‡ testowanie czarnej lub biaล‚ej skrzynki.
Podstawowymi obszarami testowania sฤ… kontrole GUI, funkcjonalnoล›ฤ‡, walidacja i pewien poziom testowania baz danych. Podstawowymi obszarami testowania jest zachowanie sprzฤ™tu dla nr. danych wejล›ciowych do niego przekazanych.
Testowanie oprogramowania odbywa siฤ™ gล‚รณwnie w aplikacjach klient-serwer, sieciowych i mobilnych. Wbudowane testy sฤ… zwykle przeprowadzane na sprzฤ™cie.
np. Google Mail, Yahoo Mail, Android aplikacji. np. Maszyny w sล‚uลผbie zdrowia, Mikrokontrolery stosowane w komputerach.

Wyzwania: Testowanie oprogramowania wbudowanego

Niektรณre z wyzwaล„, jakie moลผna napotkaฤ‡ podczas testowania oprogramowania wbudowanego:

Zaleลผnoล›ฤ‡ sprzฤ™towa

Zaleลผnoล›ฤ‡ sprzฤ™towa jest jednฤ… z gล‚รณwnych trudnoล›ci napotykanych podczas testowania oprogramowania wbudowanego ze wzglฤ™du na ograniczony dostฤ™p do sprzฤ™tu. Jednakลผe emulatory i symulatory mogฤ… nie odzwierciedlaฤ‡ dokล‚adnie zachowania rzeczywistego urzฤ…dzenia i mogฤ… dawaฤ‡ bล‚ฤ™dne wyobraลผenie o wydajnoล›ci systemu i uลผytecznoล›ci aplikacji.

Oprogramowanie Open Source

Wiฤ™kszoล›ฤ‡ wbudowanych komponentรณw oprogramowania ma charakter open source, nie jest tworzona wewnฤ™trznie i nie ma dla nich dostฤ™pnego peล‚nego testu. Istnieje szeroki zakres kombinacji testรณw i wynikajฤ…cych z nich scenariuszy.

Wady oprogramowania a wady sprzฤ™tu

Innym aspektem jest to, ลผe gdy oprogramowanie jest opracowywane dla ล›wieลผo utworzonego sprzฤ™tu, podczas tego procesu moลผna zidentyfikowaฤ‡ wysoki odsetek defektรณw sprzฤ™tu. Wykryta usterka nie ogranicza siฤ™ wyล‚ฤ…cznie do oprogramowania. Moลผe to byฤ‡ rรณwnieลผ zwiฤ…zane ze sprzฤ™tem.

Powtarzalne wady

W przypadku systemu wbudowanego defekty sฤ… trudniejsze do odtworzenia/odtworzenia. Zmusza to procedurฤ™ testowania wbudowanego do wyceniania kaลผdego wystฤ…pienia defektu znacznie wyลผej niลผ w przypadku standardowym, poza zebraniem jak najwiฤ™kszej iloล›ci danych, ktรณre mogล‚yby byฤ‡ rozsฤ…dnie wymagane do zmiany systemu w celu znalezienia podstawy defektu.

Ciฤ…gล‚e aktualizacje oprogramowania

Systemy wbudowane wymagajฤ… regularnych aktualizacji oprogramowania, takich jak aktualizacja jฤ…dra, poprawki zabezpieczeล„, rรณลผne sterowniki urzฤ…dzeล„ itp. Ograniczenia zidentyfikowane z wpล‚ywem aktualizacji oprogramowania utrudniajฤ… identyfikacjฤ™ bล‚ฤ™dรณw. Ponadto zwiฤ™ksza to znaczenie procedury kompilacji i wdraลผania.

Podsumowanie

Istniejฤ… pewne trudnoล›ci w testowaniu oprogramowania wbudowanego, ktรณre czyniฤ… je trudniejszym niลผ zwykล‚e testowanie oprogramowania. Najbardziej fundamentalnym problemem jest ล›cisล‚e poleganie na ล›rodowisku sprzฤ™towym, ktรณre jest przygotowywane rรณwnoczeล›nie z oprogramowaniem i ktรณre jest regularnie wymagane do przeprowadzania niezawodnych testรณw oprogramowania. Czasami trudno jest nawet testowaฤ‡ oprogramowanie bez niestandardowych narzฤ™dzi, co sprawia, ลผe โ€‹โ€‹bezproblemowe koncentrowanie siฤ™ na testowaniu na pรณลบnych etapach jest wyjฤ…tkowo kuszฤ…ce.

Jednฤ… z najwaลผniejszych rzeczy, o ktรณrych powinieneล› pomyล›leฤ‡, jest fakt, ลผe czฤ™sto powinieneล› decydowaฤ‡ siฤ™ na automatyczne testowanie oprogramowania. Wbudowane automatyczne testowanie to szybszy proces, ktรณrego ukoล„czenie zajฤ™ล‚oby kilka godzin, a w ten sposรณb problem z Twoim oprogramowaniem jest rozwiฤ…zany.

Podsumuj ten post nastฤ™pujฤ…co: