1. Strona główna
  2. Sylabus ISTQB – Poziom podstawowy (wersja 2011.1.3)
  3. 2. Testowanie w cyklu życia oprogramowania
  4. 2.2 Poziomy testów
  5. 2.2.2 Testy integracyjne

2.2.2 Testy integracyjne

Podstawa testów:

  • projekt oprogramowania i systemu
  • architektura
  • przepływy procesów
  • przypadki użycia

Typowe obiekty testów:

  • implementacja baz danych podsystemów
  • infrastruktura
  • interfejsy
  • konfiguracja systemu i dane konfiguracyjne

Testy integracyjne sprawdzają interfejsy pomiędzy modułami, interakcje z innymi częściami systemu (takimi jak system operacyjny, system plików i sprzęt) oraz interfejsy pomiędzy systemami.

Testy integracyjne mogą być wykonywane na więcej niż jednym poziomie i dla przedmiotów testów o różnej wielkości:

  • testowanie integracji modułów sprawdza interakcje pomiędzy modułami oprogramowania i jest wykonywane po testach modułowych
  • testowanie integracji systemów sprawdza interakcje pomiędzy różnymi systemami lub pomiędzy sprzętem a oprogramowaniem i może być wykonywane po testach systemowych

W takim przypadku organizacja rozwijająca system może kontrolować tylko jedną stronę interfejsu. Może to zostać uznane za ryzyko. Procesy biznesowe zaimplementowane jako przepływ pracy mogą angażować wiele systemów. W takim przypadku istotne mogą okazać się różnice między platformami, na których zaimplementowane są poszczególne systemy.

Im większy jest zakres integracji, tym trudniejsze może być określenie, który moduł lub system zawiera defekt co powoduje zwiększone ryzyko i dłuższy czas rozwiązywania problemów.

Systematyczne strategie integracji mogą bazować na architekturze systemu (np. strategie wstępująca i zstępująca), zadaniach funkcjonalnych, sekwencjach przetwarzania transakcji albo na innym aspekcie systemu lub modułu. Żeby ułatwić namierzanie usterek oraz ich wczesne wykrywanie, w normalnych warunkach integracja powinna być raczej prowadzona metodą inkrementalną niż metodą „wielkiego wybuchu”.

Podczas testów integracyjnych można wykonać testy niektórych atrybutów niefunkcjonalnych (np. wydajności) na równi z testami funkcjonalnymi.

Na każdym etapie integracji, testerzy koncentrują się wyłącznie na samej integracji. Na przykład, gdy integrują moduł A z modułem B, interesują się tylko testowaniem komunikacji pomiędzy modułami, a nie funkcjonalnością poszczególnych modułów, gdyż ta była sprawdzona wcześniej w testach modułowych. Można tu wykorzystać zarówno podejście funkcjonalne jak i strukturalne.

W idealnym przypadku tester powinien rozumieć architekturę i mieć wpływ na planowanie integracji. Jeżeli testy integracyjne planowane są zanim moduły lub systemy zostały wyprodukowane, można ich rozwój ustawić w kolejności pozwalającej na najbardziej efektywne testowanie.