Test integracyjny sprawdza, czy elementy złożonego systemu (np. Oprogramowanie, samolot, elektrownia) działają razem zgodnie z przeznaczeniem.
Wyobraźmy sobie, że mówimy o samolocie (z oprogramowaniem jest bardziej abstrakcyjne i trudne do zrobienia). Testy integracyjne obejmują sprawdzenie:
- poprawna interakcja między niektórymi komponentami. Przykład: po naciśnięciu przycisku Start silnik uruchamia się, a śmigło osiąga oczekiwaną prędkość obrotową (dron nadal pozostaje na ziemi)
- poprawna interakcja z komponentami zewnętrznymi. Przykład: sprawdź, czy wbudowane radio może komunikować się z radiem stacjonarnym (dron nadal znajduje się na ziemi)
- poprawna interakcja między wszystkimi zaangażowanymi komponentami, aby system jako całość działał zgodnie z oczekiwaniami. Przykład: załoga pilotów testowych i inżynierów uruchamia samolot i lata nim (wszyscy noszą spadochrony ...).
Test integracji rozwiązuje problem techniczny , a mianowicie to, że system działa pomimo podziału na komponenty. W oprogramowaniu komponentami mogą być przypadki użycia, moduły, funkcje, interfejsy, biblioteki itp.
Test akceptacyjny sprawdza, czy produkt jest odpowiedni do określonego celu. Zasadniczo są one wykonywane przez klienta. Przyjmując analogię samolotu, obejmują sprawdzenie, czy:
- przewidywane scenariusze biznesowe prowadzą do oczekiwanego rezultatu w niemal realnej sytuacji. Przykład: przećwicz próbę wejścia na pokład z pasażerami testowymi, aby sprawdzić, czy personel może monitorować wejście na pokład zgodnie z oczekiwaniami za pomocą procedur operacyjnych. Niektóre scenariusze mogą być tak proste, że wyglądałyby jak test jednostkowy, ale są wykonywane przez użytkownika (np. Wypróbuj wtyczki elektryczne ze sprzętem firm).
- system działa w niemal realnej sytuacji biznesowej. Przykład: wykonaj pusty lot testowy między dwoma prawdziwymi miejscami docelowymi, z nowo wyszkolonymi pilotami z linii lotniczej, aby sprawdzić, czy zużycie paliwa jest zgodne z obietnicą.
Test akceptacyjny dotyczy bardziej kwestii odpowiedzialności . W relacji klient / dostawca może to być odpowiedzialność umowna (zgodność ze wszystkimi wymogami). Ale w każdym przypadku obowiązkiem organizacji używającej jest zapewnienie, aby ich obowiązki mogły być wykonywane z systemem i ostrożnie zapobiegać wszelkim nieprzewidzianym problemom (np. Ta korporacja kolejowa, która podczas testów akceptacyjnych odkryła, że musiała skrócić niektóre quais, ponieważ nowe wagony były o 5 cm za duże - bez żartów!).
Wnioski: Testy integracji i akceptacji pokrywają się. Obaj zamierzają pokazać, że system jako całość działa. Jednak „całość” może być większa dla klienta (ponieważ sam system może być częścią większego systemu organizacyjnego) i bardziej techniczna dla integratora systemu: