application testing into basics software testing
Wprowadzenie do testowania aplikacji
Testowanie aplikacji to taka czynność, którą często wykonuje prawie każdy tester oprogramowania w swojej karierze. Te dwa słowa są niezwykle szerokie w praktycznych aspektach. Jednak omówione zostaną tylko główne i najważniejsze obszary. Celem tego artykułu jest poruszenie wszystkich głównych obszarów, tak aby czytelnicy otrzymali wszystkie podstawowe informacje w jednym miejscu.
W jednowierszowym ujęciu możemy powiedzieć, że testowanie aplikacji to proces, w którym testowana jest funkcjonalność, użyteczność i spójność całej aplikacji.
Czego się nauczysz:
Testowanie aplikacji: wyjaśnienie podstaw testowania oprogramowania
Kategorie aplikacji
Niezależnie od tego, czy jest to mały kalkulator z podstawowymi operacjami arytmetycznymi, czy rozwiązanie online dla przedsiębiorstw; istnieją trzy kategorie aplikacji:
W przypadku aplikacji komputerowych testy powinny uwzględniać interfejs użytkownika, logikę biznesową, bazę danych, raporty, role i prawa, integralność, użyteczność, funkcjonalność, wydajność, bezpieczeństwo, zgodność sprzętu i oprogramowania oraz przepływ danych.
W przypadku aplikacji internetowych testerzy powinni przywiązywać odpowiednią wagę do wydajności, obciążenia i bezpieczeństwa aplikacji.
Inne główne typy testów objęte testowaniem aplikacji internetowych to testy funkcjonalne, testy w różnych przeglądarkach, UAT, testy beta, testy regresji, testy zgodności, testy dymne, testy eksploracyjne, testy kompatybilności i wsparcie wielojęzyczne oraz testy warunków skrajnych.
W przypadku aplikacji mobilnych głównymi typami testów, które należy wykonać, są testy interfejsu użytkownika, testy oparte na regułach, testy regresji, testy funkcjonalne i testy bezpieczeństwa.
Tak więc AUT (testowana aplikacja) to oprogramowanie komputerowe, witryna internetowa lub aplikacja mobilna.
Metodologie testowania aplikacji
Jest to dobrze znany i dobrze omówiony aspekt, że istnieją tylko 3 powszechnie akceptowane metodologie testowania:
# 1) Czarna skrzynka : W testach czarnoskrzynkowych AUT jest walidowany pod kątem wymagań, biorąc pod uwagę dane wejściowe i oczekiwane wyniki, niezależnie od tego, jak dane wejściowe są przekształcane w wyjścia. Testerzy są najmniej zainteresowani wewnętrzną strukturą lub kodem, który implementuje logikę biznesową aplikacji.
Istnieją cztery podstawowe techniki projektowania przypadków testowych do testowania czarnoskrzynkowego:
- BVA ( Analiza wartości brzegowych )
- EP (Partycja równoważna)
- Tabele decyzyjne
- Tabele zmian stanów (i diagramy)
Testowanie czarnoskrzynkowe jest powszechnie stosowane w testach funkcjonalnych, niefunkcjonalnych i regresyjnych.
#dwa) Białe pudło : Głównym celem tej metodologii jest sprawdzenie, w jaki sposób logika biznesowa aplikacji jest implementowana przez kod / program.
Tutaj testowana jest wewnętrzna struktura aplikacji, a dostępne techniki to:
- Pokrycie kodu
- Pokrycie ścieżki
Obie wymienione powyżej techniki zawierają kilka innych strategii, które można omówić w innym artykule. Niektóre techniki omówiono w „ Techniki projektowania przypadków testowych ”Temat.
# 3) Szare pudełko : W praktyce jest to mieszanka czarnej skrzynki i białej skrzynki.
W tej metodologii głównie tester testuje aplikację w podejściu czarnoskrzynkowym. Jednak w przypadku niektórych krytycznych lub podatnych na ataki modułów aplikacji testowanie odbywa się za pośrednictwem białej skrzynki.
Podanie Narzędzia testowe
Jest ich dużo Narzędzia do testowania aplikacji dostępne obecnie na rynku. Obejmują one zarówno płatne, jak i otwarte narzędzia. Ponadto niektóre narzędzia są przeznaczone do określonego celu.
Na przykład, Testowanie interfejsu użytkownika, testowanie funkcjonalne, testowanie bazy danych, testowanie obciążenia, testowanie wydajności, testowanie bezpieczeństwa, testowanie poprawności łącza itp. Jednak niektóre narzędzia są wystarczająco mocne, aby zapewnić możliwość testowania kilku głównych aspektów aplikacji.
Najważniejszą koncepcją w „Testowaniu aplikacji” jest testowanie funkcjonalne. Dlatego skupimy się na narzędziach do testowania funkcjonalnego.
Oto lista najważniejszych i fundamentalnych funkcji, które są dostępne w prawie wszystkich narzędziach do testów funkcjonalnych.
- Nagrywaj i odtwarzaj
- Sparametryzuj wartości
- Edytor skryptów
- Uruchom (test lub skrypt, z trybami debugowania i aktualizacji)
- Raport z sesji Run
Różni dostawcy zapewniają określone funkcje, które sprawiają, że ich produkt jest wyjątkowy na tle innych produktów konkurencji. Ale pięć funkcji wymienionych powyżej jest najbardziej powszechnych i można je znaleźć w prawie wszystkich narzędziach do testowania funkcjonalnego.
Poniżej znajduje się lista kilku powszechnie używanych Narzędzia do testów funkcjonalnych .
1) HP QTP ( Szybki test Professional )
dwa) Selen
3) IBM Rational Robot
4) Test zakończony
5) Wciśnij, aby przetestować
6) Telerik
Plan testów oprogramowania (PROSZĘ)
W przypadku każdego działania zawsze wymagane jest pewne planowanie i to samo dotyczy testowania oprogramowania. Bez odpowiedniego planu zawsze istnieje duże ryzyko rozproszenia uwagi podczas testowania. Jeśli to ryzyko stanie się faktem, skutki mogą być okropne.
5 głównych części dobrego planu testów
#1 Zakres
- Przegląd AUT
- Funkcje (lub obszary) do przetestowania
- Wyłączenia (cechy lub obszary, które nie mają być testowane) z uzasadnieniem
- Zależności (ewentualnych działań testowych względem siebie)
# 2) Cele: W tej sekcji opisano cele czynności testowych, np. walidacja poprawek błędów, dodanie nowych funkcji lub zmiana wersji AUT itp.
# 3) Skupienie: W tej sekcji opisano, jaki aspekt aplikacji zostanie uwzględniony w testowaniu, np. bezpieczeństwo, funkcjonalność, użyteczność, niezawodność, wydajność lub efektywność itp.
# 4) Podejście: W tej sekcji opisano, jaka metodologia testowania zostanie przyjęta dla poszczególnych obszarów AUT. Na przykład w STP aplikacji ERP; sekcja podejścia może zawierać informację, że testowanie czarnoskrzynkowe będzie podejściem do listy płac. Z drugiej strony w przypadku raportów podejście będzie polegało na testowaniu szarej skrzynki.
# 5) Harmonogram: Ta sekcja opisuje, kto będzie robił co, gdzie, kiedy i jak na AUT. Sekcja harmonogramu to w rzeczywistości „4Ws i 1H” STP. Zwykle harmonogram jest przygotowywany jako prosta tabela, ale każda organizacja może mieć własny, dostosowany format zgodnie z własnymi potrzebami.
Gdy plan testów jest gotowy, a aplikacja jest w fazie rozwoju, testerzy projektują i dokumentują przypadki testowe. W powyższej sekcji „Testowanie aplikacji - Metodologie” wymieniłem techniki projektowania TC.
Cykle testowania aplikacji
Gdy AUT jest gotowy do testowania, rozpoczyna się praktyczna faza cyklu testowego, w której testerzy faktycznie wykonują przypadki testowe na AUT. Należy pamiętać, że omawiany jest tutaj cykl testowania niezależnie od poziomów testowania (jednostka, moduł, integracja, akceptacja systemu i użytkownika) oraz środowisk testowych (deweloper, kontrola jakości, replika klienta, na żywo).
# 1) Testowanie dymu : To jest pierwszy cykl testowy. Celem testów dymnych jest sprawdzenie, czy w aplikacji nie ma awarii i czy nadaje się ona do dalszych testów. Ten krok jest szeroki i płytki.
# 2) Testowanie poczytalności: To jest drugi cykl testowy. Jego celem jest sprawdzenie, czy określony moduł działa poprawnie i nadaje się do pełnego testowania. Ten krok jest wąski i głęboki.
Wskazówka dla profesjonalistów: Zwykle nie ma wystarczającej ilości czasu dostępnego do oddzielnego wykonania dwóch powyższych cykli. Tak więc w praktyce przyjmuje się połączenie obu tych cykli.# 3) Testy funkcjonalności : W tym cyklu testowania aplikacji przeprowadzane jest prawidłowe i kompleksowe testowanie aplikacji. Głównym celem tego działania jest sprawdzenie, czy logika biznesowa aplikacji działa zgodnie z oczekiwaniami.
# 4) Testowanie regresji : To jest ostatni cykl aplikacji. Tutaj weryfikowane są poprawki błędów i / lub aktualizacje. Co więcej, testy regresyjne zapewniają również, że nie ma błędów w innych obszarach AUT z powodu poprawek i zmian.
Błędy są rejestrowane w każdym cyklu testowym. Nie ma wyraźnej granicy między cyklami testowania. Na przykład w Regresji funkcjonalność jest również weryfikowana i może również wymagać najpierw dymu, zdrowia psychicznego lub ich połączenia.
Mówiliśmy powyżej o czterech różnych cyklach testowania aplikacji. Musimy również zrozumieć, że każdy cykl testowania aplikacji obejmuje określone kroki. Ogólnie rzecz biorąc, każdy cykl testowy obejmuje kroki przedstawione na poniższym obrazku:
Lista prywatnych serwerów World of Warcraft
Testowanie aplikacji - Najlepsze praktyki
Myślę, że w internecie są dostępne setki artykułów. Każdy artykuł sugeruje inną liczbę najlepszych praktyk, od 7 do 30 (które widziałem do tej pory). Jednak mam tylko 5 wskazówek dla czytelników.
- Plan Prawidłowo
- Test Gorąco
- Zarejestruj błędy Wyraźnie
- Wykonaj test regresji Wydajnie
- Popraw powyższe cztery umiejętności Bez przerwy
Ponadto należy dobrze określić priorytety przypadków testowych i najpierw uwzględnić główne przepływy biznesowe.
Wniosek
Testowanie aplikacji to rozległy temat i jest to podstawowe zajęcie dla prawie wszystkich testerów oprogramowania.
W tym artykule przedstawiłem przegląd najbardziej podstawowych i niezbędnych obszarów objętych testowaniem aplikacji. Obejmuje strategie, zjawiska, podejścia, narzędzia, technologie i wytyczne. Odniosłem się do konceptualnego i praktycznego wglądu w testowanie aplikacji wraz z jego najważniejszymi obszarami zainteresowania.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Kurs testowania oprogramowania: Do którego Instytutu Testowania Oprogramowania mam dołączyć?
- Wybór testowania oprogramowania jako swojej kariery
- Co to jest testowanie małp w testowaniu oprogramowania?
- Co to jest testowanie zgodności oprogramowania?
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- 20 praktycznych wskazówek dotyczących testowania oprogramowania, które należy przeczytać przed przetestowaniem dowolnej aplikacji
- Rodzaje testowania oprogramowania: różne typy testów ze szczegółami