Co to jest testowanie aplikacji?

⚡ Inteligentne podsumowanie

Testowanie aplikacji weryfikuje cały produkt programowy, a nie pojedynczą jednostkę, obejmując interfejs, funkcje, bazę danych i zachowanie pod obciążeniem. Ta strona wyjaśnia czteroetapowy cykl życia, trzy metodologie testowania, planowanie testów, narzędzia, metryki i praktyki specyficzne dla urządzeń mobilnych.

  • 🎯 Definicja: Testowanie aplikacji polega na sprawdzeniu całej aplikacji w celu znalezienia błędów przed jej udostępnieniem.
  • 🪜 Cztery etapy: Zaplanuj wymagania, twórz przypadki i skrypty, uruchamiaj testy funkcjonalne, a następnie uruchamiaj testy obciążeniowe.
  • 🧩 Trzy segmenty: Aplikacje internetowe, desktopowe i mobilne wymagają innego zestawu typów testów.
  • Metodologie: Testowanie metodą czarnej, białej i szarej skrzynki ma na celu odpowiednio zachowanie, kod i strukturę.
  • 🚪 Kryteria wejścia i wyjścia: Uzgodnione warunki decydują o tym, kiedy testy mogą się rozpocząć i kiedy się zakończą.
  • 📈 Metryka: Gęstość defektów, pokrycie testami i wyciek defektów wskazują, czy testowanie działa.
  • 📱 Fokus mobilny: W testach mobilnych dominują takie czynniki, jak fragmentacja, ścieżki instalacji i ograniczona liczba urządzeń fizycznych.

Czym jest testowanie aplikacji

Co to jest testowanie aplikacji?

Testowanie aplikacji definiuje się jako rodzaj testowania oprogramowania przeprowadzany za pomocą skryptów, którego celem jest znalezienie błędów w oprogramowaniu. Zajmuje się testami całej aplikacji.

Pomaga podnieść jakość aplikacji, jednocześnie redukując koszty, maksymalizując zwrot z inwestycji i oszczędzając czas programowania.

W inżynierii oprogramowania testowanie aplikacji można przeprowadzić w różnych kategoriach, takich jak GUI, funkcjonalność, baza danych (backend), test obciążenia itp.

W przypadku testowania aplikacji cykle życia testów obejmują różne fazy, które obejmują analizę wymagań, planowanie testów, analizę testów, projektowanie testów, wykonanie testów i zgłaszanie błędów itp.

Fazy ​​te składają się na krótki, powtarzalny cykl życia, który obowiązuje w każdej aplikacji.

Jak przetestować aplikację?

Aplikacje i produkty różnią się pod względem obsługiwanych funkcji i realizowanych procesów. Zatem testowanie aplikacji zapewnia, że ​​określony program lub aplikacja działa prawidłowo.

Przetestuj aplikację

Cykl życia testowania aplikacji składa się z czterech etapów.

  • Scena 1) Projektuj plany testów w oparciu o wymagania aplikacji
  • Scena 2) Twórz ręczne przypadki testowe i automatyczne skrypty testowe
  • Scena 3) Wykonaj testy funkcjonalne, aby zweryfikować wymagania aplikacji
  • Scena 4) Wykonaj testy obciążeniowe i dostosuj wydajność aplikacji

Rodzaj wykonywanych testów zależy od rodzaju testowanej aplikacji. Testowanie aplikacji można podzielić na 3 segmenty.

  • Testowanie aplikacji internetowych
  • Testowanie aplikacji desktopowych
  • Testowanie aplikacji mobilnych
Testowanie aplikacji Rodzaje przeprowadzanych testów
  • Testowanie aplikacji internetowych
  • Funkcjonalne i Test wydajności
  • Testowanie w różnych przeglądarkach
  • Testy obciążeniowe i obciążeniowe
  • Testowanie regresji i zgodności
  • Testów akceptacyjnych użytkownika
  • Testy beta
  • Badania eksploracyjne i dymne
  • Obsługa wielu języków i testowanie kompatybilności
  • Testowanie aplikacji desktopowych
  • Testowanie interfejsu użytkownika
  • Test użyteczności
  • Test wydajności
  • Testowanie kompatybilności (oprogramowanie/sprzęt)
  • Testy funkcjonalne
  • Testowanie bezpieczeństwa
  • Testowanie aplikacji mobilnych
  • Testowanie interfejsu użytkownika
  • Testowanie oparte na regułach
  • Testy regresji
  • Testy funkcjonalne
  • Testowanie bezpieczeństwa

Porównanie testowania aplikacji internetowych, stacjonarnych i mobilnych

Te trzy segmenty mają wspólny cykl życia, ale różnią się znacząco pod względem tego, co faktycznie ulega awarii. Wiedza o tym, gdzie koncentruje się ryzyko, podpowie Ci, jak przeznaczyć budżet na testy.

Punkt różnicy Sieć Stacjonarny Mobile
Działa dalej Przeglądarka przez sieć Jedna zainstalowana maszyna Telefon komórkowy lub tablet
Zmienna główna Przeglądarka i wersja Operasystem i sprzęt Urządzenie, wersja systemu operacyjnego i rozmiar ekranu
Zależność od sieci zawsze połączony Często offline Przerywany i musi przetrwać stratę
Największe ryzyko Renderowanie i ładowanie między przeglądarkami Instalacja i kompatybilność Fragmentacja na różnych urządzeniach
Obsługa przerwań Rzadko istotne Rzadko istotne Połączenia, powiadomienia i niski poziom baterii
Ścieżka aktualizacji Po stronie serwera, natychmiast dla wszystkich Użytkownik instaluje poprawkę Recenzja w sklepie z aplikacjami, etapowe wdrażanie

W urządzeniach mobilnych występuje najwięcej niekontrolowanych zmiennych, dlatego też zostaną one omówione osobno w dalszej części tej strony.

Metodologie testowania aplikacji

Metodologia testowania to ustrukturyzowany sposób zapewnienia pełnego przetestowania aplikacji. Niezorganizowana i nieudolna metodologia testowania może prowadzić do niestabilności produktu.

Testowanie przeprowadza się na trzy sposoby.

  • Czarny Box Testy
  • Biały Box Testy
  • Szary Box Testy

Czarny Box Testy

Czarny Box Testy technika jest powszechnie stosowana do testowania Testy funkcjonalne, Testy niefunkcjonalne, i testowanie regresyjne. W testowaniu czarnej skrzynki stosowane są następujące strategie:

  • Testowanie klas równoważności
  • Testowanie wartości brzegowych
  • Testowanie tabeli decyzji
  • Tabele przejść stanów

Biały Box Testy

Testowanie białoskrzynkowe jest zazwyczaj używany do testowania kodu oprogramowania w celu sprawdzenia wewnętrznych luk w zabezpieczeniach, uszkodzonych lub źle ustrukturyzowanych ścieżek, funkcjonalności pętli warunkowych itp. W testach białej skrzynki stosowane są następujące strategie:

  • Code Analiza zasięgu
  • Pokrycie ścieżki

Szary Box Testy

Ta technika testowania jest kombinacją obu technik Black Box Testowanie, a także testowanie biało-skrzynkowe. Przeprowadza się je w celu znalezienia Wady w oparciu o niewłaściwą strukturę lub użycie aplikacji.

Plan testów do testowania aplikacji

Plan testów dokument pochodzi z Produktu Description, Specyfikacja wymagań oprogramowania SRS lub Dokumenty przypadków użycia. Test koncentruje się na tym, co testować, jak testować, kiedy testować i kto będzie testował. Dokument planu testów służy jako środek komunikacji pomiędzy zespołem testowym a kierownikami testów.

Standardowy plan testów aplikacji powinien określać następujące funkcje:

  • Zdefiniuj zakres testów
  • Zdefiniuj cel testowania
  • Podejście do testowania aktywności
  • Harmonogram testów
  • Bug trackról i raportowanie

Kryteria wejścia i wyjścia w testowaniu aplikacji

Plan testów wymienia formalne kryteria wejścia i wyjścia jako najlepsze praktyki, ale warto je dokładnie opisać. Bez nich faza testów albo rozpoczyna się od niestabilnej wersji, albo dryfuje bez ustalonej linii mety.

Kryteria włączenia muszą zostać spełnione przed rozpoczęciem wykonywania.

  • Wymagania i SRS są przeglądane i ustalane jako wartości bazowe.
  • Plan testów i przypadki testowe są napisane i zatwierdzone.
  • Kompilacja jest wdrażana w stabilnym środowisku testowym i przechodzi test dymowy.
  • Dostępne są dane testowe oraz wymagane konta lub urządzenia.
  • Wada tracNarzędzie King jest skonfigurowane i zespół ma do niego dostęp.

Kryteria wyjścia pokazuje, że faza spełniła swój cel.

  • Wszystkie zaplanowane przypadki testowe są wykonywane, a wyniki rejestrowane.
  • Nie pozostały żadne otwarte usterki krytyczne lub o wysokim stopniu zagrożenia.
  • Osiągnięto uzgodniony poziom pokrycia w stosunku do wymagań.
  • Pozostałe wady o niskim stopniu ważności są dokumentowane i akceptowane przez firmę.
  • Podsumowanie raportu z testu zostało podpisane.

Narzędzia do testowania aplikacji

Istnieją różne narzędzia testowe do testowania aplikacji. Wybór narzędzi zależy od rodzaju badań, które chcesz wykonać. Dla różnych platform zalecane są różne narzędzia. Narzędzia do testowania aplikacji zapewniają wydajność, użyteczność i funkcjonalność aplikacji na różnych urządzeniach.

Oto kilka z nich.

💡 Uwaga: IBM Rational Robot, długo wymieniany obok RFT, został wycofany ze sprzedaży. Obecnie dostępny jest Rational Functional Tester. IBM oferowanie, więc nowe projekty nie powinny być planowane wokół Robota.

Kluczowe wskaźniki testowania aplikacji

Wykonywanie testów świadczy o aktywności, a nie o skuteczności. Niewielki zestaw metryk pokazuje, czy testy rzeczywiście wykrywają defekty i czy aplikacja zbliża się do jakości wydania.

  • Pokrycie testowe: Udział wymagań z co najmniej jednym zmapowanym przypadkiem testowym. Niskie pokrycie oznacza nieprzetestowane zachowanie, niezależnie od wskaźnika zdawalności.
  • Gęstość defektów: Defekty podzielone według rozmiaru, zazwyczaj na tysiąc linii kodu lub na moduł. Wskazuje komponenty wymagające przeróbek, a nie dalszych testów.
  • Wyciek defektów: Liczba usterek wykrytych w produkcji podzielona przez całkowitą liczbę usterek. Rosnące wycieki to najwyraźniejszy sygnał, że w testach przedpremierowych czegoś brakuje.
  • Efektywność usuwania defektów: Usterki wykryte przed wydaniem jako odsetek wszystkich usterek. Wskaźnik powyżej dziewięćdziesięciu procent jest powszechnym celem.
  • Szybkość wykonywania testów: Sprawy prowadzone w stosunku do zaplanowanych, tracna cykl, więc poślizg jest widoczny wcześniej, a nie dopiero przy bramce wyjściowej.

TracSkup się na trendzie, a nie na pojedynczym odczycie. Jeden cykl w izolacji niewiele mówi.

Najlepsze praktyki testowania w zakresie testowania aplikacji

Wybór właściwej strategii testowania aplikacji to gwarantowany sposób na wykrycie defektów w aplikacji. Dlatego niezwykle ważne staje się, aby zespół ds. kontroli jakości przestrzegał zestawu standardowych procesów w celu wykrycia większej liczby błędów w krótszym czasie.

Do testowania aplikacji zaliczają się niektóre z najlepszych praktyk

  • Zdefiniuj specyfikacje funkcjonalne
  • Revprzeglądy i inspekcje
  • Formalne kryteria wejścia i wyjścia
  • Odmiany testów funkcjonalnych
  • Testowanie na wielu platformach
  • Zautomatyzowane wykonywanie testów

Wyzwania związane z testowaniem aplikacji

Podczas testowania aplikacji tester może napotkać wiele wyzwań

  • Problemy zidentyfikowane dopiero po wywołaniu użytkownika
  • Niemożność przewidzenia skutków zmian
  • Brak widoczności błędów aplikacji i operacyjnych
  • Czasochłonne

Testowanie aplikacji mobilnych

Podobnie jak testowanie aplikacji internetowych, Mobile Testowanie aplikacji opiera się również na tej samej strategii i metodologii testowania. Różnica może dotyczyć narzędzi używanych do testowania. Niektóre popularne narzędzia używane do testowania aplikacji mobilnych to: Appium, TestComplete, Robotium, Espresso.

Typy aplikacji mobilnych dzielą się na trzy sekcje

  • Aplikacja internetowa — użytkownicy uzyskują do niej dostęp za pośrednictwem sieci takiej jak Internet lub intranet
  • Aplikacja natywna – jest opracowana dla konkretnej platformy i zainstalowana na urządzeniu komputerowym
  • Aplikacja hybrydowa – łączy w sobie elementy aplikacji internetowej i natywnej, np. Facebooka.

W przypadku większości platform mobilnych można używać prostych CSS, HTML, JS itp.

Przykładowe przypadki testowe do testowania aplikacji mobilnych

Kompletna strategia aplikacji do testowania mobilnego obejmuje infrastrukturę urządzeń i sieci, wybór urządzeń docelowych oraz skuteczną kombinację narzędzi do testowania ręcznego i automatycznego, aby uwzględnić zarówno testy niefunkcjonalne i funkcjonalne.

W przypadku aplikacji mobilnych należy przetestować takie rzeczy

  • instalacja sprzętu
  • OTA
  • Wi-Fi
  • Kabel do transmisji danych
  • Bluetooth
  • Deinstalacja
  • Logo aplikacji
  • plusk
  • Słaba pamięć
  • Wizualna informacja zwrotna
  • Wyjdź z aplikacji
  • Uruchomienie/ponowne uruchomienie aplikacji

Wyzwania związane z testowaniem urządzeń mobilnych

Wraz ze wzrostem liczby użytkowników i urządzeń mobilnych, testowanie aplikacji mobilnych staje się coraz bardziej złożone. Testowanie aplikacji mobilnej znacząco różni się od testowania aplikacji webowej na komputerach stacjonarnych. Typowe wyzwania napotykane podczas testowania aplikacji mobilnych to:

  • Kompleksowy zakres testów
  • Zarządzanie fragmentacją (różna wersja systemu operacyjnego, procesor, pamięć)
  • Brak planu testów
  • Presja czasu
  • Brak urządzeń fizycznych
  • Różnorodność platform i systemów operacyjnych

FAQ

Testowanie systemowe weryfikuje zintegrowaną kompilację pod kątem zgodności ze specyfikacją. Testowanie aplikacji to szersza czynność polegająca na sprawdzeniu gotowej aplikacji pod kątem interfejsu, funkcji, bazy danych i obciążenia, często trwająca aż do akceptacji.

Analizuj urządzenia, na których Twoi analitycy pokazują rzeczywistych użytkowników, a nie najnowsze telefony. Powszechnym podejściem jest uwzględnienie dziesięciu najpopularniejszych urządzeń według ruchu na nich, z uwzględnieniem szerszej gamy kombinacji systemów operacyjnych i ekranów w farmie urządzeń w chmurze.

Oba. Zautomatyzuj stabilną regresję, testy międzyprzeglądarkowe i scenariusze obciążenia, które powtarzają się w każdym cyklu. Utrzymuj testy eksploracyjne, użyteczności i jednorazowe testy manualne, ponieważ tworzenie skryptów kosztuje więcej niż wykryte przez nie defekty.

Tak. Dostarcz SRS lub historie użytkownika, a asystent AI opracuje pozytywne, negatywne i graniczne przypadki wraz z oczekiwanymi wynikami. Kierownik testów weryfikuje je pod kątem listy wymagań przed wprowadzeniem do planu.

Częściowo. Samonaprawiające się lokalizatory ponownie identyfikują elementy po zmianie interfejsu, a AI może grupować awarie, aby oddzielić rzeczywiste defekty od zakłóceń synchronizacji. Przyczyny źródłowe, takie jak brakujące oczekiwania, nadal wymagają naprawy przez programistę.

Podsumuj ten post następująco: