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:
- Testowanie integracji oprogramowania
- 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.
