Best Practices testowania aplikacji mobilnych

mar 28, 2021

Testowanie aplikacji mobilnych jest niezbędne, aby upewnić się, że każda aplikacja spełnia postawione przed nią wymagania techniczne oraz biznesowe. Ważne jest, aby każdy tester aplikacji mobilnych stosował sprawdzone i przede wszystkim skuteczne metody testowania. Z punktu widzenie biznesowego konieczne jest, aby aplikacja przeszła pełne i dokładne testy, zanim zostanie wprowadzona na rynek. W dobie tak dużej konkurencji, nawet niewielkie błędy w aplikacji mogą skutecznie skłonić klientów do korzystania z innego, konkurencyjnego oprogramowania.
Dlatego ważne jest, aby podczas testów stosować najlepsze wypracowane przez rynek techniki wspierające testy. Poniżej przedstawiam 8 najlepszych praktyk (Best Practices) testowania aplikacji mobilnych.



1. Rozpocznij testy tak wcześniej, jak to możliwe

Proces testowania aplikacji mobilnej powinien rozpocząć się równocześnie z procesem wytwórczym oprogramowania. Testowanie łączy się ściśle z tworzeniem kodu developerskiego i powinno być przeprowadzane na każdym etapie rozwoju oprogramowania. Lepiej jest zidentyfikować wady i skorygować je na jak najwcześniejszym etapie. Im szybciej jest znaleziony błąd tym jego obsługa i naprawa jest tańsza i krótsza. Najlepiej zacząć proces testowy już na etapie wytwarzania dokumentów projektowych, takich jak specyfikacja wymagań czy historyjki. Przeglądy dokumentów (testy statyczne) pozwalają wyłapać błędy już w samach założeniach oraz typowe błędy logiczne czy niekompletność dokumentów. Błędy znalezione na tym etapie są poprawnie niemal od ręki i nie niosą ze sobą wielkich kosztów.



2. Weryfikuj warstwę sieciową aplikacji


Bardzo istotne jest, aby aplikacja była testowana we wszystkich rodzajach połączeń sieciowych. Aplikacja powinna działać w obszarach o niskiej łączności lub niskiej prędkości Internetu. Bardziej prawdopodobne jest, że użytkownik będzie winić aplikację mobilną niż łączność w sieci lokalnej, co z kolei może zaszkodzić reputacji aplikacji. Mamy do przetestowania główne rodzaje połączeń sieciowych: 3G, LTE, 5G, Hotspot, Wi-Fi.


3. Używaj prawdziwych urządzeń do testowania

Testowanie na emulatorach i symulatorach to bardzo przydatna metoda testowania mobilnego na wczesnych etapach tworzenia aplikacji. Równie ważne jest przetestowanie aplikacji mobilnej na prawdziwych urządzeniach mobilnych. Gwarantuje to, że wyniki uzyskane z tych testów są realistyczne, a wady można natychmiast skorygować. Oczywiście z powodu ograniczeń budżetowych – nie będziemy w stanie zakupić setek smartfonów, aby na nich przeprowadzać testy na żywo. Ten problem pomogą nam rozwiązać takie serwisy jak https://www.browserstack.com/ , które za dodatkową opłatą pozwalają nam korzystać ze swoich bogatych farm urządzeń, nie tylko mobilnych. Więcej o tego typu rozwiązaniach chmurowych można poczytać w materiale: https://odlaikadoautomatyka.pl/testowanie-aplikacji-mobilnych-czesc-1/

4. Testuj w różnych językach

Jeśli aplikacja mobilna ma być używana w różnych krajach, powinna zwracać się do użytkowników w ich ojczystych językach, bądź przynajmniej w językach popularnych na świecie. Aplikacja powinna działać poprawnie i upewnić się, że nie rani nastrojów ludzi
należących do różnych ras, religii i grup etnicznych. Warto również zawracać uwagę na sam tekst, gdyż jak wiemy ten sam tekst, może mieć bardzo różną długość w różnych językach, więc należy dokładnie sprawdzać jego wyświetlanie, czy nie przykrywa innych elementów bądź nie wychodzi za zdefiniowane ramy elementów.



5. Wykonuj testy baterii

Ważne jest, aby aplikacja mobilna zużywała maksymalnie mało baterii do swoich działań. Testerzy i programiści powinni upewnić się, że aplikacja jest zaprojektowana w taki sposób, aby procesor był jak najmniej obciążany podczas wykonywania obliczeń i by nie było żadnych wycieków pamięci. Długość funkcjonowania telefonu na jednym ładowania baterii jest jednym z ważnych czynników, które ludzie biorą pod uwagę przy zakupie smartfonu, o czym również powinien pamiętać tester oprogramowania.


6. Testuj z różnymi funkcjami sprzętowymi


Dzisiejsze smartfony są wyposażone w różne funkcjonalności i czujniki do interakcji z otoczeniem. Aplikacja mobilna powinna zostać przetestowana z tymi funkcjami sprzętowymi i sprawdzona pod kątem ich zakłóceń. Ważne jest, aby osoba testująca była świadoma tych funkcji. Jeśli w aplikacji używany jest czujnik, należy przeprowadzić również testy specyficzne dla czujnika. Warto tutaj skupić się na takich funkcjach sprzętu mobilnego jak: aparat fotograficzny, czujniki GPS, mikrofon czy głośnik.


7. Zweryfikuj uprawnienia, których wymaga aplikacja

Ważnym testem, który testerzy oprogramowania powinni wykonać, jest to, czy aplikacja korzysta tylko z uprawnień niezbędnie wymaganych. Jeśli np. aplikacja nie korzysta z aparatu fotograficznego, to nie powinniśmy wymagać do niego uprawnień. Użytkownicy aplikacji mobilnych są bardzo wrażliwi na bezpieczeństwo danych, dlatego twórcy aplikacji mobilnych muszą wziąć to pod uwagę.


8. Automatyzacja testów

Automatyzacja testowania aplikacji mobilnych jest ważna dla zwiększenia produktywności procesu testowania. Niektóre testy, jak np. testy wydajnościowe możliwe są tylko przy zastosowaniu skryptów automatycznych, które będą symulować działania wielu użytkowników. Automatyzacja procedur testowych w znacznym stopniu skraca czas wprowadzenia produktu na rynek, zwiększa ogólny zwrot z inwestycji i zmniejsza ryzyko pojawienia się błędów na produkcji.

Autor: Tomasz Stelmach

Pozostałe:

Jak napisać Plan Testów?

Jeśli jesteś testerem oprogramowania, bądź pracujesz w działach zapewniania jakości oprogramowania, to być może zetknąłeś się już z dokumentem o opisowej nazwie „Plan Testów”. Tego typu dokumentację tworzy się zarówno w dużych, jak i małych firmach, formalnych, jak...

Jak mierzyć jakość oprogramowania?

Istnieją różne cele testowania oprogramowania. Jednym z głównych celów testowania jest mierzenie jakości oprogramowania. Czym zatem jest ta tajemnicza „jakość”? Jakość oprogramowania to zestaw istotnych cech, które wyróżniają dane oprogramowanie – negatywnie lub...

Środowisko testowe – słów kilka

W tym materiale postaram się Wam przybliżyć nieco temat środowisk, a w szczególności skupić się na środowiskach testowych. Na samym początku musimy sobie zadać podstawowe pytanie: „Czym w ogóle jest środowisko w kontekście pracy dowolnej aplikacji?” Środowisko – to...

Poziomy wykonywania testów

Wytwarzanie oprogramowania to zwykle długi, czasochłonny, skomplikowany proces. Aby przebiegał on poprawnie i dało się nim efektywnie zarządzać - proces developmentu dzielony jest na różne etapy, fazy. Każda faza charakteryzuje się swoimi unikalnymi czynnościami i...

Przydatne narzędzia wspomagające testowanie oprogramowania

Efektywne testowanie oprogramowania zarówno manualne jak i automatyczne wymaga wykorzystania przeróżnych narzędzi i rozwiązań softwarowych. Na rynku znajdziemy ogromną liczbę narzędzi usprawniających proces testowania oprogramowania, a przy ogromnym wyborze trudno...