Wykres porównania
Podstawa do porównania | Testów jednostkowych | Testowanie systemu |
---|---|---|
Podstawowy | Koncentruje się na weryfikacji funkcjonalnej komponentów. | Sprawdza poprawność systemu po zintegrowaniu go z większym systemem. |
Podąża | Specyfikacja modułów | Specyfikacja wymagań |
Widoczność szczegółów kodu | Opatrzony | Nie dostarczone |
Rusztowanie | wymagany | Nie potrzeba sterowników / stubów |
Nacisk | Na temat zachowania pojedynczego modułu. | Funkcje systemu. |
Definicja testów jednostkowych
Testowanie jednostkowe jest techniką potwierdzania najmniejszych jednostek w oprogramowaniu. Te najmniejsze elementy oprogramowania są testowane w izolacji. Komponent sterownika jest odpowiedzialny za generowanie wywołań metod dla testowanych komponentów. Element wykorzystujący metodę jest naśladowany jako stub . Te kody pośrednie są początkowym zamiennikiem dla niewłaściwie umieszczonych metod.
Test jednostkowy jest kierowany testami typu "white-box", a kroki w testowaniu jednostki są przeprowadzane jednocześnie dla wielu komponentów. Podkreśla to, testując właściwy przepływ danych wzdłuż interfejsów modułów, ponieważ jeśli zostanie zignorowany, inne testy staną się niepewne.
Operacje z kodu pośredniczącego
- Kod pośredniczący może wykonać wyraźnie zapisaną imitację zadania składnika.
- Może wyświetlać komunikat po wykonaniu komponentu.
Każda z powyższych operacji może być wykonana jednocześnie. Testowanie jednostek jest istotną częścią testowania oprogramowania, które zapewnia szybszy rozwój, debugowanie, projektowanie dźwięku, dokumentację i mechanizm zwrotny, a także zmniejsza ogólne koszty.
Definicja testowania systemu
Testowanie systemu weryfikuje całkowicie zachowanie systemu. Wykonuje różne testy w postępie. Testy te mają jednak wyraźny zamiar i sprawdzenie, czy wszystkie elementy systemu działają poprawnie w sposób zintegrowany czy nie.
W tych testach przypadki testowe są projektowane zgodnie ze specyfikacją wymagań, a jej kod jest podobny do czarnej skrzynki. Deweloperzy posiadający szeroką wiedzę i wgląd w strukturę systemu zwykle wykonują testy systemu.
Rodzaje testowania systemu:
Istnieje kilka form testowania systemu, wśród których kilka z nich opisano poniżej.
- Testowanie odzyskiwania : ten rodzaj testu powoduje, że oprogramowanie odmawia na kilka sposobów sprawdzenia właściwego procesu odzyskiwania.
- Testowanie bezpieczeństwa : Testy bezpieczeństwa weryfikują mechanizm bezpieczeństwa i zapobiegają penetracji systemu.
- Testy wytrzymałościowe : Jest to technika testowania, w której wymagane są nienormalne warunki zasobów, takie jak ilość, częstotliwość i objętość.
- Testy wydajności : Testy wydajności koncentrują się na wydajności środowiska wykonawczego oprogramowania w odniesieniu do całego systemu.
Kluczowe różnice między testowaniem jednostkowym a testowaniem systemu
- Testowanie jednostki działa na specyfikacji modułu. W przeciwieństwie do tego, testowanie systemu odbywa się zgodnie ze zintegrowaną specyfikacją wymagań dla oprogramowania i sprzętu.
- W testach jednostkowych szczegóły kodu są widoczne dla testera, podczas gdy tak nie jest w testowaniu systemu. Powodem tego jest to, że testy jednostkowe mogą być wykonywane przez programistę modułu, ale testowanie systemu jest większym zadaniem, w którym tester i programista to dwie różne osoby, które wykonują różne operacje.
- Testowanie jednostkowe wykorzystuje technikę rusztowania, w której wygenerowany kod nie jest częścią oprogramowania i którego jedynym celem jest doprowadzenie do testów. Wręcz przeciwnie, testowanie systemu nie wykorzystuje techniki rusztowania.
- W testowaniu jednostkowym nacisk kładziony jest na pojedynczy moduł, podczas gdy w testowaniu systemu uwzględniane są wszystkie funkcjonalności systemu.
Relacja między testowaniem jednostkowym a testowaniem systemu w kontekście strategii testowania oprogramowania:
Zgodnie z poniższym schematem testowanie jednostki rozpoczyna się od centrum i koncentruje się na każdej z jednostek oprogramowania (komponentu) zgodnie z implementacją. Następnie przeprowadza się testowanie integracyjne, w którym analizuje się projekt i konstrukcję architektury oprogramowania. Kiedy wychodzimy na zewnątrz, testowanie walidacyjne napotyka, gdzie sprawdzane są wymagania dotyczące specyfikacji wymagań. Testowanie systemu obecne w najbardziej zewnętrznej części, która testuje oprogramowanie i jego inne części systemu jako zintegrowany komponent.
Wniosek
Testowanie jednostkowe jest techniką testowania, w której testowana jest najmniejsza jednostka programu. Z drugiej strony testowanie systemu opiera się na specyfikacji projektu wysokiego poziomu i sprawdza, czy implementacja systemu spełnia specyfikację wymagań systemowych, czy też nie.