Co to jest testowanie w chmurze? Samouczek testowania SaaS

Spisie treści:

Anonim

Testowanie w chmurze

Cloud Testing to rodzaj testowania oprogramowania, w którym aplikacja jest testowana przy użyciu usług przetwarzania w chmurze. Celem testów w chmurze jest przetestowanie oprogramowania pod kątem wymagań funkcjonalnych i niefunkcjonalnych przy użyciu chmury obliczeniowej, która zapewnia szybszą dostępność, skalowalność i elastyczność, co pozwala zaoszczędzić czas i koszty testowania oprogramowania.

Przetwarzanie w chmurze to platforma internetowa, która zdalnie świadczy różne usługi komputerowe, takie jak sprzęt, oprogramowanie i inne usługi komputerowe.

Istnieją głównie trzy modele przetwarzania w chmurze:

  • SaaS - oprogramowanie jako usługa
  • PaaS - Platforma jako usługa
  • IaaS - infrastruktura jako usługa

W samouczku nauczymy się:

  • Rodzaj testowania w chmurze
  • Jak przeprowadzić testy w chmurze
  • Przykładowe przypadki testowe do testowania w chmurze
  • Wyzwania w testowaniu w chmurze
  • Testowanie w chmurze a testowanie konwencjonalne

Rodzaj testowania w chmurze

Całe testowanie chmury jest podzielone na cztery główne kategorie

  • Testowanie całej chmury : Chmura jest postrzegana jako całość i na podstawie jej funkcji przeprowadzane są testy. Dostawcy usług w chmurze i SaaS, a także użytkownicy końcowi są zainteresowani przeprowadzaniem tego typu testów
  • Testowanie w chmurze : sprawdzając każdą z jej wewnętrznych funkcji, przeprowadzane są testy. Tylko dostawcy usług w chmurze mogą przeprowadzać tego typu testy
  • Testowanie w chmurze : testy są przeprowadzane na różnych typach chmur prywatnych, publicznych i hybrydowych podobnych do chmury
  • Testowanie SaaS w chmurze : Testy funkcjonalne i niefunkcjonalne przeprowadzane są na podstawie wymagań aplikacji

Testowanie SaaS

Testowanie SaaS to proces testowania oprogramowania, w którym aplikacja zbudowana w modelu Software as a Service jest testowana pod kątem wymagań funkcjonalnych i niefunkcjonalnych. Celem testów SaaS jest zapewnienie jakości poprzez testowanie bezpieczeństwa danych, integralności, wydajności, kompatybilności i skalowalności aplikacji.

Testowanie w chmurze koncentruje się na podstawowych komponentach, takich jak

  1. Zastosowanie: Obejmuje testowanie funkcji, kompleksowe biznesowe przepływy pracy, bezpieczeństwo danych, zgodność z przeglądarkami itp.
  2. Sieć : Obejmuje testowanie różnych przepustowości sieci, protokołów i pomyślnego przesyłania danych przez sieci.
  3. Infrastruktura : obejmuje test odzyskiwania po awarii, kopie zapasowe, bezpieczne połączenia i zasady przechowywania. Infrastruktura musi zostać zweryfikowana pod kątem zgodności z przepisami

Inne typy testów w chmurze obejmują

  • Wydajność
  • Dostępność
  • Spełnienie
  • Bezpieczeństwo
  • Skalowalność
  • Wielu najemców
  • Testowanie aktualizacji na żywo

Jak przeprowadzić testy w chmurze

Rodzaje testowania w chmurze Zadanie wykonane
  • Testowanie SaaS lub zorientowane na chmurę:
Ten typ testów jest zwykle wykonywany przez dostawców chmury lub SaaS. Podstawowym celem jest zapewnienie jakości świadczonych funkcji usługowych oferowanych w chmurze lub programie SaaS. Testy wykonywane w tym środowisku obejmują walidację integracji, funkcjonalności, bezpieczeństwa, jednostki, funkcji systemu oraz testy regresyjne, a także ocenę wydajności i skalowalności.
  • Testowanie aplikacji online w chmurze :
Dostawcy aplikacji online przeprowadzają te testy, które sprawdzają wydajność i testy funkcjonalne usług chmurowych. Gdy aplikacje są połączone ze starszymi systemami, jakość połączenia między starszym systemem a testowaną aplikacją w chmurze jest sprawdzana.
  • Testowanie aplikacji w chmurze w chmurach :
Aby sprawdzić jakość aplikacji chmurowej w różnych chmurach, przeprowadza się tego typu testy.

Przykładowe przypadki testowe do testowania w chmurze

Scenariusze testowe Przypadek testowy
Test wydajności
  • Niepowodzenie spowodowane jednym działaniem użytkownika w chmurze nie powinno wpływać na wydajność innych użytkowników
  • Ręczne lub automatyczne skalowanie nie powinno powodować żadnych zakłóceń
  • Na wszystkich typach urządzeń wydajność aplikacji powinna pozostać taka sama
  • Przepełnienie po stronie dostawcy nie powinno utrudniać działania aplikacji
Testowanie bezpieczeństwa
  • Dostęp do danych powinien uzyskać tylko upoważniony klient
  • Dane muszą być dobrze zaszyfrowane
  • Dane muszą zostać całkowicie usunięte, jeśli nie są używane przez klienta
  • Dane powinny być dostępne przy niewystarczającym szyfrowaniu
  • Administracja po stronie dostawców nie powinna mieć dostępu do danych klientów
  • Sprawdź różne ustawienia bezpieczeństwa, takie jak zapora ogniowa, VPN, antywirus itp.
Testy funkcjonalności
  • Prawidłowe dane wejściowe powinny przynieść oczekiwane rezultaty
  • Usługa powinna być poprawnie zintegrowana z innymi aplikacjami
  • System powinien wyświetlać typ konta klienta po pomyślnym zalogowaniu się do chmury
  • Gdy klient zdecyduje się przełączyć na inne usługi, uruchomiona usługa powinna zostać automatycznie zamknięta
Testowanie interoperacyjności i kompatybilności
  • Sprawdź wymagania zgodności aplikacji w testowanym systemie
  • Sprawdź zgodność przeglądarki w środowisku chmury
  • Zidentyfikuj usterkę, która może wystąpić podczas łączenia się z chmurą
  • Wszelkie niekompletne dane w chmurze nie powinny być przesyłane
  • Sprawdź, czy aplikacja działa na innej platformie chmury
  • Przetestuj aplikację w środowisku wewnętrznym, a następnie wdróż ją w środowisku chmury
Testowanie sieci
  • Protokół testowy odpowiedzialny za łączność z chmurą
  • Sprawdź integralność danych podczas przesyłania danych
  • Sprawdź, czy połączenie sieciowe jest prawidłowe
  • Sprawdź, czy pakiety są odrzucane przez zaporę po obu stronach
Testy obciążeniowe i obciążeniowe
  • Sprawdź usługi, gdy wielu użytkowników uzyskuje dostęp do usług w chmurze
  • Zidentyfikuj Wadę odpowiedzialną za awarię sprzętu lub środowiska
  • Sprawdź, czy system zawodzi przy rosnącym obciążeniu
  • Sprawdź, jak system zmienia się w czasie pod pewnym obciążeniem

Wyzwania w testowaniu w chmurze

Wyzwanie nr 1: Bezpieczeństwo danych i prywatność

Aplikacje w chmurze z natury mają wielu dzierżawców, więc zawsze istnieje ryzyko kradzieży danych. W ramach strategii testowania w chmurze użytkownicy powinni mieć pewność co do bezpieczeństwa ich danych przez dostawców.

Wyzwanie nr 2: Krótki okres wypowiedzenia

Dostawca usług w chmurze informuje obecnych klientów z krótkim wyprzedzeniem (1-2 tygodnie) o aktualizacjach. Jest to duży problem podczas ręcznego sprawdzania poprawności zmian w aplikacji SaaS.

Wyzwanie nr 3: weryfikacja zgodności interfejsu

Wraz z aktualizacją dostawcy usług w chmurze czasami aktualizowany jest również interfejs zewnętrzny, co jest wyzwaniem dla niektórych abonentów przyzwyczajonych do starszego interfejsu. Subskrybenci chmury (SaaS) muszą upewnić się, że użytkownicy mogą wybrać wersję interfejsu, na której chcą pracować

Wyzwanie 4: migracja danych

Migracja danych od jednego dostawcy chmury do drugiego jest ogromnym wyzwaniem, ponieważ obaj dostawcy mogą mieć różne schematy baz danych, a zrozumienie pól danych, relacji i sposobu ich odwzorowania w aplikacji SaaS wymaga wiele wysiłku.

Wyzwanie nr 5 : Integracja aplikacji korporacyjnych

Integracja aplikacji korporacyjnych wymaga sprawdzania poprawności integracji danych zarówno wychodzących, jak i przychodzących, z sieci klienta do aplikacji SaaS i odwrotnie. Prywatność danych wymaga dokładnej weryfikacji, aby zapewnić abonentom SaaS bezpieczeństwo i prywatność danych.

Wyzwanie # 6 : Symulacja testów uaktualnień na żywo

Największym wyzwaniem testowania w chmurze jest zapewnienie, że aktualizacje na żywo nie wpłyną na istniejących podłączonych użytkowników SaaS

Testowanie w chmurze a testowanie konwencjonalne

Parametry testowe Testowanie konwencjonalne Testowanie w chmurze
Podstawowy cel badania
  • Sprawdź współdziałanie, kompatybilność, użyteczność.
  • Weryfikuje jakość funkcji i wydajności systemu na podstawie podanej specyfikacji
  • Weryfikuje jakość wydajności i funkcji SaaS, chmur i aplikacji, wykorzystując środowisko chmurowe
Koszty testowania
  • Koszty pozostają wysokie ze względu na wymagania sprzętowe i programowe
  • Musisz tylko zapłacić za opłaty operacyjne. Płać tylko za to, czego używasz.
Symulacja testów
  • Symulowane dane o ruchu online
  • Symulowany dostęp użytkownika online
  • Symulacja danych o ruchu online
  • Symulacja dostępu użytkowników online
Testy funkcjonalności
  • Walidacja funkcji (jednostki i systemu) oraz jej cech
  • Testowanie kompleksowych funkcji aplikacji w SaaS lub w chmurze
Środowisko testowe
  • Wstępnie ustalone i skonfigurowane środowisko testowe w laboratorium testowym
  • Otwarte, publiczne środowisko testowe z różnymi zasobami obliczeniowymi
Testy integracyjne
  • Testowanie oparte na komponentach, architekturze i funkcjach
  • Testowanie integracji oparte na SaaS
Testowanie bezpieczeństwa
  • Testowanie funkcji bezpieczeństwa w oparciu o proces, serwer i prywatność
  • Testowanie funkcji bezpieczeństwa w oparciu o chmurę, SaaS i testy w czasie rzeczywistym w chmurze dostawców
Testowanie wydajności i skalowalności
  • Wykonano ustalone środowisko testowe
  • Stosuj dane testowe w czasie rzeczywistym i wirtualne online