Testy wydajności aplikacji mobilnych
⚡ Inteligentne podsumowanie
Testowanie wydajności aplikacji mobilnych mierzy szybkość uruchamiania się aplikacji, zużycie baterii i pamięci, szybkość reakcji interfejsów API i płynność działania aplikacji w sieciach o niskiej niezawodności.
W przypadku każdej aplikacji mobilnej wydajność ma kluczowe znaczenie. Jeśli Twoja aplikacja mobilna nie działa dobrze, użytkownik końcowy ją odinstaluje i poszuka innej, która działa lepiej.
Twoja aplikacja mobilna musi zostać dokładnie przetestowana przed udostępnieniem jej użytkownikowi końcowemu.
Strategia testowania aplikacji mobilnych
Wydajność aplikacji na telefonie komórkowym lub innym urządzeniu inteligentnym jest zazwyczaj mierzona w następujących trzech kategoriach.
- Wydajność urządzenia
- Wydajność serwera/interfejsu API
- Wydajność sieci
Poniższy diagram przedstawia mapowanie tych trzech warstw na ich kontrole.
Wydajność urządzenia
Kiedy klient zauważa, że aplikacja działa wolno, zaczyna się irytować.
Aby sprawdzić wydajność urządzenia, należy sprawdzić następujące elementy:
- Uruchomienie aplikacji: Ile czasu zajmuje uruchomienie Twojej aplikacji? Jest to pierwszy parametr wydajności oceniany przez użytkownika. Z reguły po dotknięciu ikony aplikacji pierwszy ekran powinien zostać wyświetlony w ciągu 1-2 sekund.
- Czas pracy baterii podczas korzystania z aplikacji: Przy ciągłym użytkowaniu niektóre aplikacje mobilne zużywają dużo energii baterii i nagrzewają telefon. Dzieje się tak zazwyczaj, gdy aplikacja zużywa więcej zasobów niż potrzeba, co obciąża procesor.
- Zużycie pamięci: Kiedy Testy aplikacji, należy sprawdzić zużycie pamięci przez aplikację. Implementując pewne funkcjonalności w aplikacji, zwiększa się również zużycie pamięci. Na przykład w Android aplikacje, gdy zaimplementowano powiadomienia push, zwiększa się zużycie pamięci.
W niektórych przypadkach zaobserwowano, że zużycie pamięci przez cały system operacyjny wynosi zaledwie 14%, ale nowa aplikacja zużywa 11%. Dlatego też przed wdrożeniem aplikacji w świecie rzeczywistym lub przekazaniem jej klientowi należy uwzględnić te czynniki.
- Różnice w sprzęcie/oprogramowaniu: Podczas testowania aplikacji mobilnej obowiązkowe jest sprawdzenie aplikacji na różnych urządzeniach. Może się zdarzyć, że aplikacja będzie działać płynnie na jednym urządzeniu, ale nie na innym. Podobnie jak w przypadku różnych dostawców Android urządzeniach, możemy sprawdzić aplikację na telefonach Samsung, HTC i Lenovo. Podobnie aplikację należy przetestować z różnymi specyfikacjami pamięci RAM i procesorem, np. 1 GB lub 2 GB.
- Użycie z innymi aplikacjami: Gdy testowana aplikacja działa równolegle z innymi aplikacjami, nie powinno być żadnych zakłóceń. Najlepszym sposobem, aby to sprawdzić, jest zmiana testowanej aplikacji i innych aplikacji.
- Aplikacja w tle: Po odzyskaniu aplikacji działającej w tle powinna ona pozostać w tym samym stanie, co poprzednio. Jeśli ten scenariusz nie zostanie obsłużony prawidłowo, dane zostaną utracone. Powiązane przypadki cyklu życia opisano w testowanie przerwań.
Wydajność serwera/interfejsu API
Gdy aplikacja komunikuje się z serwerem za pośrednictwem API, czas reakcji staje się krytyczny dla wydajności. Aby sprawdzić wydajność serwera, należy sprawdzić:
- Dane do i z serwera: Aplikacja powinna sprawnie obsługiwać dane przesyłane z serwera. Ładowanie danych nie powinno zajmować zbyt wiele czasu. W niektórych aplikacjach dane są przesyłane w określonym formacie, dlatego przed wyświetleniem w aplikacji należy je przekonwertować na odpowiedni format. W wyniku tego procesu aplikacje czasami działają wolniej, a czas reakcji wydłuża się.
- Wywołania API generowane z aplikacji: Liczba wywołań z testowanej aplikacji do serwera wygenerowanych z aplikacji powinna być mniejsza. W niektórych przypadkach dla tej samej funkcjonalności wykonuje się wiele wywołań API. Aby uzyskać lepszą wydajność, należy to obsłużyć przy mniejszej liczbie połączeń.
- Czas przestoju serwera: Z jakiegokolwiek powodu, jeśli serwer jest niedostępy lub nie działa, możemy zapisać dane w natywnej bazie danych. Dzięki temu, gdy serwer jest niedostępy, możemy wyświetlić dane przechowywane w natywnej bazie danych. Innym rozwiązaniem mogą być serwery bazy danych w trybie failover, tzn. jeśli jeden z serwerów jest niedostępy lub znajduje się w fazie konserwacji, serwer zapasowy powinien być dostępny do przełączenia. Serwer failover/zapasowy powinien być w ciągłej replikacji i synchronizacji z serwerem głównym.
Wydajność sieci
Należy zmierzyć wydajność aplikacji w różnych sieciach i właściwości sieci.
Aby sprawdzić wydajność sieci, należy sprawdzić następujące rzeczy.
- Trema: Opóźnienie w odbiorze informacji w sieci nazywa się drganiami. Jest to problem związany z sieciami bezpołączeniowymi lub sieciami z przełączaniem pakietów. Ponieważ informacja jest rozdzielana w pakiety, pakiety mogą podróżować różną ścieżką od nadawcy do odbiorcy. Kiedy dane docierają do zamierzonej lokalizacji, są szyfrowane w porównaniu z tym, jakie zostały pierwotnie wysłane. W przypadku Jittersa aplikacja mobilna powinna sobie z tym poradzić.
Musisz wyświetlić odpowiednie powiadomienia użytkownikowi końcowemu, prosząc go o ponowne wysłanie żądania lub zaczekanie na odpowiedź systemu.
- Utrata pakietów: W przypadku całkowitej utraty pakietu aplikacja powinna być w stanie ponownie wysłać żądanie informacji lub powinna odpowiednio wygenerować alerty. Jeśli dane nie są kompletne, użytkownik nie będzie w stanie zrozumieć informacji wyświetlanych w aplikacji. Może to być dla użytkownika stresujące. Dlatego lepiej jest wyświetlić odpowiedni komunikat lub poprosić użytkownika o ponowną próbę.
- Szybkość sieci: Aplikacja musi zostać przetestowana w różnych sieciach o zmiennej prędkości. Należy ją przetestować w sieciach 3G, 4G i 5G. Dotyczy to zarówno sieci Wi-Fi, jak i sieci komórkowych. Należy również monitorować działanie aplikacji, zwłaszcza gdy obie sieci są dostępne, a nastąpiło przełączenie między nimi.
Na przykład, podczas przełączania sieci telefonicznej z 4G na Wi-Fi i odwrotnie, aplikacja może napotkać problem. W takim przypadku aplikacja przestaje reagować i może wymagać ponownego uruchomienia.
Rozwiązywanie problemów z wydajnością aplikacji mobilnych
Po wykryciu problemów/problemów podczas Test wydajności. Nadszedł czas traci popraw błędy.
Problem 1) Opóźnienie lub powolna reakcja aplikacji mobilnej.
Przyczyną tego opóźnienia może być pamięć RAM, pamięć podręczna itp.
Musisz zabić niepotrzebne procesy lub wyczyścić pamięć podręczną. Rozwiązywanie problemów z łącznością może rozwiązać niektóre problemy powodujące opóźnienia
Problem 2) Ponowne uruchamianie aplikacji, blokowanie się, zawieszanie się lub brak reakcji.
Można to naprawić, wykonując niektóre z poniższych czynności
- Optymalizacja kodów aplikacji
- Oprogramowanie należy załatać i zaktualizować.
- Automatyczne przywracanie
- Zarządzanie pamięcią RAM lub w niektórych przypadkach pamięcią ROM podczas korzystania z kart zewnętrznych
- Wiping partycjonowanie pamięci podręcznej
- Sprawdzanie, czy aplikacja działa z aplikacjami i interfejsami API innych firm
- Mapaping aplikacja mobilna według urządzenia
Przydatne narzędzia do testowania aplikacji mobilnych
Narzędzia do testowania aplikacji mobilnych różnią się w zależności od urządzenia lub mobilnego systemu operacyjnego. Niektóre popularne narzędzia do testowania wydajności aplikacji mobilnych to
ANDROID
- Robotium To jest po prostu jak Selenium dla aplikacji mobilnych. Tester może nagrać i odtworzyć kilka kroków wymaganych do przeprowadzenia testu.
- Biegacz Małp MonkeyRunner może uruchamiać testy na rzeczywistych urządzeniach podłączonych do komputera PC lub emulatorów. Narzędzie posiada API, które umożliwia sterowanie smartfonem, tabletem lub emulatorem z zewnątrz Android kod.
⚠️ Uwaga dotycząca wersji: Obie Android wpisy są starsze. Robotium nie miał żadnej premiery od 2016 roku i Google oznacza MonkeyRunner jako nieobsługiwany, wskazując zespołom na UI Automator i jego przeglądarka uiautomatorviewer zamiast tego inspektor.
APPLE
- Automat (Mac) Automator to aplikacja opracowana przez firmę Apple dla macOSImplementuje tworzenie przepływów pracy metodą „wskaż i kliknij” (lub „przeciągnij i upuść”), aby zautomatyzować powtarzające się zadania i scalić je w partie, co pozwala na szybszą modyfikację. Oszczędza to czas i wysiłek w porównaniu z ręczną interwencją człowieka w każdym pliku z osobna.
Wyzwania
Do kluczowych wyzwań stojących przed testowaniem wydajności należą:
- Organizowanie różnych platform mobilnych i ich systemów operacyjnych
- Symulacja łączności 3G, 4G, 5G lub Wi-Fi itp.
- Ograniczenia urządzeń mobilnych, takie jak zużycie baterii i zasobów
- Użyteczność telefonu komórkowego
- Różne rozmiary urządzeń mobilnych do uruchamiania tej samej aplikacji
Skonfiguruj środowisko testowe wydajności aplikacji mobilnej
Aby skonfigurować środowisko testowe, musisz:
- Zrozumienie aplikacji mobilnej, którą należy przetestować
- Identyfikacja różnych systemów operacyjnych, na których aplikacja musi działać
- Budowanie konfiguracji testowej
- Zbuduj emulatory lub symulatory
- Prototyping rzeczywistej konfiguracji
- Wybór odpowiedniego narzędzia do testów
Lista kontrolna testowania wydajności aplikacji mobilnej
Testowanie wydajności aplikacji mobilnych jest ważnym krokiem przed ich wydaniem. Testowanie wydajności ma na celu sprawdzenie
- Ile pamięci RAM jest wymagane do korzystania z tej aplikacji?
- Aby zweryfikować szybkość i czas reakcji aplikacji w różnych sieciach i okolicznościach.
- Zapewnij realistyczne wrażenia użytkownika w różnych warunkach sieciowych
- Upewnij się, że wymagane wyniki zostały osiągnięte w przypadku wielu połączeń
- Upewnij się, że aplikacja nie ulegnie awarii.
- Zapewnienie dobrego działania aplikacji mobilnych podczas korzystania z danych, Wi-Fi lub innej łączności
- Monitorowanie czasu pracy i wąskich gardeł w korzystaniu z mobilnego API
- Aby zapewnić maksymalną liczbę jednoczesnych użytkowników
- Na koniec sprawdzenie aplikacji mobilnej do granic jej możliwości

