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

0 komentarzy

Wyślij komentarz

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

Pozostałe:

Asercje w Selenium

W załączonych fragmentach kodu z poprzednich lekcji, na pewno zauważyłeś instrukcje o nazwie Assert. Właśnie o szeroko pojętych asercjach będzie traktowała dzisiejsza lekcja. Rozłożymy sobie Asercje na czynniki pierwsze. Omówimy przykłady użycia, a na końcu sami...

Lokalizowanie elementów. Selektory w Selenium wprowadzenie

  W dzisiejszym materiale nauczymy się korzystać z API Selenium WebDriver do lokalizowania elementów na stronach internetowych. Poznamy metody, strategie i podejścia do jednoznaczniej identyfikacji WebElementów.     DZISIEJSZA LEKCJA, NA...

Explicit Wait Vs Implicit Wait. Waity w Selenium WebDriver

Jedną z kluczowych umiejętności podczas programowania testów jest prawidłowe stosowanie metod klasy Wait. Dzieje się tak dlatego, iż to właśnie za ich pomocą, jesteśmy w stanie poradzić sobie z często występującymi problemami natury...

Jak i po w ogóle co testować e-commerce?

Tworzysz lub planujesz stworzyć w przyszłości swoją stronę e-commerce, sklep internetowy? Chcesz zapewnić jej odpowiedni wygląd, optymalizacje i działanie? W takim razie koniecznie musisz poznać jak najwięcej szczegółów o testowaniu e-commerce!  Czym jest i po co...

Testy penetracyjne – testy bezpieczeństwa

Internet, systemy, aplikacje nieustannie się rozwijają, tak samo jak sposoby hakerów na atakowanie systemów informatycznych. Całe szczęście, sposoby na sprawdzanie, weryfikowanie systemów zabezpieczeń również idą do przodu. W poniższym artykule dowiecie się o jednym z...