Testowanie integracyjne sprawdza współpracę między modułami lub systemami: czy dane przepływają poprawnie przez interfejsy, czy formaty się zgadzają, czy obsłużone są błędy po drugiej stronie. Pojedyncze moduły mogą działać bezbłędnie, a całość i tak się wysypie - właśnie na stykach.
Analityk biznesowy spotyka ten poziom testów wszędzie tam, gdzie specyfikuje integracje, czyli praktycznie w każdym projekcie. Mapowania pól, słowniki wartości, scenariusze błędów („co jeśli system po drugiej stronie nie odpowie w 10 sekund?") - to wszystko wymagania, które analityk musi opisać, a testy integracyjne weryfikują.
Przykład z MediFlow: moduł rejestracji online integruje się z systemem HIS (grafiki lekarzy), bramką SMS i operatorem płatności. Na testach integracyjnych wyszedł klasyk: HIS zwracał terminy wizyt w czasie lokalnym, a moduł rejestracji zakładał UTC. Każda wizyta w kalendarzu pacjenta była przesunięta o godzinę, a po zmianie czasu zimowego byłaby o dwie. Osobno oba systemy przechodziły testy bez zarzutu.
Częsta pomyłka: założenie, że skoro moduły działają osobno, to będą działać razem - i zostawianie integracji na ostatnie tygodnie projektu. Integracje to statystycznie najbardziej ryzykowny element wdrożeń i testuje się je możliwie wcześnie, choćby na atrapach (mock, stub). Druga pomyłka: testowanie wyłącznie scenariuszy poprawnych. Prawdziwe pytania brzmią: co gdy odpowiedź nie przyjdzie, przyjdzie podwójnie albo przyjdzie z błędem walidacji.