simple guide interoperability testing
Przed zrozumieniem techniki „Testowanie interoperacyjności” , Najpierw zrozumiemy termin „interoperacyjność”.
Interoperacyjność to zdolność jednego systemu do interakcji z innym systemem. Ta interakcja zachodzi między 2 różnymi systemami lub 2 różnymi aplikacjami razem.
Niejednokrotnie mylona jest interoperacyjność Integracja , kompatybilność i przenośność. Cóż, istnieją różnice między tymi technikami.
Zacznę od wyjaśnienia różnic.
Integracja - Jest techniką, w której elementy tego samego systemu współdziałają ze sobą. Tak więc w świecie testów, kiedy przeprowadzamy testy integracyjne, w rzeczywistości testujemy zachowanie dwóch lub więcej najniższych poziomów komponentów tego samego systemu.
Zgodność - Jest to technika, za pomocą której 2 lub więcej aplikacji współdziała w tym samym środowisku. Tak więc w świecie testowania, kiedy przeprowadzamy testy zgodności; sprawdzamy, czy 2 lub więcej aplikacji lub systemów zachowuje się zgodnie z oczekiwaniami w tym samym środowisku.
Celem jest sprawdzenie, czy oba systemy wykonują swoje oczekiwane zadania, bez zakłócania swojej pracy, w tym samym środowisku. Podobnie jak - MS Word i Kalkulator to dwie różne aplikacje, które wykonują swoje oczekiwane zachowanie niezależnie w tym samym systemie operacyjnym. Więc mówimy, że te 2 aplikacje są ze sobą kompatybilne.
Ruchliwość - Jest techniką, w której aplikacja lub system zachowuje się zgodnie z oczekiwaniami po przeniesieniu do innego środowiska. Więc w Ruchliwość testujemy, eksportujemy aplikację do innego środowiska i testujemy jej zachowanie. Na przykład, jeśli istnieje aplikacja, która działa dobrze w systemie Windows XP, powinna również działać dobrze w systemie Windows 10.
Interoperacyjność - Jest techniką interakcji aplikacji z inną aplikacją. Kiedy więc wykonujemy testy interoperacyjności, sprawdzamy, w jaki sposób dane z 1 aplikacji są przenoszone do innej aplikacji bez wcześniejszego powiadomienia, w znaczący sposób i dalej przetwarzane w celu uzyskania zaakceptowanego wyniku.
Ten konkretny artykuł koncentruje się na testowaniu interoperacyjności (IOT), więc skupmy się na interoperacyjności. :)
Czego się nauczysz:
- Testowanie interoperacyjności - krótkie wprowadzenie
- Jak przeprowadzić testy interoperacyjności?
- 5 ½ kroków:
- Wyzwania:
- Test interoperacyjności na telefonach komórkowych:
- Wniosek:
- rekomendowane lektury
Testowanie interoperacyjności - krótkie wprowadzenie
Interoperacyjność = Inter + operatywny
Pochować - oznacza „między nami”, „w sobie”, „wzajemnie”
Wykonalny - oznacza „zdolny do wykonania danego zadania”
darmowy ripper dvd dla systemu Windows 10
Tak więc łączenie dwóch terminów razem - Interoperacyjność oznacza 2 (lub więcej) systemy zdolne do wykonywania przydzielonych im zadań niezależnie i zdolne do komunikowania się ze sobą zgodnie z oczekiwaniami bez wpływu na ich indywidualne przypisane funkcje.
Przykład 1:Weź przykład rezerwacji lotu. Weź pod uwagę, że musisz podróżować z New Delhi do Nowego Jorku. Teraz nie masz bezpośredniego lotu. Musisz lecieć z New Delhi do Londynu, a następnie przesiąść się na lot łączony z Londynu do Nowego Jorku. Ze względu na ograniczenia czasowe rezerwujesz lot z New Delhi do Londynu liniami lotniczymi „Jet Airways” oraz z Londynu do Nowego Jorku „Virgin Atlantic”. Oznacza to, że wszystkie dane pasażera zostały przesłane z Jet Airways do Virgin Atlantic. Tak więc tutaj, Jet Airways i Virgin Atlantic, oba są niezależnymi aplikacjami razem, a podczas rezerwacji lotu Twoje szczegóły rezerwacji zostały zamienione z Jet Airways na Virgin Atlantic w sposób pełny, bez wcześniejszego powiadomienia.
Przykład 2:W podobny sposób pomyśl o systemie administracji szpitala, w którym zapisy pacjentów są wymieniane między 1 oddziałem a innym oddziałem. Więc tutaj dział można połączyć z aplikacją. Szczegóły dotyczące pacjenta są wymieniane między 1 aplikacją a inną aplikacją bez wcześniejszego powiadomienia.
Dlaczego więc musimy wykonać IOT?
Aby to zapewnić, musielibyśmy przeprowadzić testy interoperacyjności
- Aplikacje w sieci samodzielnie wykonują swoje oczekiwane zachowanie,
- Może wymieniać informacje bez uprzedniego powiadomienia
- Informacje / dane są wymieniane bez przerywania indywidualnego oczekiwanego zachowania
- Wymieniane dane / informacje nie są modyfikowane ani zmieniane
Jak przeprowadzić testy interoperacyjności?
Możemy postępować zgodnie z kołem Deeming (cykl PDCA), aby przeprowadzić testy interoperacyjności.
1) Plan
Planowanie jest najważniejszą fazą określania strategii robienia prawie wszystkiego w rozwoju oprogramowania. Zanim faktycznie zaplanujemy określenie procedury wykonywania IOT, konieczne jest zrozumienie każdej aplikacji lub systemu wdrożonego w sieci.
Powinniśmy znać wszystkie aplikacje - ich funkcjonalność, zachowanie, dane wejściowe i dane wyjściowe, które ujawnia.
Zalecałbym również, aby każda aplikacja była w pełni przetestowana funkcjonalnie i bez defektów przed przygotowaniem jej do testów interoperacyjności. Kiedy więc planujesz, nie myśl tylko o jednej lub dwóch aplikacjach, myśl o całej aplikacji jako pojedynczej jednostce. Planując tę technikę testowania, musisz mieć widok z lotu ptaka. Nie trzeba tego mówić - udokumentuj swój plan.
najlepsza mobilna aplikacja szpiegowska na Androida
Możemy skorzystać z naszego standardowy dokument planu testów i dostosuj go nieco zgodnie z wymogiem udokumentowania planowania IOT. Po wykonaniu planu testów przejdź dalej, aby uzyskać warunki testowe.
Skupienie się na określeniu warunków testu nie powinno ograniczać się do indywidualnych zastosowań; zamiast tego powinien opierać się na przepływie danych przez wszystkie aplikacje. Warunki powinny być zaprojektowane w taki sposób, aby nie wszystkie, ale większość aplikacji w sieci były obsługiwane.
Po zidentyfikowaniu warunków testowych przejdź do projektowania lub tworzenia skryptów (w przypadku planowania automatyzacji) przypadków testowych. Możesz utwórz RTM (Matryca śledzenia wymagań) do mapowania przypadków testowych z warunkami testowymi i warunków testowych z warunkami / wymaganiami testów akceptacyjnych.
Podczas pracy w sieci ponownie ważne jest, aby zaplanować również czynności związane z testowaniem niefunkcjonalnym. Może to nie zostać nigdzie zapisane ani udokumentowane, ale obowiązkowe jest sprawdzenie niefunkcjonalnych aspektów systemu jako całości. Te niefunkcjonalne obszary obejmowałyby wydajność i bezpieczeństwo. W razie potrzeby możesz utworzyć oddzielny plan testów funkcjonalnych, testów wydajnościowych i testów bezpieczeństwa; lub utwórz pojedynczy plan i inny dokument warunków testowych dla każdego z tych typów testów.
# 2) Zrób
Do - to okres czasu, w którym faktycznie wykonujesz swoją egzekucję. Zaplanuj odpowiednio swój czas, aby wykonać testy funkcjonalne i niefunkcjonalne. Śledzimy cykl testowy w tej fazie wykonywania przypadków, rejestrowania defektów, współpracy z zespołem programistów w celu ich rozwiązania, wykonywania ponownych testów i testów regresyjnych systemu jako całości, raportowania wyników testów i przenoszenia ich do zamknięcie.
# 3) Sprawdź
Sprawdź - to faza, w której ponownie przeglądamy nasze wyniki testów i próbujemy odwzorować je za pomocą RTM i sprawdzić, czy wszystkie oczekiwane wymagania są spełnione i czy wszystkie aplikacje są przetwarzane. Sprawdzamy, czy dane są przekazywane i wymieniane poprawnie i płynnie między aplikacjami / systemami. Musielibyśmy również sprawdzić, czy dane, które są przetwarzane, nie są modyfikowane.
Rozważ również zrobienie retrospektywy całego procesu testowania interoperacyjności. Zidentyfikuj obszary, które działały dobrze, te, które nie poszły dobrze i wszelkie elementy działań, którymi należy się zająć.
# 4) Działaj
Akt - oznacza działanie na elementach retrospektywnych. Punkty, które zostały zidentyfikowane jako „dobre praktyki”, kontynuuj realizację tych i punktów, które można by lepiej zastosować, określ kroki w celu ich skorygowania i odpowiednie działania. Pamiętaj o jednej rzeczy, aby NIE powtarzać obszarów lub kroków, które nie działały dobrze. Przecież powinniśmy uczyć się na własnych błędach i ich nie powtarzać.
5 ½ kroków:
- Zidentyfikuj wszystkie aplikacje, które są częścią sieci.
- Określ ich funkcje.
- Dla każdej aplikacji określ pobierane dane wejściowe i zwracane dane wyjściowe.
- Zidentyfikuj dane, które będą przechodzić przez wszystkie / większość aplikacji.
- Zidentyfikuj oczekiwane zachowanie dla każdej kombinacji aplikacji i daty wymagającej weryfikacji
½ Udokumentuj to.
Rozważ poniższy rysunek:
Na podstawie rysunku spróbujmy powtórzyć kroki 5 ½:
- Aplikacja 1, Aplikacja 2, Aplikacja 3 i Aplikacja 4 to 4 różne systemy.
- Każdy z tych systemów ma określony zestaw funkcji, które należy zidentyfikować.
- Należy zidentyfikować dane wejściowe i wyjściowe każdego systemu.
- W przypadku aplikacji 1 renderuje 2 wyjścia. 1 dane wyjściowe stanowią dane wejściowe aplikacji 3, a 1 dane wyjściowe - dane wejściowe aplikacji 2. Dane wyjściowe aplikacji 2 stanowią dane wejściowe aplikacji 3, aplikacji 4 i tak dalej.
- Sprawdzana jest ważność każdego wejścia i wyjścia. Główną kwestią do rozważenia jest to, że dane, które przechodzą w postaci danych wejściowych i wyjściowych, nie są modyfikowane ORAZ cała aplikacja jest objęta.
½ Ta liczba w prawdziwym życiu może nie wydawać się taka prosta. W rzeczywistości skutkuje to bardziej złożoną strukturą z n liczbami warunków wejściowych i wyjściowych.
Narysowanie tego rodzaju rysunku dałoby lepszy obraz do identyfikacji danych i informacji, które przechodzą przez różne systemy. Pomogłoby nam to w uzyskaniu warunków testowych i przypadków.
Przykład:
Rozważmy przykład przeprowadzania testów interoperacyjności dla „Szpitalnego systemu zarządzania”
Szpital składa się z poniższych oddziałów i pododdziałów;
Tutaj każdy dział jest aplikacją samą w sobie. Każdy dział (aplikacja) ma swój własny dział (moduły), a każdy moduł ma własne jednostki.
A teraz, aby rozważyć zakres IOT, oto kilka warunków testowych:
- Pacjent, który spotkał się z wypadkiem drogowym (Oddział OPD - Wypadek), musi przejść operację nogi (ENT - Chirurgia Ogólna), następnie przejść fizjoterapię (Oddział Wsparcia - Fizjoterapia), a następnie wypisać (Oddział Wsparcia - Zamknięcie)
- Dziecko przyjęte na oddział intensywnej opieki (pediatria - intensywna opieka) musi przejść operację (pediatria / laryngologia - chirurgia ogólna), a następnie zostaje wypisane (oddział wsparcia - zamknięcie / PR)
- Pacjent zewnętrzny konsultuje się z lekarzem ogólnym (oddział OPD); bierze przepisane leki (Dział Wsparcia - Apteka) i odchodzi.
- Przyszła mama przychodzi na regularne badania kontrolne (oddział ginekologiczny - opieka nad matką i dzieckiem), przyjmuje przepisane leki (dział wsparcia - apteka) i odchodzi.
- Pacjent stomatolog wykonuje kanał korzeniowy (oddział stomatologiczny), przyjmuje przepisane leki (dział pomocy - apteka) i odchodzi.
- Pacjent przychodzi na OPD (lekarz ogólny), przechodzi leczenie na (Oddziale Położnictwa i Ginekologii - Położnictwo Wysokiego Ryzyka) przyjmuje przepisane leki (Oddział Wsparcia - Apteka) i zostaje wypisany do domu
W ten sposób identyfikujemy wszystkie warunki testowe; pamiętaj, że większość działu musi zostać objęta.
Możemy narysować RTM, aby pokazać pokrycie jako:
W ten sposób możemy zidentyfikować więcej warunków testowych i narysować RTM, aby zobaczyć nasz dokładny zakres. Możemy również określić głębokość naszych wysiłków testowych na podstawie RTM.
Podobnie jak w tym przykładzie, widzimy, że „Dział wsparcia” to aplikacja, która jest punktem wyjścia dla całej (większości) aplikacji, stąd wysiłek testowania tej konkretnej aplikacji jest nieco większy w porównaniu z innymi aplikacjami.
Wyzwania:
- Trudno jest przetestować całą aplikację ze wszystkimi permutacjami i kombinacjami.
- Aplikacje są tworzone w różnych kombinacjach sprzętu / oprogramowania i są instalowane w różnych środowiskach, więc jeśli którekolwiek ze środowisk jest wyłączone, ma to wpływ na testowanie.
- Ze względu na różne oprogramowanie i środowiska, określenie strategii testowania i jej wykonanie jest samo w sobie dużym zadaniem.
- Stymulowanie środowiska do przeprowadzenia testu to duże wyzwanie.
- W przypadku jakiejkolwiek usterki wykonanie analizy pierwotnej przyczyny jest dużym wyzwaniem.
- Ponieważ aplikacje znajdują się w sieci, zdarzają się sytuacje, gdy sieć nie działa. Z tego powodu wpływa to również na testowanie.
Jak mogę złagodzić te wyzwania?
1) Spróbuj skorzystać z zaawansowanych technik testowania, takich jak:
- OATS (technika testowania tablicy ortogonalnej)
- Diagramy przejść stanów,
- Wykresy przyczynowo-skutkowe
- Podział równoważności i analiza wartości granicznych.
Techniki te pomogłyby w zidentyfikowaniu współzależności między aplikacjami i zidentyfikowaniu przypadków testowych / warunków, które zapewniłyby maksymalne pokrycie.
najlepsze oprogramowanie do kopiowania DVD dla systemu Windows 10
dwa) Spróbuj zidentyfikować niektóre dane historyczne, takie jak - w jakich okolicznościach systemy przestały działać, ile czasu potrzeba, aby wrócić do działania. W takim przypadku spróbuj wykonać te scenariusze, których aplikacje nie mają wpływu, lub wykorzystaj czas na udokumentowanie scenariuszy i zgłoszenie wyników. Co więcej, ilekroć planujesz lub planujesz testowanie, zawsze traktuj te dane historyczne jako dane wejściowe do oszacowania i odpowiednio planuj.
3) PLAN - Wykorzystaj dane historyczne, doświadczenia z przeszłości, umiejętności zespołu, czynniki środowiskowe, aby określić strategię testowania. Im lepszy twój plan, tym lepsza byłaby twoja realizacja.
4) Rozpocznij pracę nad przygotowaniem środowiska znacznie wcześniej niż rozpocznie się faktyczna realizacja. Nie trzeba dodawać - zaplanuj swoje kroki, gdy przygotowujesz otoczenie. Upewnij się, że Twoje środowisko jest ustawione, gotowe i uruchomione, gdy rozpocznie się wykonanie.
5) Przed rozpoczęciem pracy z IOT upewnij się, że poszczególne aplikacje są w pełni przetestowane pod kątem funkcjonalności i nie zawierają żadnych usterek. Wtedy w przypadku jakiejkolwiek wady wystarczy poszukać czynników środowiskowych, które spowodowały jakiś błąd.
6) Jak omówiono w punkcie 2, zaplanuj swoją aktywność. Jeśli jest to zaplanowana przerwa w działaniu, należy wziąć pod uwagę ten czas podczas planowania testów.
Test interoperacyjności na telefonach komórkowych:
W telefonach komórkowych przeprowadzamy testy współdziałania za każdym razem, gdy nowa aplikacja ( Mobilna aplikacja ) jest uruchamiana. Planując testy na urządzeniach mobilnych, musimy wziąć pod uwagę wiele obszarów:
- Rodzaje urządzeń mobilnych dostępnych na rynku są ogromne. Musisz wymienić wszystkie typy urządzeń, które brałbyś pod uwagę podczas testów. Musisz sparować typ urządzenia z obsługiwanym systemem operacyjnym.
- Wszystkie systemy operacyjne dla telefonów komórkowych są opracowane w innym języku programowania. Dlatego aplikacja musi zostać przetestowana pod kątem wszystkich odmian systemu operacyjnego.
- Zrozumienie czynników prawnych i umów regionalnych.
- Rozmiar / rozdzielczość różnych urządzeń jest różna.
- Należy również wziąć pod uwagę wpływ na wbudowane aplikacje mobilne.
Tak więc, aby wykonać IOT na telefonach komórkowych, potrzebujesz zaplanować i utworzyć RTM, tak jak zrobiliśmy to w przypadku testowania aplikacji komputerowych.
Zamiar, strategia, ryzyko i wykonanie byłyby takie same, ale narzędzia i techniki byłoby inaczej w przypadku telefonów komórkowych.
Wniosek:
Testowanie interoperacyjności to ogromne zadanie. Technika ta wymaga odpowiedniego planowania, które powinno rozpoczynać się równolegle wraz z rozpoczęciem planowania testów systemowych.
Podczas wykonywania tej techniki należy wziąć pod uwagę wiele czynników. Należy pamiętać, aby mieć wystarczająco dużo czasu na naprawienie błędów i ponowne przetestowanie, ponieważ jest to ogromny wysiłek, dlatego należy zapewnić możliwość śledzenia błędów.
Może się zdarzyć, że nie osiągniesz 100% pokrycie , ale powinniśmy być na tyle sprytni, aby wybierać nasze przypadki w taki sposób, aby większość aplikacji była obsługiwana w jednym przepływie przy użyciu dobrych technik pisania przypadków testowych.
Mam nadzieję, że ten artykuł był przydatny do zrozumienia techniki testowania interoperacyjności. Daj nam znać swoje pytania / komentarze.
rekomendowane lektury
- Testy funkcjonalne a testy niefunkcjonalne
- Podręcznik testowania zabezpieczeń aplikacji internetowych
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Przewodnik po testowaniu przenośności z praktycznymi przykładami
- Testy alfa i testy beta (kompletny przewodnik)
- Rodzaje testowania oprogramowania: różne typy testów ze szczegółami
- Co to jest testowanie lokalizacji i testowanie internacjonalizacji (prosty przewodnik)
- Testing Primer Pobierz eBook