Wyjątkowa okazja na szkolenie ISTQB online - teraz tylko 999 zł netto! (najtaniej na rynku - szkolenie dofinansowane!). Zapraszamy również na 2 dniowe szkolenie API teraz tylko 459 zł!

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.

Pozostałe:

Dobry tester oprogramowania, czyli kto?

Tester oprogramowania to osoba odpowiedzialna za weryfikowanie jakości tworzonej aplikacji - pod kątem poprawności działania, ale także spełniania przyjętych na początku projektu założeń. Odpowiada za poszukiwanie luk, sprawiających, że oprogramowanie nie spełnia...

Testowanie regresywne

Każde oprogramowanie jest co jakiś czas odświeżane, rozszerzane i zmieniane. Zmiany w kodzie mogą dotyczyć wielu aspektów, m. in.: dodawania, usuwania lub modyfikowania funkcji, adaptacji oprogramowania do nowych warunków, systemów czy umożliwienia wykorzystania...

Siedem zasad testowania oprogramowania

Testowanie oprogramowania jest nieodłączną częścią procesu tworzenia oprogramowania: pozwala znaleźć błędy, luki i defekty w produkcie, zbadać jakość i wydajność oprogramowania, a także ocenić, na ile testowany system jest zgodny z zadaną specyfikacją oraz wymaganiami...

Testowanie API – wprowadzenie

Aplikacje, systemy, elementy oprogramowania potrzebują się ze sobą komunikować. Dokładnie tak jak ludzie. Komunikujemy się, aby realizować pewne rzeczy lub wymieniać się informacjami. W tym celu wykorzystujemy różne sposoby komunikacji takiej jak: gesty, słowa, pismo,...

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...