Testowanie mobilności wymaga kilku zupełnie nowych zasad, które różnią sie od standardów testowania aplikacji desktopowych. Poznaj kontekst wytwarzania, metody testowania oraz same idee testowe:
- Model wytwarzania aplikacji mobilnych zazwyczaj jest zwinny. Unika nadmiaru specyfikacji, a czas od wytworzenia do dostarczenia produktu jest bardzo krótki. Dopasuj się do tego modelu: redukuj przypadki testowe i testuj eksploracyjnie.
- Poznaj swojego użytkownika. Czy wiesz jak, dlaczego, po co i w jakich okolicznościach używa twojej aplikacji? Świadomość pozwoli Ci lepiej zdefiniować testy.
- Poznaj środowisko pracy użytkownika. System operacyjny, dostawcę sprzętu czy rozdzielczności ekranu, np. https://gs.statcounter.com/platform-market-share/desktop-mobile-tablet
- Poznaj zalety i wady systemów operacyjnych, na jakich działają aplikacje.
- Poznaj reguły projektowania dla danego systemu operacyjnego, np. https://developer.android.com/design
- Sprawdź jak aplikacja zachowuje się przy zdarzeniach wywołanych przez środowisko lub otoczenie aplikacji, np. przychodzące połączenie, włączenie dzwonka, niski stan naładowania baterii.
- Nigdy nie będziesz miał w swoim środowisku testowym wszystkich telefonów świata, ze wszystkimi wersjami systemów operacyjnych. Nigdy nie będzięsz miał komfortu testowania aplikacji w różnych sieciach bezprzewodowych, różnych operatorów i przy dziesiątkach zdarzeń jakie mogą się przydarzyć użytkownikom twojej aplikacji. Rozważ crowdsourcing, oparty głównie na płaceniu użytkownikom za znalezione błędy, lub crowdcasting, oparty o konkurs, w którym osoba, która wykona najlepszą pracę testeską, zgarnia główną nagrodę.
- Pilnuj reguł użyteczności dla aplikacji mobilnych: ilości treści, łatwości nawigacji, itd.
- Sprawdź, czy testowana aplikacja integruje się z innymi aplikacjami smartfonu, takimi jak usługa lokalizacji, wykonywanie połączeń, itp.
- Sprawdż aplikację przy przejściu między punktami dostępowymi (z jednego wifi do drugiego, z wifi do sieci komórkowej, itp.).
- Sprawdź optymalizację aplikacji względem użycia zasobów, które zazwyczaj są mocno ograniczone. Pamiętaj o "energożerności" aplikacji, wykorzystaniu procesora, czy też łącza internetowego.
- Sprawdź stronę mobilną w przeglądarce używając wbudowanych walidatorów, np. przy użyciu narzędzi programistycznych w Chromie.
- Automatyzuj na poziomie samego wytwarzania aplikacji już w testach jednostkowych.
- Pamiętaj o "wejściach": wbudowana klawiatura (klawisze i przyciski), dotykowy ekran (gesty i wprowadzanie tekstu), synchronizacja z innymi urządzeniami, urządzenia peryferyjne, które możesz wetknąć do smartfona.
To oczywiście tylko wierzchołek testów do zaprojektowania i wiedzy do przyswojenia. Podpowiedz w komentarzach, na co jeszcze warto zwrócić uwagę.
*) artykuł powstał w 2012 roku, a w 2021 został zaktualizowany