getting started with cloud testing
W tym artykule dowiemy się, jak przeprowadzić „testowanie w chmurze”. Aby to zrozumieć, musimy najpierw poznać koncepcję Cloud Computing. W tym artykule opisano przetwarzanie w chmurze, testowanie w chmurze i główne wyzwania związane z testowaniem w chmurze.
Wprowadzenie do chmury obliczeniowej
Kilka lat temu w branży pojawiło się nowe modne hasło i technologia zwana „wirtualizacją”. Wraz z pojawieniem się wirtualizacji, ideologii współdzielenia zasobów obliczeniowych w wielu systemach operacyjnych w celu zwiększenia skalowalności, obniżenia kosztów kapitałowych i umożliwienia łatwego administrowania infrastrukturą IT, stała się podstawą wielu przedsiębiorstw.
W ciągu ostatnich kilku lat w IT nastąpiła ewolucja wirtualizacji w postaci chmury obliczeniowej. Każdy nowicjusz w chmurze musi wyobrazić sobie przetwarzanie w chmurze jako model, który postrzega wszystko jako usługę.
Oczywiste jest zdefiniowanie przetwarzania w chmurze jako całościowego rozwiązania, które dostarcza IT jako usługę. Podobnie jak w przypadku wirtualizacji, jej dewizą jest współdzielenie zasobów, w którym przydział i dostępność są na żądanie przez Internet.
(wizerunek źródło )
Prawdziwy przykład wyjaśniający przetwarzanie w chmurze:
Z łatwością możemy zrozumieć teorię Chmura obliczeniowa biorąc prosty przykład posiłku w restauracji. Na przykład, Rozważ posiłek w domu, a nie w restauracji. Chociaż celem jest wyłącznie spożycie posiłku, podejście lub model zastosowany w obu tych przypadkach znacznie się różni.
W domu musisz upewnić się, czy masz wszystkie składniki potrzebne do posiłku, musisz zadbać o przygotowanie wymagane do przyrządzenia danego dania. Gotujesz jedzenie, a odpowiedzialność za utrzymanie porządku w otoczeniu po ugotowaniu potrawy należy wyłącznie do Ciebie.
Teraz natomiast posiłek w restauracji można określić mianem cateringu, który jest usługą. Jako klient udajesz się tylko do restauracji, zamawiasz wybrane przez siebie danie i płacisz za usługi.
Premia za posiadanie składników, przygotowanie do dania, gotowanie potrawy, jej prezentację, podawanie dania do Ciebie, sprzątanie i czyszczenie stołu po wykonaniu czynności, pakowanie wszelkich resztek jedzenia spada na administrację restauracji.
Ten przykład można postrzegać jako podobny do ideologii i zasad przetwarzania w chmurze - „Dostępność na żądanie”, „Jako usługa” i „Płać za użytkowanie”.
Czego się nauczysz:
- Modele dostaw w chmurze
Modele dostaw w chmurze
(wizerunek źródło )
Chmura ma głównie trzy typy modeli realizacji lub komponentów, które zapewniają funkcje „jako usługa”:
- Infrastruktura jako usługa (IaaS) : Jest to najbardziej podstawowa warstwa, która stanowi element składowy chmury. Obejmuje głównie zasoby fizyczne, takie jak pamięć masowa, urządzenia sieciowe, serwery obliczeniowe itp. Wszystkie te zasoby obliczeniowe są dostępne na żądanie, a użytkownik płaci za nie zgodnie ze swoim zużyciem.
- Platforma jako usługa (PaaS) : Centralną warstwą w chmurze jest platforma. Tutaj nie ma kontroli nad podstawową infrastrukturą, ale można uzyskać dostęp do wdrożonych aplikacji. W związku z tym zapewnia na żądanie całe środowisko wykonawcze, które może być środowiskiem programistycznym lub testowym. Dlatego w tym modelu najczęściej masz maszynę wirtualną, która zawiera kompletne środowisko, takie jak system operacyjny, wymagane oprogramowanie pośrednie itp., Dostępne wtedy, gdy tego potrzebujesz.
- Oprogramowanie jako usługa (SaaS) : Najwyższą warstwą jest tutaj warstwa aplikacji, która będzie ogólnie widoczna dla każdego użytkownika. Tutaj aplikacje / produkty są dostępne dla użytkowników na żądanie przez Internet. Dlatego zamiast kupować licencję dla konkretnego użytkownika, okazuje się to najbardziej opłacalnym sposobem upewnienia się, że licencja jest zawsze używana. Przykładami tego są Gmail, Dokumenty Google, Photoshop itp.
Rodzaje chmur
Istnieją 3 rodzaje formacji chmur, a mianowicie chmury publiczne, prywatne i hybrydowe:
- Chmury publiczne to te, w których usługi są dostępne dla wszystkich, w których zasoby są przydzielane i udostępniane dynamicznie zgodnie z żądaniem.
- Chmury prywatne są ogólnie zarządzane w ramach reguł zapory sieciowej określonej organizacji i są dostępne tylko dla użytkowników w firmie.
- Chmury hybrydowe są połączeniem chmur prywatnych i publicznych. Organizacje mogą decydować, które usługi chcą udostępniać wszystkim, a które chcą udostępniać tylko użytkownikom w organizacji.
Testowanie w chmurze - potrzeba tego
Cloud Testing odnosi się do testowania zasobów, takich jak sprzęt, oprogramowanie itp., Które są dostępne na żądanie . Nawet testowanie tutaj można postrzegać jako „usługę”. W przypadku ofert w chmurze ważne jest, aby upewnić się, że usługa (produkt) nie tylko spełnia wymagania funkcjonalne, ale także wymagania niefunkcjonalne. Wraz z szeroką gamą aplikacji w chmurze, opracowanie strategii testowania w chmurze staje się teraz niezbędne.
Korzyści z testowania w chmurze
Potrzeba testowania w chmurze jest łatwo widoczna z korzyściami, jakie z niej czerpiemy, których jest zdecydowanie za dużo. Poniżej podjęliśmy próbę omówienia najbardziej widocznych korzyści, które wyjaśniają dlaczego Chmura czy potrzeba godziny:
- Dynamiczna dostępność środowisko testowe : Normalnym podejściem do testowania w każdej organizacji jest inwestowanie w infrastrukturę sprzętową / programową wymaganą do testowania. Niemal wielu z Was zgodzi się, że środowisko dostarczane zespołom testującym bardzo rzadko pasuje do środowiska klienta ze względu na szybko zmieniające się wymagania, w wyniku czego firmom jest bardzo trudno go utrzymać. Chmura jest jedyną odpowiedzią na ten problem, dzięki której użytkownicy mogą łatwo replikować środowisko klienta i znajdować usterki na wczesnym etapie cyklu.
- Niska cena : Inny punkt widzenia w stosunku do poprzedniego punktu jest taki, że kiedy firmy inwestują w infrastrukturę, typową przyczyną tego jest to, że wiele z ich serwerów nie jest używanych przez cały czas. W rezultacie mogą być zmuszeni do poniesienia dodatkowych kosztów związanych z odnowieniem licencji. Przejście do chmury pomaga również w tym scenariuszu, ponieważ użytkownicy mogą zamawiać urządzenia, kiedy chcą, oszczędzając w ten sposób ogromne koszty dla organizacji.
- Łatwo konfigurowalny : Korzystając z chmury, organizacje mogą łatwo emulować środowisko zorientowane na użytkownika końcowego, dostosowując je do potrzeb, oszczędzając w ten sposób koszty i czas. Zespoły testowe mogą łatwo wykonywać scenariusze testów obciążenia i wydajności w różnych permutacjach i kombinacjach, takich jak - różne systemy operacyjne, przeglądarki, konfiguracje itp.
- Skalowalność : Jest to jedna z najbardziej atrakcyjnych funkcji chmury, dzięki której zasoby obliczeniowe można zwiększać lub zmniejszać wszędzie tam, gdzie jest to konieczne. Jest to szeroko stosowane w sytuacjach, w których wymagania biznesowe często się zmieniają.
Testowanie w chmurze Głębokie nurkowanie
Testowanie w odniesieniu do chmury będzie wykorzystywać zarówno tradycyjne, jak i nowe metody do przeprowadzania testów. Testowanie i chmura to równie duże domeny na swojej własnej drodze. W poniższych sekcjach nauczmy się, jak wyświetlić oba razem.
1) Formularze testowe w chmurze
Testy w chmurze można ogólnie podzielić na cztery różne kategorie w zależności od tego, do czego dążą:
- Testowanie całej chmury: Chmura jest postrzegana jako całość w oparciu o jej funkcje i na tej podstawie przeprowadzane są testy.
- Testowanie w chmurze: To jest test, który jest przeprowadzany wewnątrz chmury, sprawdzając każdą z jej wewnętrznych funkcji
- Testowanie w chmurach: Na podstawie specyfikacji testy są przeprowadzane na różnych typach chmur podobnych do chmur publicznych, prywatnych i hybrydowych.
- Testowanie SaaS w chmurze: Testy funkcjonalne i niefunkcjonalne są wykonywane na podstawie wymagań.
2) Środowiska testowe w chmurze
Istnieją 3 typy środowisk testowych w chmurze:
- Środowisko prywatne lub publiczne, w którym jakość wdrożonych w nich aplikacji wymaga walidacji.
- Środowisko hybrydowe, w którym jakość wdrażanych w nich aplikacji wymaga walidacji.
- Środowisko testowe oparte na chmurze, w którym jakość aplikacji wdrożonych w chmurze musi zostać zweryfikowana.
# 3) Rodzaje testów przeprowadzanych w chmurze
Testowanie w chmurze musi nie tylko zapewniać spełnienie wymagań funkcjonalnych, ale także należy położyć duży nacisk na testowanie niefunkcjonalne. Przyjrzyjmy się różnym rodzajom przeprowadzanych testów.
Testy funkcjonalności :
Należy przeprowadzić testy funkcjonalne, aby upewnić się, że oferta zapewnia usługi, za które użytkownik płaci. Testy funkcjonalne zapewniają, że wymagania biznesowe są spełnione.
Niektóre z testów funkcjonalnych opisano poniżej:
- Testy weryfikacyjne systemu : Zapewnia to prawidłowe współdziałanie różnych modułów, zapewniając w ten sposób, że ich zachowanie jest zgodne z oczekiwaniami.
- Testy akceptacyjne : Tutaj rozwiązanie oparte na chmurze jest przekazywane użytkownikom, aby upewnić się, że spełnia ich oczekiwania.
- Testowanie interoperacyjności : Każda aplikacja musi być elastyczna, aby działać bez żadnych problemów nie tylko na różnych platformach, ale także musi działać bezproblemowo podczas przechodzenia z infrastruktury chmury do innej.
Testy niefunkcjonalne:
Testy niefunkcjonalne koncentrują się głównie na testach opartych na aplikacjach internetowych, zapewniając, że spełniają one pożądane wymagania.
Oto kilka rodzajów testów niefunkcjonalnych omówionych poniżej:
# 1) Testowanie dostępności : Administrator / dostawca chmury musi upewnić się, że chmura jest dostępna przez całą dobę. Ponieważ może mieć miejsce wiele działań o znaczeniu krytycznym, administrator musi upewnić się, że nie ma to negatywnego wpływu na konsumentów
2) Testowanie wielu dzierżawców : W tym przypadku wielu użytkowników korzysta z oferty w chmurze. Należy przeprowadzić testy, aby zapewnić wystarczające zabezpieczenia i kontrolę dostępu do danych, gdy wielu użytkowników korzysta z jednej instancji.
# 3) Testowanie wydajności : Weryfikację czasu odpowiedzi należy przeprowadzić, aby upewnić się, że wszystko jest nienaruszone, nawet jeśli jest wiele żądań do spełnienia. Opóźnienie sieci jest również jednym z krytycznych czynników oceny wydajności.
Równoważenie obciążenia należy również przeprowadzić w przypadku zmniejszenia obciążenia poprzez wycofanie zasobów. W ten sposób testy obciążenia i warunków skrajnych są wykonywane w chmurze, aby upewnić się, że aplikacje działają optymalnie przy wzroście / spadku obciążenia i stresu.
# 4) Testowanie bezpieczeństwa : Ponieważ wszystko jest dostępne w chmurze o każdej porze, ważne jest, aby upewnić się, że do wszystkich poufnych informacji użytkownika nie ma nieautoryzowanego dostępu, a prywatność użytkowników pozostaje nienaruszona. Utrzymując aplikacje w chmurze, należy również zweryfikować integralność danych użytkownika.
# 5) Testowanie odzyskiwania po awarii : Jak już stwierdzono w testach dostępności, chmura musi być dostępna przez cały czas, a jeśli występują jakiekolwiek awarie, takie jak awarie sieci, awarie spowodowane ekstremalnym obciążeniem, awarie systemu itp., Zmierz, jak szybko awaria jest wskazywana i jeśli w ogóle w tym okresie nastąpi utrata danych.
# 6) Testowanie skalowalności : Przetestuj, aby upewnić się, że oferta może zapewnić skalowanie w górę lub w dół zgodnie z potrzebami.
Narzędzia do testowania w chmurze
W tej sekcji omówiono niektóre narzędzia używane w różnego rodzaju testach wykonywanych w środowisku chmurowym. Szczegóły narzędzi są poza zakresem tego artykułu.
Narzędzia do testowania wydajności w chmurze:
Wiele narzędzi jest zasadniczo używanych do testów wydajnościowych, obciążeniowych i obciążeniowych. Niektóre z poniższych narzędzi mogą być również używane do testów funkcjonalnych:
- SOASTA CloudTest
- LoadStorm
- CloudTestGo
- AppPerfect.
- Jmeter
- Cloudslueth
- CloudTestGo
- AppPerfect
Narzędzia do testowania zabezpieczeń w chmurze:
strona internetowa do oglądania anime za darmo
Istnieją również powszechnie używane narzędzia związane z bezpieczeństwem:
- Nessus
- Wireshark
- Nmap
=> Kliknij tutaj, aby uzyskać pełną listę narzędzi testujących automatyzację w chmurze
Wyzwania testowania w chmurze
Tak ekscytujące, jak brzmi chmura, nie wszystko jest tutaj hunky-dory. Istnieją pewne wyzwania związane z poleganiem na chmurze i jej wykorzystywaniem jako infrastruktury. Przyjrzyjmy się niektórym głównym obawom związanym z korzystaniem z chmury.
Wyzwanie nr 1) Ponieważ wszystko jest dostępne na żądanie dla każdego użytkownika, bezpieczeństwo jest głównym problemem dla firm, ponieważ obecnie w branży wciąż toczy się wiele dyskusji i badań w celu ustalenia standardów bezpieczeństwa. Ochrona prywatności użytkowników, standardy bezpieczeństwa w chmurze, bezpieczeństwo aplikacji działających w chmurze, Techniki testowania bezpieczeństwa to niektóre z głównych problemów, które należy rozwiązać w infrastrukturze chmury.
Wyzwanie nr 2) Kolejnym dużym wyzwaniem jest wydajność aplikacji w chmurze, a konkretnie w chmurach prywatnych. Będzie udostępniony wielu użytkownikom, a zatem może również prowadzić do opóźnień. Również w przypadku niektórych czynności konserwacyjnych lub związanych z wyłączaniem przepustowość może wydawać się niewystarczająca.
Wyzwanie nr 3) Czasami do celów testowych wymagamy pewnych konfiguracji w odniesieniu do serwerów, pamięci masowej lub sieci, które mogą nie być obsługiwane przez dostawcę chmury. To czasami utrudnia emulację środowisk klientów.
Wyzwanie nr 4 )Innym często spotykanym wyzwaniem są testy integracyjne, w ramach których testerzy testują sieć, bazę danych, serwery itp. W takich sytuacjach tester nie będzie miał kontroli nad środowiskiem bazowym. Po drugie, wyzwanie jest podwojone, gdy musi wystąpić interakcja między tymi komponentami, ponieważ tester będzie musiał przewidzieć ryzyko, takie jak awarie, awaria sieci lub awaria serwerów.
Wniosek
Dziś Cloud Computing stał się jednym z tych „wielkich wybuchów” w branży. Większość organizacji skłania się teraz do przyjęcia chmury z powodu jej elastyczność, skalowalność i obniżone koszty .
Korzystanie z chmury do testowania ogromnie pomaga organizacjom w uzyskaniu wymaganych narzędzi, licencji na oprogramowanie, infrastruktury przy bardzo niskich kosztach bez konieczności samodzielnej konfiguracji i późniejszego martwienia się o jej maksymalne wykorzystanie.
Najwyraźniej chmura pozostanie tutaj na długo, a testowanie chmury ma również świetlaną przyszłość. :)
O autorze : To jest artykuł gościnny autorstwa Sneha Nadig. Pracuje jako Test Leader z ponad 7-letnim doświadczeniem w projektach testowania ręcznego i automatycznego.
Czy pracujesz nad testowaniem w chmurze? Podziel się swoim doświadczeniem. Masz pytanie? śmiało publikujcie to w komentarzach.
rekomendowane lektury
- Pierwsze kroki z testowaniem w chmurze
- Testowanie wydajności w chmurze: dostawcy usług testowania obciążenia w chmurze
- Testowanie aplikacji mobilnych w chmurze: pełny przegląd
- Najlepsi dostawcy usług testowania aplikacji mobilnych w chmurze w 2021 r
- 10 NAJLEPSZYCH narzędzi do monitorowania chmury dla idealnego zarządzania chmurą
- 10 NAJLEPSZYCH dostawców darmowej pamięci masowej w chmurze (pamięć online 2021)
- 12 NAJLEPSZY dostawca hostingu w chmurze w 2021 roku (w porównaniu z usługą i kosztami)