Co to jest testowanie integracyjne?
TESTOWANIE INTEGRACYJNE definiuje się jako rodzaj testowania, w którym moduły oprogramowania są logicznie zintegrowane i testowane jako grupa. Typowy projekt oprogramowania składa się z wielu modułów oprogramowania, kodowanych przez różnych programistów. Celem tego poziomu testowania jest ujawnienie defektów w interakcji między tymi modułami oprogramowania, gdy są one zintegrowane
Testowanie integracji koncentruje się na sprawdzaniu komunikacji danych między tymi modułami. Dlatego jest również określany jako „I & T” (Integracja i testowanie), „Testowanie ciągów”, a czasem „Testowanie wątków” .
- Co to jest testowanie integracyjne?
- Dlaczego testy integracyjne?
- Przykład przypadku testu integracji
- Podejścia, strategie, metodologie testów integracyjnych
- Podejście Big Bang:
- Podejście przyrostowe
- Co to jest Stub and Driver?
- Integracja oddolna
- Integracja odgórna:
- Integracja hybrydowa / kanapkowa
- Jak przeprowadzić testy integracyjne?
- Krótki opis planów testów integracji:
- Kryteria wejścia i wyjścia testów integracyjnych
- Najlepsze praktyki / wytyczne dotyczące testowania integracyjnego
Dlaczego testy integracyjne?
Chociaż każdy moduł oprogramowania jest testowany jednostkowo, nadal występują usterki z różnych powodów, na przykład
- Ogólnie moduł jest projektowany przez indywidualnego programistę, którego rozumienie i logika programowania może różnić się od innych programistów. Testowanie integracyjne staje się konieczne, aby sprawdzić, czy moduły oprogramowania działają w jedności
- W momencie rozwoju modułu istnieje duże prawdopodobieństwo zmiany wymagań przez klientów. Te nowe wymagania mogą nie podlegać testom jednostkowym, dlatego też testy integracji systemu stają się konieczne.
- Interfejsy modułów oprogramowania z bazą danych mogą być błędne
- Zewnętrzne interfejsy sprzętowe, jeśli istnieją, mogą być błędne
- Niewłaściwa obsługa wyjątków może powodować problemy.
Kliknij tutaj, jeśli wideo nie jest dostępne
Przykład przypadku testu integracji
Integracja Test Case różni się od innych przypadków testowych tym, że koncentruje się głównie na interfejsach i przepływie danych / informacji między modułami . W tym przypadku pierwszeństwo mają łącza integrujące, a nie funkcje jednostki, które zostały już przetestowane.
Przykładowe przypadki testowe integracji dla następującego scenariusza: Aplikacja składa się z 3 modułów o nazwach „Strona logowania”, „Skrzynka pocztowa” i „Usuwanie wiadomości e-mail”, a każdy z nich jest logicznie zintegrowany.
Tutaj nie koncentruj się zbytnio na testowaniu strony logowania, ponieważ zostało to już zrobione w testach jednostkowych. Ale sprawdź, jak jest powiązany ze stroną skrzynki pocztowej.
Podobnie Mail Box: Sprawdź jego integrację z modułem usuwania wiadomości e-mail.
Identyfikator przypadku testowego | Cel przypadku testowego | Opis przypadku testowego | Spodziewany wynik |
---|---|---|---|
1 | Sprawdź łącze interfejsu między modułem logowania i skrzynki pocztowej | Wprowadź dane logowania i kliknij przycisk Zaloguj | Należy skierować do skrzynki pocztowej |
2 | Sprawdź łącze interfejsu między skrzynką pocztową i modułem usuwania wiadomości e-mail | W skrzynce pocztowej wybierz wiadomość e-mail i kliknij przycisk usuwania | Wybrana wiadomość e-mail powinna pojawić się w folderze Usunięte / Kosz |
Podejścia, strategie, metodologie testów integracyjnych
Inżynieria oprogramowania definiuje różnorodne strategie wykonywania testów integracyjnych, a mianowicie.
- Podejście Big Bang:
- Podejście przyrostowe: które jest dalej podzielone na następujące
- Podejście odgórne
- Podejście oddolne
- Podejście kanapkowe - połączenie odgórnego i oddolnego
Poniżej przedstawiamy różne strategie, sposób ich wykonywania oraz ich ograniczenia i zalety.
Testy Wielkiego Wybuchu
Big Bang Testing to podejście do testowania integracji, w którym wszystkie komponenty lub moduły są zintegrowane razem, a następnie testowane jako całość. Ten połączony zestaw komponentów jest traktowany jako całość podczas testowania. Jeśli wszystkie komponenty w jednostce nie zostaną ukończone, proces integracji nie zostanie wykonany.
Zalety:
- Wygodny dla małych systemów.
Niedogodności:
- Lokalizacja usterek jest trudna.
- Biorąc pod uwagę ogromną liczbę interfejsów, które należy przetestować w tym podejściu, można łatwo przeoczyć niektóre łącza interfejsów do przetestowania.
- Ponieważ testowanie integracyjne można rozpocząć dopiero po zaprojektowaniu „wszystkich” modułów, zespół testujący będzie miał mniej czasu na wykonanie w fazie testowania.
- Ponieważ wszystkie moduły są testowane jednocześnie, moduły krytyczne wysokiego ryzyka nie są izolowane i testowane priorytetowo. Moduły peryferyjne, które obsługują interfejsy użytkownika, również nie są izolowane i testowane priorytetowo.
Testowanie przyrostowe
W podejściu do testowania przyrostowego testowanie odbywa się poprzez integrację dwóch lub więcej modułów, które są ze sobą logicznie powiązane, a następnie testowane pod kątem prawidłowego działania aplikacji. Następnie inne powiązane moduły są integrowane przyrostowo i proces jest kontynuowany, aż wszystkie logicznie powiązane moduły zostaną zintegrowane i pomyślnie przetestowane.
Z kolei podejście przyrostowe jest realizowane za pomocą dwóch różnych metod:
- Oddolne
- Odgórne
Kodeksy i sterowniki
Stubs and Drivers to fałszywe programy w testach integracyjnych, które ułatwiają testowanie oprogramowania. Programy te zastępują brakujące modele w testowaniu. Nie realizują całej logiki programowania modułu oprogramowania, ale symulują komunikację danych z modułem wywołującym podczas testowania.
Stub : jest wywoływany przez testowany moduł.
Driver : wywołuje moduł do przetestowania.
Oddolne testowanie integracji
Oddolne testowanie integracji to strategia, w której najpierw testowane są moduły niższego poziomu. Te przetestowane moduły są następnie wykorzystywane do ułatwienia testowania modułów wyższego poziomu. Proces trwa do momentu przetestowania wszystkich modułów na najwyższym poziomie. Po przetestowaniu i zintegrowaniu modułów niższego poziomu, tworzony jest następny poziom modułów.
Schematyczna reprezentacja :
Zalety:
- Lokalizacja usterek jest łatwiejsza.
- Nie marnuj czasu na czekanie na opracowanie wszystkich modułów, w przeciwieństwie do podejścia Big-bang
Niedogodności:
- Krytyczne moduły (na najwyższym poziomie architektury oprogramowania) sterujące przepływem aplikacji są testowane jako ostatnie i mogą być podatne na defekty.
- Wczesny prototyp nie jest możliwy
Testowanie integracji odgórnej
Odgórne testy integracyjne to metoda, w której testowanie integracyjne odbywa się od góry do dołu, zgodnie z przepływem sterowania systemu oprogramowania. Najpierw testowane są moduły wyższego poziomu, a następnie testowane i integrowane są moduły niższego poziomu w celu sprawdzenia funkcjonalności oprogramowania. Stuby są używane do testowania, jeśli niektóre moduły nie są gotowe.
Schematyczna reprezentacja:
Zalety:
- Lokalizacja usterek jest łatwiejsza.
- Możliwość uzyskania wczesnego prototypu.
- Moduły krytyczne są testowane priorytetowo; główne wady projektowe można było znaleźć i naprawić w pierwszej kolejności.
Niedogodności:
- Potrzebuje wielu kodów kreskowych.
- Moduły na niższym poziomie są niedostatecznie testowane.
Testowanie kanapek
Sandwich Testing to strategia, w której moduły najwyższego poziomu są testowane z modułami niższego poziomu, w tym samym czasie moduły niższe są integrowane z modułami najwyższego poziomu i testowane jako system. Jest to połączenie podejścia odgórnego i oddolnego, dlatego nazywa się to testowaniem integracji hybrydowej . Wykorzystuje zarówno kody pośredniczące, jak i sterowniki.
Jak przeprowadzić testy integracyjne?
Procedura testów integracyjnych niezależnie od strategii testowania oprogramowania (omówionych powyżej):
- Przygotuj plan testów integracyjnych
- Zaprojektuj scenariusze testów, przypadki i skrypty.
- Wykonanie przypadków testowych, a następnie zgłoszenie defektów.
- Śledzenie i ponowne testowanie usterek.
- Kroki 3 i 4 są powtarzane do pomyślnego zakończenia integracji.
Krótki opis planów testów integracji:
Zawiera następujące atrybuty:
- Metody / podejścia do testowania (omówione powyżej).
- Zakresy i elementy poza zakresem testów integracyjnych.
- Role i obowiązki.
- Wymagania wstępne do testowania integracji.
- Środowisko testowe.
- Plany ryzyka i łagodzenia.
Kryteria wejścia i wyjścia testów integracyjnych
Kryteria wejścia i wyjścia do fazy testowania integracji w dowolnym modelu tworzenia oprogramowania
Kryteria wejścia:
- Komponenty / moduły testowane jednostkowo
- Wszystkie błędy o wysokim priorytecie zostały naprawione i zamknięte
- Wszystkie moduły mają zostać ukończone w kodzie i pomyślnie zintegrowane.
- Testy integracyjne Plan, przypadek testowy, scenariusze do podpisania i udokumentowania.
- Wymagane środowisko testowe do skonfigurowania do testowania integracji
Kryteria wyjścia:
- Pomyślne testowanie zintegrowanej aplikacji.
- Wykonane przypadki testowe są udokumentowane
- Wszystkie błędy o wysokim priorytecie zostały naprawione i zamknięte
- Dokumenty techniczne, które należy przedłożyć, a następnie uwagi dotyczące wydania.
Najlepsze praktyki / wytyczne dotyczące testowania integracyjnego
- Najpierw określ strategię testów integracyjnych, która może zostać przyjęta, a następnie przygotuj odpowiednio przypadki testowe i dane testowe.
- Zapoznaj się z projektem architektury aplikacji i zidentyfikuj moduły krytyczne. Należy je najpierw przetestować.
- Uzyskaj projekty interfejsów od zespołu architektonicznego i utwórz przypadki testowe, aby szczegółowo zweryfikować wszystkie interfejsy. Należy szczegółowo przetestować interfejs do bazy danych / zewnętrznego sprzętu / oprogramowania.
- Po przypadkach testowych kluczową rolę odgrywają dane testowe.
- Przed wykonaniem zawsze przygotuj makietę danych. Nie wybieraj danych testowych podczas wykonywania przypadków testowych.