what is system integration testing
Co to jest testowanie integracji systemów?
Testowanie integracji systemu (SIT) to ogólne testowanie całego systemu, który składa się z wielu podsystemów. Głównym celem SIT jest zapewnienie, że wszystkie zależności modułów oprogramowania działają poprawnie, a integralność danych jest zachowana między różnymi modułami całego systemu.
SUT (System Under Test) może składać się ze sprzętu, bazy danych, oprogramowania, połączenia sprzętu i oprogramowania lub systemu, który wymaga interakcji człowieka (HITL - Human in the Loop Testing).
W kontekście inżynierii oprogramowania i testowania oprogramowania, SIT można uznać za proces testowania, który sprawdza współwystępowanie systemu oprogramowania z innymi.
SIT ma warunek wstępny, w którym wiele bazowych zintegrowanych systemów przeszło już i przeszło testy systemowe. SIT następnie testuje wymagane interakcje między tymi systemami jako całością. Rezultaty SIT są przekazywane do UAT (testy akceptacyjne użytkownika).
Czego się nauczysz:
- Potrzeba testu integracji systemu
- Ziarnistość SIT
- Jak przeprowadzić testy integracji systemów?
- Testowanie systemu a testowanie integracji systemu
- Testowanie integracji systemów a testy akceptacji użytkowników
- Przykład SIT
- Techniki SIT
- Wniosek
- rekomendowane lektury
Potrzeba testu integracji systemu
Główną funkcją SIT jest testowanie zależności między różnymi komponentami systemu, a zatem testowanie regresji jest ważną częścią SIT.
W przypadku projektów współpracy SIT jest częścią STLC (cyklu życia testowania oprogramowania). Ogólnie rzecz biorąc, runda pre-SIT jest przeprowadzana przez dostawcę oprogramowania, zanim klient uruchomi własne przypadki testowe SIT.
W większości organizacji pracujących w projektach IT w modelu sprintu Agile, runda SIT jest przeprowadzana przez zespół QA przed każdym wydaniem. Usterki znalezione w SIT są odsyłane do zespołu programistów, który pracuje nad poprawkami.
Wydanie MVP (Minimum Viable Product) ze sprintu następuje tylko wtedy, gdy przejdzie przez SIT.
SIT jest wymagany do ujawnienia błędów, które występują, gdy zachodzi interakcja między zintegrowanymi podsystemami.
W systemie wykorzystywanych jest kilka komponentów i nie można ich indywidualnie testować. Nawet jeśli jednostka jest testowana indywidualnie, istnieje również możliwość, że może zawieść, gdy zostanie połączona w systemie, ponieważ istnieje wiele problemów, które pojawiają się, gdy podsystemy współdziałają ze sobą.
W związku z tym SIT jest bardzo potrzebny do ujawniania i naprawiania awarii przed wdrożeniem systemu po stronie użytkownika. SIT wykrywa usterki na wczesnym etapie, oszczędzając w ten sposób czas i koszty późniejszej naprawy. Pomaga również w uzyskaniu wcześniejszej informacji zwrotnej na temat akceptowalności modułu.
Ziarnistość SIT
SIT można przeprowadzić na trzech różnych poziomach szczegółowości:
(i) Testowanie wewnątrz systemu: Jest to niski poziom testów integracyjnych, które mają na celu połączenie modułów w celu zbudowania ujednoliconego systemu.
(ii) Testowanie między systemami: Są to testy wysokiego poziomu, które wymagają połączenia niezależnie przetestowanych systemów.
(iii) Testowanie parami: Tutaj tylko dwa połączone ze sobą podsystemy w całym systemie są testowane jednocześnie. Ma to na celu zapewnienie, że oba podsystemy będą dobrze funkcjonować, gdy zostaną połączone razem, przy założeniu, że inne podsystemy już działają dobrze.
niezdefiniowane odwołanie do C ++
Jak przeprowadzić testy integracji systemów?
Najprostszym sposobem wykonania SIT jest metoda oparta na danych. Wymaga minimalnego użycia narzędzi do testowania oprogramowania.
Najpierw następuje wymiana danych (import i eksport danych) pomiędzy komponentami systemu, a następnie badane jest zachowanie każdego pola danych w ramach pojedynczej warstwy.
Po zintegrowaniu oprogramowania istnieją trzy główne stany przepływu danych, jak wspomniano poniżej:
# 1) Stan danych w warstwie integracji
Warstwa integracji działa jako interfejs między importem i eksportem danych. Wykonywanie SIT w tej warstwie wymaga podstawowej wiedzy na temat pewnych technologii, takich jak schemat (XSD), XML, WSDL, DTD i EDI.
Wydajność wymiany danych można sprawdzić na tej warstwie, wykonując poniższe czynności:
- Sprawdź, czy właściwości danych w tej warstwie są zgodne z BRD / FRD / TRD (dokument wymagań biznesowych / dokument wymagań funkcjonalnych / dokument wymagań technicznych).
- Sprawdź krzyżowo żądanie usługi sieci Web przy użyciu XSD i WSDL.
- Uruchom niektóre testy jednostkowe i sprawdź poprawność mapowań danych i żądań.
- Przejrzyj dzienniki oprogramowania pośredniego.
# 2) Stan danych w warstwie bazy danych
Wykonanie SIT w tej warstwie wymaga podstawowej znajomości języka SQL i procedur składowanych.
Wydajność wymiany danych w tej warstwie można sprawdzić, wykonując poniższe czynności:
- Sprawdź, czy wszystkie dane z warstwy integracji dotarły pomyślnie do warstwy bazy danych i zostały zatwierdzone.
- Sprawdź poprawność właściwości tabeli i kolumny względem BRD / FRD / TRD.
- Sprawdź ograniczenia i reguły walidacji danych zastosowane w bazie danych zgodnie ze specyfikacjami biznesowymi.
- Sprawdź procedury składowane pod kątem przetwarzania danych.
- Przejrzyj dzienniki serwera.
# 3) Stan danych w warstwie aplikacji
SIT można wykonać na tej warstwie, wykonując poniższe czynności:
- Sprawdź, czy wszystkie wymagane pola są widoczne w interfejsie użytkownika.
- Wykonaj kilka pozytywnych i negatywnych przypadków testowych i zweryfikuj właściwości danych.
Uwaga: Może istnieć wiele kombinacji odpowiadających importowi i eksportowi danych. Będziesz musiał wykonać SIT dla najlepszych kombinacji, biorąc pod uwagę dostępny czas.
Testowanie systemu a testowanie integracji systemu
Różnice między testowaniem systemu a SIT:
SIT (Testowanie integracji systemu) | Testowanie systemu |
---|---|
SIT służy głównie do sprawdzania, jak poszczególne moduły współdziałają ze sobą, gdy są zintegrowane z systemem jako całością. | Testowanie systemu odbywa się głównie w celu sprawdzenia, czy cały system działa zgodnie z oczekiwaniami w odniesieniu do określonych wymagań. |
Jest przeprowadzany po testach jednostkowych i będzie wykonywany za każdym razem, gdy do systemu zostanie dodany nowy moduł. | Przeprowadzany jest na końcowym poziomie, tj. Po zakończeniu testów integracyjnych i tuż przed dostarczeniem systemu do UAT. |
To test niskiego poziomu. | To jest test na wysokim poziomie. |
Przypadki testowe SIT koncentrują się na interfejsie między komponentami systemu. | W tym przypadku przypadki testowe koncentrują się na symulowaniu rzeczywistych scenariuszy. |
Testowanie integracji systemów a testy akceptacji użytkowników
Oto różnica między SIT i UAT:
SIT (Testowanie integracji systemu) | UAT (testy akceptacji użytkowników) |
---|---|
To testowanie jest z perspektywy współpracy między modułami. | To testowanie jest z perspektywy wymagań użytkownika. |
SIT jest wykonywany przez programistów i testerów. | UAT jest wykonywany przez klientów i użytkowników końcowych. |
Sporządzono po testach jednostkowych i przed testowaniem systemu. | To jest ostatni poziom testowania, wykonywany po przetestowaniu systemu. |
Ogólnie rzecz biorąc, problemy znalezione w SIT byłyby związane z przepływem danych, przepływem kontroli itp. | Problemy znalezione w UAT byłyby ogólnie podobne do funkcji, które nie działają zgodnie z wymaganiami użytkownika. |
Poniższy obraz przedstawiający poziomy testowania sprawiłby, że przepływ z testów jednostkowych do UAT byłby dla Ciebie jasny:
Przykład SIT
Załóżmy, że firma używa oprogramowania do przechowywania danych klienta.
To oprogramowanie ma dwa ekrany w interfejsie użytkownika - ekran 1 i ekran 2 oraz posiada bazę danych. Szczegóły wprowadzone na ekranie 1 i ekranie 2 są wprowadzane do bazy danych. Na razie firma jest zadowolona z tego oprogramowania.
Jednak kilka lat później firma stwierdza, że oprogramowanie nie spełnia wymagań i istnieje potrzeba jego udoskonalenia. Dlatego opracowali ekran 3 i bazę danych. Teraz ten system z ekranem 3 i bazą danych jest zintegrowany ze starszym / istniejącym oprogramowaniem.
Teraz testowanie całego systemu po integracji nazywa się testem integracji systemu. Tutaj testowane jest współistnienie nowego systemu z istniejącym, aby upewnić się, że cały zintegrowany system działa poprawnie.
Techniki SIT
Zasadniczo istnieją 4 podejścia do wykonywania SIT:
- Podejście odgórne
- Podejście oddolne
- Podejście kanapkowe
- Podejście Big Bang
Podejście odgórne i oddolne jest rodzajem podejść przyrostowych. Zacznijmy dyskusję od podejścia odgórnego.
# 1) Podejście odgórne:
W ramach tego testowanie rozpoczyna się tylko od najwyższego modułu aplikacji, tj. Interfejsu użytkownika, który nazywamy sterownikiem testowym.
Funkcjonalność podstawowych modułów jest symulowana za pomocą kodów pośredniczących. Moduł górny jest kolejno integrowany z odgałęzieniem modułu dolnego poziomu, a później testowane są funkcje.
Po zakończeniu każdego testu kod zastępczy jest zastępowany przez prawdziwy moduł. Moduły mogą być zintegrowane w pierwszej kolejności wszerz lub w głąb. Test trwa do momentu zbudowania całej aplikacji.
Zaletą takiego podejścia jest brak sterowników, a przypadki testowe można określić pod kątem funkcjonalności systemu.
Głównym wyzwaniem w tego typu podejściu jest zależność od dostępności funkcjonalności modułu niższego poziomu. Testy mogą się opóźniać, zanim rzeczywiste moduły zostaną zastąpione kodami pośredniczącymi. Pisanie odcinków jest również trudne.
jaka jest najlepsza aplikacja szpiegowska
# 2) Podejście oddolne:
Eliminuje ograniczenia podejścia odgórnego.
W tej metodzie najpierw montuje się moduły najniższego poziomu, tworząc klastry. Klastry te służą jako podfunkcja aplikacji. Następnie tworzony jest sterownik do zarządzania danymi wejściowymi i wyjściowymi przypadku testowego. Następnie klaster jest testowany.
Po przetestowaniu klastra sterownik jest usuwany, a klaster jest łączony z następnym wyższym poziomem. Ten proces trwa do momentu uzyskania całej struktury aplikacji.
W tym podejściu nie ma potrzeby stosowania kodów pośredniczących. Upraszcza się, gdy przetwarzanie idzie w górę i zmniejsza się zapotrzebowanie kierowców. Takie podejście jest zalecane przy wykonywaniu SIT dla systemów zorientowanych obiektowo, systemów czasu rzeczywistego i systemów o ścisłych wymaganiach dotyczących wydajności.
Jednak ograniczenie tego podejścia jest najważniejszym podsystemem, tj. UI jest testowany na końcu.
# 3) Podejście kanapkowe:
Tutaj omówione powyżej podejścia odgórne i oddolne są ze sobą połączone.
System ma trzy warstwy - warstwę środkową, która jest warstwą docelową, warstwę nad celem i warstwę poniżej celu. Testowanie jest wykonywane w obu kierunkach i zbiera się w warstwie docelowej, która jest w środku, co pokazano na poniższym obrazku.
Strategia testowania kanapek
Zaletą tego podejścia jest to, że górną i dolną warstwę systemu można testować równolegle. Jednak ograniczenie tego podejścia polega na tym, że nie sprawdza ono wyczerpująco poszczególnych podsystemów przed integracją.
Aby wyeliminować to ograniczenie, zmodyfikowaliśmy testowanie warstwowe, w którym integracja górnej, środkowej i dolnej warstwy jest testowana równolegle przy użyciu końcówek i przetworników.
# 4) Podejście Big Bang:
W tym podejściu integracja jest wykonywana, gdy wszystkie moduły aplikacji są całkowicie gotowe. Testowanie odbywa się po integracji wszystkich modułów w celu sprawdzenia, czy zintegrowany system działa, czy nie.
Trudno jest znaleźć pierwotną przyczynę problemu w tym podejściu, ponieważ wszystko jest zintegrowane na raz, w przeciwieństwie do testowania przyrostowego. Podejście to jest zwykle stosowane, gdy wymagana jest tylko jedna runda SIT.
Wniosek
W tym artykule dowiedzieliśmy się, czym jest testowanie integracji systemu (SIT) i dlaczego jest ważne, aby je wykonywać.
Zrozumieliśmy podstawowe koncepcje, techniki, podejścia i metody związane z wykonywaniem SIT. Omówiliśmy również, czym różni się SIT od UAT i testowania systemu.
Mam nadzieję, że spodobał Ci się ten wspaniały artykuł !!
rekomendowane lektury
- Co to jest testowanie komponentów lub testowanie modułów (poznaj przykłady)
- Co to jest testowanie porównawcze (zapoznaj się z przykładami)
- Co to jest testowanie integracji (samouczek z przykładem testowania integracji)
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Różnice między testowaniem jednostkowym, testowaniem integracyjnym i testowaniem funkcjonalnym
- Testy funkcjonalne a testy niefunkcjonalne
- Integracja Selenium z JMeter
- Spock do integracji i testowania funkcjonalnego z selenem