Co to jest testowanie w chmurze? Samouczek testowania SaaS

Testowanie chmury

Testowanie chmury to rodzaj testowania oprogramowania, podczas którego 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ść wraz ze skalowalnością i elastycznością, aby 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 związane z komputerami.

Istnieją głównie trzy modele Cloud Computing :

  • SaaS- Oprogramowanie jako usługa
  • PaaS– Platforma jako usługa
  • IaaS- Infrastruktura jako usługa

Rodzaj testów 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 jest testowanie. Dostawcy rozwiązań chmurowych i SaaS, a także użytkownicy końcowi są zainteresowani przeprowadzaniem tego typu testów
  • Testowanie w chmurze: Sprawdzając każdą z jego wewnętrznych cech, przeprowadza się test. Tylko dostawcy rozwiązań chmurowych mogą przeprowadzać tego typu testy
  • Testowanie w chmurze: Testy przeprowadzane są na różnych typach chmur prywatnych, publicznych i hybrydowych przypominających chmury
  • Testowanie SaaS w chmurze: Testy funkcjonalne i niefunkcjonalne przeprowadza się na podstawie wymagań aplikacji

Testowanie SaaS

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

Testowanie SaaS

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

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

Inne typy testów w chmurze obejmują

  • Wydajność
  • Dostępność:
  • Zobowiązania
  • Bezpieczeństwo
  • Skalowalność
  • Wielu najemców
  • Testowanie aktualizacji na żywo

Jak przeprowadzić testy w chmurze

Rodzaje testów w chmurze Zadanie wykonane
Testowanie zorientowane na SaaS lub chmurę: Tego typu testy są zwykle przeprowadzane przez dostawców rozwiązań chmurowych lub SaaS. Celem nadrzędnym jest zapewnienie jakości świadczonych funkcji usług oferowanych w chmurze lub programie SaaS. Testy przeprowadzane w tym środowisku obejmują walidację integracyjną, funkcjonalną, bezpieczeństwa, jednostkową, systemową i Testy regresji 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 opartych na chmurze. Gdy aplikacje są połączone ze starszymi systemami, sprawdzana jest jakość łączności między starszym systemem a testowaną aplikacją w chmurze.
Testowanie aplikacji w chmurze w chmurach: Aby sprawdzić jakość aplikacji opartej na chmurze w różnych chmurach, przeprowadza się tego typu testy.

Przykładowe przypadki testowe do testowania w chmurze

Scenariusze testowe Przypadek testowy
Test wydajności
  • Awaria spowodowana działaniem jednego użytkownika w chmurze nie powinna mieć wpływu na wydajność innych użytkowników
  • Skalowanie ręczne lub automatyczne nie powinno powodować żadnych zakłóceń
  • Na wszystkich typach urządzeń wydajność aplikacji powinna pozostać taka sama
  • Overbooking po stronie dostawcy nie powinien utrudniać działania aplikacji
Testowanie bezpieczeństwa
  • Dostęp do danych powinien uzyskać wyłącznie upoważniony klient
  • Dane muszą być dobrze zaszyfrowane
  • Dane muszą zostać całkowicie usunięte, jeśli nie są wykorzystywane przez klienta
  • Dostęp do danych powinien być zapewniony przy niewystarczającym szyfrowaniu
  • Administracja po stronie dostawców nie powinna mieć dostępu do danych klientów
  • Sprawdź różne ustawienia zabezpieczeń, takie jak zapora sieciowa, sieć VPN, program antywirusowy itp.
Testy funkcjonalności
  • Prawidłowe dane wejściowe powinny dać oczekiwane rezultaty
  • Usługa powinna prawidłowo integrować się z innymi aplikacjami
  • System powinien wyświetlić typ konta klienta po pomyślnym zalogowaniu się do chmury
  • Gdy klient zdecyduje się przejść na inne usługi, działająca usługa powinna zostać automatycznie zamknięta
Testowanie interoperacyjności i zgodności
  • Sprawdź wymagania dotyczące zgodności aplikacji w systemie testowym
  • Sprawdź kompatybilność przeglądarki w środowisku chmurowym
  • Zidentyfikuj Wada które mogą wystąpić podczas łączenia się z chmurą
  • Nie należy przenosić niekompletnych danych znajdujących się w chmurze
  • Sprawdź, czy aplikacja działa na innej platformie chmury
  • Przetestuj aplikację na środowisku wewnętrznym, a następnie wdróż ją w środowisku chmurowym
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 zapora sieciowa po obu stronach odrzuca pakiety
Testy obciążeniowe i obciążeniowe
  • Sprawdź usługi, gdy wielu użytkowników uzyskuje dostęp do usług w chmurze
  • Zidentyfikuj defekt odpowiedzialny za awarię sprzętu lub środowiska
  • Sprawdź, czy system nie ulega awarii pod wpływem rosnącego obciążenia jednostkowego
  • Sprawdź, jak system zmienia się w czasie pod określonym obciążeniem

Wyzwania w testowaniu w chmurze

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

Aplikacje chmurowe mają charakter wielodostępny i zawsze istnieje ryzyko kradzieży danych. W ramach strategii testowania w chmurze użytkownicy powinni uzyskać od dostawców pewność co do bezpieczeństwa ich danych.

Wyzwanie nr 2: Krótki okres wypowiedzenia

Dostawca usług w chmurze daje klientom krótkie powiadomienie (1-2 tygodnie) o aktualizacjach. To duży problem podczas ręcznego walidowania zmian w aplikacji SaaS.

Wyzwanie nr 3: Sprawdzanie zgodności interfejsu

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

Wyzwanie nr 4: Migracja danych

Migracja danych od jednego dostawcy chmury do drugiego jest ogromnym wyzwaniem, ponieważ obaj dostawcy mogą mieć różne schematy baz danych i wymaga dużego wysiłku, aby zrozumieć pola danych, relacje i sposób ich mapowania w aplikacji SaaS

Wyzwanie nr 5: Integracja aplikacji korporacyjnych

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

Wyzwanie nr 6: Symulowanie testów uaktualnień na żywo

Największym wyzwaniem w testowaniu 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 chmury
Główny cel testowania
  • Sprawdź interoperacyjność, kompatybilność, użyteczność.
  • Weryfikuje jakość działania i wydajność systemu w oparciu o podaną specyfikację
  • 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 płacić tylko za opłaty operacyjne. Płać tylko za to, z czego korzystasz.
Symulacja testowa
  • Symulowane dane o ruchu online
  • Symulowany dostęp użytkownika online
  • Symulacja danych o ruchu online
  • Symulacja dostępu użytkownika online
Testy funkcjonalne
  • Walidacja funkcji (jednostki i systemu) oraz jej cech
  • Testowanie kompleksowego działania aplikacji w modelu SaaS lub Cloud
Środowisko testowe
  • Wstępnie ustalone i skonfigurowane środowisko testowe w laboratorium testowym
  • Otwarte publiczne środowisko testowe z różnorodnymi zasobami obliczeniowymi
Testy integracyjne
  • Testowanie oparte na komponentach, architekturze i funkcjach
  • Testowanie integracyjne w oparciu o SaaS
Testowanie bezpieczeństwa
  • Testowanie funkcji bezpieczeństwa w oparciu o proces, serwer i prywatność
  • Testowanie funkcji bezpieczeństwa w oparciu o chmurę, SaaS oraz testy w czasie rzeczywistym w chmurze dostawców
Testowanie wydajności i skalowalności
  • Przeprowadzono stałe środowisko testowe
  • Stosuj zarówno dane testowe w czasie rzeczywistym, jak i wirtualne online