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.
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.
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 |
|---|---|
|
|
|
|
|
|
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.
- Selenium
- IBM Rational Functional Tester (RFT)
- LoadRunner (Obecnie OpenText LoadRunner (wcześniej HP i Micro Focus)
- Apache JMeter
💡 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


