Best Practices testowania aplikacji mobilnych

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

Notatka o autorze:

Zajmuję się testowaniem, zabezpieczaniem i zapewnianiem jakości oprogramowania od ponad 13 lat. Rozpocząłem swoją karierę od testów manualnych i analizy biznesowo-technicznej. Obecnie prowadzę firmę Quality Island, która zajmuje się szeroko pojętym testowaniem oprogramowania oraz szkoleniami dla przyszłych i obecnych testerów oprogramowania. Moją specjalnością są testy automatyczne aplikacji webowych oraz budowa procesów automatyzacji i robotyzacji. Od 8 lat prowadzę aktywnie szkolenia oraz konsultacje z tych tematów i wykonuję zlecenia dla firm trzecich jako konsultant, ekspert oraz audytor. Współpracuję również z firmami jako osoba do rekrutacji i weryfikacji technicznych. Interesują mnie głównie tematy związane z architekturą IT oraz zagadnienia DevOps/TestOps, ponieważ ściśle wiążą się z zapewnianiem jakości oprogramowania.

 

Tomasz Stelmach

CEO&Founder

 

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *