Kiedy zbiór komponentów zostanie przetestowany, następnym krokiem jest upewnienie się, że interfejsy pomiędzy owymi komponentami są zdefiniowane poprawnie i współdziałają ze sobą.
Przykład: Testujemy komunikację pomiędzy modułem przechowującym i udostępniającym zbiór parametrów a modułem używającym tych parametrów przy inicjacji, np. do wypełnienia pól formularza domyślnymi wartościami.
Współczesne aplikacje składają się przeważnie z wielu współpracujących systemów, należy więc sprawdzić, czy komunikacja pomiędzy nimi nie jest zakłócona.
Podejście do testów integracyjnych
Top – Down (od góry do dołu):
- moduły znajdujące się na najwyższym poziomie są testowane jako pierwsze,
- moduły znajdujące się w hierarchii poniżej zastępowane/symulowane są przez zaślepki (stubs),
- testowane moduły używane są do testowania niżej położonych komponentów,
- proces testowy jest kontynuowany do momentu przetestowania komponentów znajdujących się na najniższym poziomie.
Bottom – Up (od dołu do góry):
- najniżej położone komponenty testowane są jako pierwsze,
- drivers (ang.) symulują komponenty położone wyżej w hierarchii,
- testowane moduły używane są do testowania wyżej położonych komponentów,
- proces testowy jest kontynuowany do momentu przetestowania komponentów znajdujących się na najwyższym poziomie.
Big Bang (tłumaczenie jest adekwatne do tego co dzieje się z systemem):
- błędy występujące w interfejsach komponentów wykrywane są w bardzo późnej fazie procesu testowego,
- trudno jest określić miejsce, w którym występuje defekt. Czy przyczyna błędu leży w komponencie czy w interfejsie?
- istnieje wysokie prawdopodobieństwo niewykrycia krytycznych błędów, które mogą ujawnić się dopiero w wersji produkcyjnej systemu,
- trudno upewnić się czy wszystkie przypadki z poziomu testów integracyjnych są pokryte testami.
Definicja ISTQB
Testowanie integracyjne: Testowanie wykonywane w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami lub systemami.
Testowanie integracji modułów: Testy wykonywane w celu wykrycia usterek w interfejsach i interakcjach pomiędzy integrowanymi modułami.
Testowanie integracji systemów: Testowanie integracji systemów i pakietów; testowanie interfejsów z organizacjami zewnętrznymi, (np. Elektroniczna Wymiana Danych przez Internet).
Powyższy artykuł jest przedrukiem z wygasłego bloga testerskiego testowanie.net.