Co to jest testowanie wbudowane w testowaniu oprogramowania?
⚡ Inteligentne podsumowanie
Testowanie wbudowane pozwala na jednoczesną kontrolę funkcjonalnego i niefunkcjonalnego zachowania oprogramowania i sprzętu, ponieważ w systemie wbudowanym są one ściśle powiązane i żadnego z nich nie da się prawidłowo zweryfikować osobno.
Czym są systemy wbudowane?
Systemy wbudowane To urządzenia sterowane elektronicznie, w których oprogramowanie i sprzęt są ściśle ze sobą powiązane. Systemy wbudowane mogą zawierać różnorodne urządzenia obliczeniowe. Są to komputery PC wbudowane w inne urządzenia w celu obsługi funkcji specyficznych dla danej aplikacji. Użytkownik końcowy zazwyczaj nawet nie zdaje sobie sprawy z ich istnienia.
Testowanie wbudowane
Testy wbudowane jest procesem testowania mającym na celu sprawdzenie funkcjonalności i niefunkcjonalny atrybuty oprogramowania i sprzętu w systemie wbudowanym oraz zapewnienie, że produkt końcowy będzie wolny od wad. Głównym celem testowania systemów wbudowanych jest weryfikacja i walidacja, czy produkt końcowy, składający się ze sprzętu i oprogramowania wbudowanego, spełnia wymagania klienta.
Testowanie oprogramowania wbudowanego weryfikuje i zapewnia, że oprogramowanie jest dobrej jakości i spełnia wszystkie wymagania, jakie powinno spełniać. Testowanie oprogramowania wbudowanego to doskonałe podejście do zagwarantowania bezpieczeństwa w krytycznych aplikacjach, takich jak sprzęt medyczny, kolejnictwo, lotnictwo, przemysł motoryzacyjny itp. Surowe i staranne testowanie ma kluczowe znaczenie dla uzyskania certyfikatu 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ść
Podczas testowania wbudowanego wykonywane są następujące czynności:
- Oprogramowanie jest wyposażone w pewne dane wejściowe.
- Wykonywany jest fragment oprogramowania.
- Obserwuje się stan oprogramowania i sprawdza, czy dane wyjściowe odpowiadają oczekiwanym rezultatom, czy są zgodne z wymaganiami i czy nie występują awarie systemu.
Typy testowania oprogramowania wbudowanego
Zasadniczo istnieje pięć poziomów testowania, które można zastosować do oprogramowania wbudowanego.
Testowanie jednostkowe oprogramowania
Moduł jednostkowy jest funkcją lub klasą. Testowanie jednostkowe jest przeprowadzane przez zespół programistów, głównie programistów, i zazwyczaj odbywa się w modelu recenzji eksperckiej. Przypadki testowe są opracowywane na podstawie specyfikacji modułu.
Testy integracyjne
Testy 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 programowych. Może to obejmować badanie interakcji między wbudowanymi urządzeniami peryferyjnymi a oprogramowaniem.
Tworzenie oprogramowania wbudowanego charakteryzuje się unikalną cechą: rzeczywiste środowisko, w którym działa oprogramowanie, jest zazwyczaj tworzone równolegle z samym oprogramowaniem. Powoduje to utrudnienia w testowaniu, ponieważ kompleksowe testowanie nie może być przeprowadzone w warunkach symulowanych.
Testowanie jednostek systemowych
Teraz modułem do przetestowania jest pełna struktura składająca się z kompletnego kodu oprogramowania i wszystkich system operacyjny czasu rzeczywistego (RTOS) i elementy związane z platformą, takie jak przerwania, mechanizmy zadań, komunikacja itd. Protokół Point of Control nie jest już wywołaniem funkcji ani wywołaniem metody, lecz komunikatem wysyłanym lub odbieranym za pomocą 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 to preferowana metoda testowania. W zależności od organizacji, testowanie jednostkowe systemu jest obowiązkiem programisty lub dedykowanego zespołu ds. integracji systemów.
Testowanie integracji systemu
Testowany moduł rozpoczyna się od zestawu komponentów w obrębie jednego węzła. Punkty Kontroli i Obserwacji (PCO) to połączenie protokołów komunikacyjnych związanych z siecią i zdarzeń RTOS, takich jak komunikaty sieciowe. Oprócz komponentu, wirtualny tester może również pełnić rolę węzła.
Testowanie walidacyjne systemu
Testowany moduł to 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 oba te elementy.
Różnica: testowanie wbudowane i testowanie oprogramowania
Poniższa tabela porównuje testy wbudowane z testami konwencjonalnymi 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 jest przeprowadzanych wyłącznie ręcznie testy czarnej skrzynki. | Testowanie systemów wbudowanych przeprowadza się na systemach wbudowanych lub układach scalonych i może to być test czarnej skrzynki lub testowanie na chipach. testowanie w białej skrzynce. |
| Podstawowymi obszarami testowania są kontrole GUI, funkcjonalność, walidacja i pewien poziom testowania baz danych. | Podstawowym obszarem testowania jest badanie zachowania sprzętu przy określonej liczbie podanych mu danych wejściowych. |
| Testowanie oprogramowania odbywa się głównie w aplikacjach klient-serwer, sieciowych i mobilnych. | Testowanie systemów wbudowanych przeprowadza się zazwyczaj na sprzęcie. |
| EC Google Mail, Yahoo Mail, Android aplikacji. | np. maszyny wykorzystywane w służbie zdrowia, mikrokontrolery stosowane w komputerach. |
Wyzwania: Testowanie oprogramowania wbudowanego
Niektóre wyzwania, z jakimi można się spotkać podczas testowania oprogramowania wbudowanego:
Zależność sprzętowa
Zależność sprzętowa to jedna z głównych trudności napotykanych podczas testowania oprogramowania wbudowanego, ze względu na ograniczony dostęp do sprzętu. Jednak emulatory i symulatory mogą nie odzwierciedlać precyzyjnie zachowania rzeczywistego urządzenia i dawać mylne wyobrażenie o wydajności systemu i użyteczności aplikacji.
Oprogramowanie Open Source
Większość komponentów oprogramowania wbudowanego ma charakter open source, nie jest tworzona wewnętrznie i nie posiada kompletnego zestawu testów. Istnieje szeroki wachlarz kombinacji testów i wynikających z nich scenariuszy.
Wady oprogramowania a wady sprzętu
Innym aspektem jest tworzenie oprogramowania dla nowo powstałego sprzętu. Podczas tego procesu można zidentyfikować wysoki odsetek usterek sprzętowych. Wykryte usterki nie ograniczają się do oprogramowania. Mogą dotyczyć również sprzętu.
Powtarzalne wady
W przypadku systemu wbudowanego defekty są trudniejsze do odtworzenia lub odtworzenia. Zmusza to procedurę testowania systemów wbudowanych do znacznie wyższej wartości każdego wystąpienia defektu niż w przypadku standardowym oraz do gromadzenia jak największej ilości danych, jaka jest rozsądnie potrzebna do znalezienia pierwotnej przyczyny defektu.
Ciągłe aktualizacje oprogramowania
Systemy wbudowane wymagają regularnych aktualizacji oprogramowania, takich jak aktualizacje jądra, poprawki bezpieczeństwa, różne sterowniki urządzeń itp. Ograniczenia związane z aktualizacjami oprogramowania utrudniają identyfikację błędów. Dodatkowo, zwiększają one znaczenie procedury kompilacji i wdrożenia.
