Testy integracyjne - część dużego projektu

10.06.2019

Żadne tworzenie oprogramowania nie może obejść się bez testowania kodu wykonywalnego. W rzeczywistości zajmuje to połowę całego czasu poświęconego na rozwój i ponad połowę kosztów projektu. Jest to jednak integralna część procesu tworzenia nowych aplikacji, programów, systemów.

Testy integracyjne w ramach dużej pracy

Jednym ze sposobów kontroli jakości oprogramowania jest testowanie integracyjne, do którego wprowadzane są poszczególne moduły testowane na poprzednim etapie. testowanie integracji W przeciwieństwie do wersji modułowej, podczas której wykrywane są błędy, zlokalizowane w każdej pojedynczej funkcji lub klasie, testowanie integracyjne jest poszukiwaniem wad związanych z implementacją interakcji między poszczególnymi częściami tworzonego produktu. Testowanie funkcjonalności integracji wykorzystuje metodę białej skrzynki, tj. inżynier jakości dostępne i znane teksty poszczególnych modułów, a także zasady interakcji między nimi.

Metody montażu modułów

Metoda monolityczna oznacza, że ​​wszystkie moduły, które w przyszłości zostaną poddane testom integracyjnym, zostaną połączone w tym samym czasie. Niemal na pewno są sytuacje, w których część testowanego kompleksu nie jest jeszcze gotowa.

testowanie funkcjonalności integracji

W tym przypadku jest on zastępowany przez dodatkowo opracowane "wtyczki" lub sterowniki.

Wraz z metodą monolityczną identyfikuje się również metodę przyrostową (nazywaną również krok po kroku), ponieważ objętość testowanego kodu rośnie stopniowo, umożliwiając lokalizację obszarów z defektami w relacjach między poszczególnymi częściami.

Metoda przyrostowa obejmuje dwa sposoby dodawania modułów:

  • z góry na dół lub w górę
  • bottom-up - malejąco.

Monolityczne i przyrostowe funkcje testowania

Główną wadą monolitycznego rodzaju montażu jest duża ilość czasu i kosztów pracy związanych z imitowaniem brakujących części badanego kompleksu. Wydawałoby się, że kody pośrednie są dość wygodnym narzędziem do testowania, jednak sytuacje powstają, gdy proces musi ponownie utworzyć części symulacyjne programu. Na przykład w przypadku zmian w składzie testowanych modułów. Ponadto skuteczność wyszukiwania defektów nie jest tak wysoka, gdy praca nie jest wykonywana przy pomocy prawdziwego produktu, ale tylko przy użyciu składnika fikcyjnego. Ta sama wada towarzyszy testom inkrementalnym z metodą budowania w górę.

testowanie integracji to Jednocześnie jedną z wad metody krok po kroku jest potrzeba zorganizowania i stworzenia środowiska do realizacji modułów w danej sekwencji. Równoległy rozwój górnego i dolnego poziomu jest prawie niemożliwy.

Oczywiście obie metody montażu, monolityczne i przyrostowe, mają nie tylko wady, ale i zalety. W pierwszym przypadku istnieją doskonałe możliwości równoległego rozwoju wszystkich klas i funkcji związanych z testowaniem, zarówno na etapie początkowym, jak i po udoskonaleniu. Metoda "krok po kroku" jest mniej pracochłonna: moduły są połączone stopniowo, a błędy i defekty również są stopniowo wykrywane. To, jak wiesz, pozwala skrócić czas poszukiwań.

Korzyści z testowania integracji

Na tym etapie przeprowadzana jest kolosalna praca sprawdzania połączeń na wszystkich poziomach, bez której oczywiście dalsze testowanie nie jest możliwe.

Przykład testowania integracji Testowanie oprogramowania integracyjnego ma kilka zalet:

  • sprawdzenie interfejsu interakcji pomiędzy poszczególnymi modułami programu;
  • kontrola relacji testowanego kompleksu z rozwiązaniami oprogramowania stron trzecich;
  • testowanie działania zewnętrznych komponentów rozwiązania;
  • kontrola zgodności dokumentacji projektowej w zakresie interakcji poszczególnych modułów.

Korekta defektu

Testy integracyjne zostały zakończone, ale to nie wszystko. Znaleziono błędy są naprawiane i wysyłane do programisty w celu korekty, po czym proces zaczyna się od nowa.

Po pierwsze, należy sprawdzić, czy zidentyfikowane defekty zostały wyeliminowane. Po drugie, podczas zmiany kodu źródłowego mogą pojawić się nowe błędy w działaniu programu i interakcja z oprogramowaniem innych firm.

Chociaż obecnie istnieje wiele metod kontroli jakości, testy integracyjne nadal odgrywają ważną rolę. Przykład tego rodzaju weryfikacji może wyraźnie pokazać "wąskie gardła" w rozwoju oprogramowania i dokumentacji.

Testuj automatyzację

W zależności od rozmiaru początkowego zestawu danych i domeny programowania może wystąpić problem z czasem testowania i złożonością zdarzenia jako całości.

testowanie integracji oprogramowania W celu najbardziej efektywnej weryfikacji rozwoju konieczne jest użycie ogromnej ilości danych wejściowych i warunków, z którymi nie można obsługiwać "ręcznie". Aby rozwiązać ten problem, stosuje się automatyzację testów. Podobnie jak inne typy, testy integracyjne mogą być również zautomatyzowane. Skróci to czas programowania jako całość, a także poprawi efektywność procesu wykrywania błędów.

Jednak automatyzacja testów nie może w pełni zastąpić pracy inżyniera jakości, ale tylko ją uzupełniać.

Testy integracyjne są więc integralną częścią opracowania dowolnego oprogramowania i jednym z etapów całego procesu weryfikacji jakości produktu. Jak każda metoda ma wiele zalet i wad, ale bez jej zastosowania niemożliwe staje się tworzenie oprogramowania o wysokiej jakości.