Testowanie aplikacji na różnych etapach projektu – co warto wiedzieć?

Testowanie aplikacji na różnych etapach projektu – co warto wiedzieć?

Czy bycie testerem QA jest nudne? Takie pytanie zasugerował mi niedawno Google. Moja odpowiedź? Absolutnie nie! Ciągle testujemy nowe aplikacje, a każdy etap rozwoju produktu stawia przed nami inne zadania i cele.

Warto o tym pamiętać, jeśli jesteś product ownerem albo zarządzasz projektem. Na pewno zależy Ci na tym, żeby skrócić czas wykonywania zadań, zachowując przy tym wysoką jakość produktu.

Zrozumienie, na czym polegają obowiązki testera usprawni współpracę ze specjalistami QA. Dzięki temu rozwój produktu będzie przebiegał szybciej. Wzrośnie też szansa na to, że ostateczny wynik spełni Twoje oczekiwania i spodoba się użytkownikom.

Krótko o procesie quality assurance

Tworzenie aplikacji mobilnej czy webowej to złożony proces, w który angażuje się wiele osób. Jaką rolę pełni w nim tester?

W skrócie – sprawdza, czy produkt działa prawidłowo i czy spełnia wymagania klienta. Jeśli interesują Cię szczegóły, więcej na ten temat przeczytasz w artykule o rodzajach testów QA.

Tutaj chcę wyjaśnić, jak praca testera wygląda na różnych etapach procesu tworzenia aplikacji. Inne są wtedy zadania, inne narzędzia, potrzebne są też inne informacje.

Etap 1. Przygotowanie projektu

W początkowej fazie projektu zespół często spotyka się z klientem. Omawia się wtedy podstawowe założenia, najważniejsze funkcjonalności i oczekiwania klienta. Warto na takie spotkania zapraszać testerów. Dzięki temu dowiadują się, na czym zależy klientowi i poznają główne cele projektu.

To ważne, ponieważ praca testera nie ogranicza się do sprawdzania aplikacji. Wykonujemy też szereg innych czynności, które pozwalają zadbać o jakość produktu. Poznajemy specyfikę biznesu klienta, zajmujemy się przeglądem dokumentacji i udzielamy wskazówek, które poprawiają użyteczność.

Zadaniem testera na tym etapie jest stworzenie planu testów. Żeby to zrobić, należy:

  • sformułować cele testów,
  • ustalić ich zakres, czyli wypisać, co będzie testowane,
  • zaproponować najlepszy sposób przeprowadzenia testów (np. trzeba wtedy zdecydować, czy wystarczy sama eksploracja, czy musimy przeprowadzić testy funkcjonalne i regresje),
  • przeanalizować, jakie ograniczenia mogą wystąpić w przypadku różnych środowisk testowych,
  • rozpisać harmonogram testów.

Przydatne narzędzia: Jira, UxPin/Zeplin, TestRail

Etap 2. Tworzenie aplikacji: pisanie kodu i testy

Gdy ustalimy już wszystkie organizacyjne kwestie, rozpoczyna się pisanie kodu. Testerzy na bieżąco sprawdzają jego jakość. Na początku tego etapu wykonują przede wszystkim testy funkcjonalne. Jak sugeruje nazwa, są one związane z funkcjonalnościami. Ich celem może być np. sprawdzenie czy produkt można dodać do koszyka. Testerzy porównują też widoki aplikacji z projektem UI.

Przeprowadzamy testy przy użyciu fizycznych urządzeń (telefony, tablety). Są zróżnicowane pod względem marki czy wersji oprogramowania oraz farm (np. BitBar, Sauce Labs). Rezultatem tych czynności jest raportowanie, czyli zgłaszanie wykrytych błędów.

Tuż przed etapem, w którym ma miejsce publikacja aplikacji przeprowadzamy dodatkowo dwa inne rodzaje testów:

  • wydajnościowe – polegają na sprawdzaniu prędkości działania, stabilności i czasu reakcji,
  • zgodności – skupiają się na sprawdzaniu, czy produkt działa tak samo na różnych platformach.

To również czas, kiedy precyzujemy wymagania. Każda zmiana i różnica w działaniu musi być sprawdzona i omówiona.

Jaki jest nasz główny cel? Zapewniamy wysoką jakość aplikacji i dbamy o jej efektywność. Dzięki testom możemy wcześniej wykrywać błędy powstałe w trakcie pisania kodu. To pozwala programistom szybciej reagować i naprawiać je w krótszym czasie. Przekłada się to na niższe koszty.

Przydatne narzędzia: UxPin/Zeplin, Jira, TestRail, Bitbar/Sauce Labs, TestFlight, Bitrise/AppTester, narzędzia do śledzenia żądań (requestów): Chucker, Wormholy, konsola

Etap 3. Publikacja MVP

Gdy data wydania zbliża się wielkimi krokami, przechodzimy do testów akceptacyjnych. Sprawdzamy, czy aplikacja zachowuje się tak jak powinna, czyli zgodnie z wymaganiami klienta lub product ownera. Upewniamy się też, czy nie powróciły błędy, które były już wcześniej naprawiane oraz czy nie doszło do awarii uniemożliwiającej opublikowanie kolejnej wersji. Wtedy pomocne jest narzędzie TestRail. Są w nim opisane scenariusze testowe i oczekiwane rezultaty.

Im więcej osób sprawdza aplikację, tym lepiej. Dlatego krótko przed datą wydania, warto udostępnić ją ograniczonej liczbie użytkowników spoza zespołu deweloperskiego – tzw. beta testerom. Można określić, jaki procent osób ma mieć dostęp do aktualizacji (np. 10% użytkowników). To szansa na uzyskanie feedbacku na temat najnowszych usprawnień i funkcjonalności. W efekcie możemy poprawić przejrzystość aplikacji i wprowadzić zmiany, które ułatwią korzystanie z niej.

Jeśli takie testy dadzą pozytywny wynik i nie ma już nic do poprawy, aplikacja przechodzi weryfikację Apple App Store i Google Play Store. To warunek, który trzeba spełnić, żeby produkt pojawił się w sklepach. Gdy ten etap zakończy się pomyślnie, aplikacja staje się publicznie dostępna. Od tej chwili można ją pobrać i zainstalować.

Przydatne narzędzia: TestFlight / App Tester

Etap 4. Rozwój i utrzymanie aplikacji (continuous development)

Dalszy rozwój aplikacji wiąże się z dodawaniem kolejnych funkcjonalności. To też czas na wprowadzanie usprawnień i ulepszeń w oparciu o opinie użytkowników, raporty z analityki, plany marketingowe itd.

Podobnie jak w przypadku pierwszej wersji aplikacji testerzy przeprowadzają testy funkcjonalne, akceptacyjne i regresje. Następnie produkt w ulepszonym wydaniu trafia do beta testerów i dopiero potem pojawia się w sklepie.

Narzędzia w procesie testowania

Wcześniej wspomniałam o różnych narzędziach, które wykorzystują testerzy. Jest ich wiele – służą m.in. do sprawdzania oprogramowania, zgłaszania błędów lub raportowania.

Tutaj przedstawiam trzy narzędzia, które uważam za jedne z najważniejszych w pracy testera.

Jira

Większość osób pracujących w branży informatycznej korzysta z Jiry albo o niej słyszało. W przypadku testerów to narzędzie służy głównie do raportowania błędów i zgłaszania nowych funkcjonalności, które należy zaimplementować. Jira pomaga planować i koordynować działania związane z tworzeniem aplikacji. Każdy uczestnik procesu widzi kolumny z zadaniami. Dzięki temu i deweloperzy, i testerzy wiedzą, kiedy mają rozpocząć pracę.

Jira project

Widok tabeli w Jirze.

TestRail

TestRail ułatwia przeprowadzanie pełnych testów przed wydaniem aplikacji do sklepu. Każdy projekt jest podzielony na główne funkcjonalności. Z kolei każdy element i akcja są rozpisane według schematu:

  1. Krok, jaki użytkownik ma wykonać (z lewej strony).
  2. Co ma się wydarzyć, czyli rezultat (z prawej strony).

 

Widok z narzędzia TestRail.

Jeśli po wykonaniu każdego kroku rezultat był taki sam jak ten opisany po prawej stronie, wtedy można zaakceptować dany przypadek testowy. Oznaczamy go jako passed. Gdy jednak zauważamy rozbieżności, oznaczamy krok jako failed. W takiej sytuacji cały przypadek trzeba przetestować ponownie i dodatkowo zgłosić błąd do Jiry, żeby programista wiedział, co powinien naprawić.

Oczywiście nie wszystkie błędy muszą zostać naprawione od razu. Każdemu z nich nadajemy odpowiedni priorytet, co pozwala ocenić, jakimi zgłoszeniami należy się zająć w pierwszej kolejności.

BitBar

To farma urządzeń. Jak działa? Podczas testowania aplikacji wybieramy konkretne urządzenie i wersję oprogramowania (np. iPhone 11 iOS 15.5 lub Pixel 4 Android 12). Następnie wgrywamy APK lub IPA (w zależności od systemu) i rozpoczynamy testy. BitBar jest bardzo pomocny, ponieważ firmy mają ograniczone zasoby rzeczywistych urządzeń. Również praca zdalna przyczyniła się do upowszechnienia takich rozwiązań. Warto też zaznaczyć, że BitBar daje możliwość nagrywania lub automatyzacji niektórych kroków.

Główny widok, gdzie wybieramy rodzaje testów.

 

Wgranie aplikacji (pliku APK lub IPA) i rozpoczęcie testów.

Rozwój aplikacji składa się z wielu etapów i wymaga zastosowania wielu narzędzi. To wszystko sprawia, że aplikacja, która trafia w ręce użytkownika ma wysoką jakość. W rezultacie i klient, i odbiorcy są zadowoleni. Mam nadzieję, że dzięki przedstawieniu procesu testowania będziesz wiedział, jaką rolę pełni tester i dlaczego powinien uczestniczyć w projekcie od samego początku.

Patrycja portrait

Patrycja Bill-Karwacka

QA Tester

Dowiedz się więcej

Wycena projektu

Opowiedz nam o swoim projekcie i napisz, jak możemy Ci pomóc.

Dlaczego warto rozwijać z nami projekty?

Logo Mobile Trends Awards

Mobile Trends Awards 2021

Wygrana w kategorii
ŻYCIE CODZIENNE

Nagroda Legalnych Bukmacherów

Nagroda Legalnych Bukmacherów 2019

Najlepsza aplikacja mobilna

Mobile Trends Awards logo

Mobile Trends Awards 2023

Wygrana w kategorii
MCOMMERCE ROZWÓJ

23

opinie klientów

Clutch logo