Co to jest testowanie integracji?
Testy integracyjne to etap opracowywania oprogramowania i testowania, w którym wiele jednostek lub modułów w ramach programu lub konfiguracji sprzętowej jest gromadzonych i testowanych. Te różne jednostki były zwykle testowane indywidualnie, aby zapewnić, że każda jednostka działa poprawnie sama; ta faza testów integruje te odmienne jednostki w większy system. Można tego dokonać podczas opracowywania oprogramowania, aby zapewnić, że różne aspekty większego programu mogą współpracować lub w testowaniu sprzętowym, aby zapewnić odpowiednią funkcjonalność między różnymi jednostkami. Testy integracyjne to kluczowy etap testów, ponieważ można znaleźć wiele błędów i opracować wczesne wersje całego oprogramowania lub sprzętu.
Testy integracyjne, nazywane również integracją i testowaniem, lub I&T, są zwykle postrzegane jako druga główna faza testowania. Pierwszy etap nazywa się testowaniem jednostkowym i koncentruje się przede wszystkim na testowaniu pojedynczych jednostek lub części większego programu lub systemu, aby zapewnić, że każda jednostka działa samodzielnie. Te oddzielne jednostki są łączone w testach integracyjnych, po przejściu każdego testu jednostkowego, aby zapewnić, że mogą współpracować w większych grupach. Następnie będą one zazwyczaj składane razem w pełnym systemie lub programie opracowywanym i testowanym jako część tego pełnego systemu, który nazywa się testowaniem systemu.
Istnieje wiele sposobów przeprowadzania testów integracyjnych, choć zwykle stosuje się kilka typowych metod. Testy oddolne są dość powszechne i zwykle obejmują testowanie różnych aspektów zintegrowanego systemu, zaczynając od niższych poziomów systemu. Gdy te „dolne” aspekty systemu przejdą testy, testowanie przechodzi „w górę” do ważniejszych aspektów. Można również wykonać odgórną formę testowania integracji, w której najpierw testowane są najwyższe poziomy systemu, a proces kontynuuje „obniżanie” do niższych poziomów.
Jednym z głównych problemów związanych z tymi dwoma typami testów integracyjnych jest to, że żaden z nich nie może łatwo ustalić wczesnego wydania produktu o podstawowej funkcjonalności. Ten rodzaj wydania wersji alfa może mieć kluczowe znaczenie dla większych możliwości testowania, dlatego zwykle należy zastosować inne podejście, aby pozwolić na takie wydanie. Jednym z takich podejść jest forma „wielkiego wybuchu”, w której wszystkie części zintegrowanego systemu są testowane jednocześnie. Może to być korzystne, jeśli w testowanym oprogramowaniu występuje niewiele problemów lub błędów, ale określenie konkretnych problemów może być trudne, jeśli występuje ich zbyt wiele.
Istnieje również rodzaj testów integracyjnych zwanych „testowaniem warstwowym”, które mają na celu złagodzenie niektórych z tych problemów. Zasadniczo ten rodzaj testowania rozpoczyna się jednocześnie od badania odgórnego i oddolnego, a obie formy testowania skutecznie „spotykają się w środku”. Pozwala to na wczesne testowanie podstawowych systemów logicznych, zaletę testów odgórnych, i wcześniej identyfikuje mniejsze problemy, jak w przypadku testów oddolnych. Dzięki takim testom można także szybciej utworzyć wersję produktu w celu wcześniejszego przetestowania na szeroką skalę lub zaawansowanych demonstracji produktu w mediach.