Ogólna jakość aplikacji

Ostatnia aktualizacja: 17 maja 2021 r.

Aby ocenić jakość aplikacji, warto przejść przez wszystkie procesy w aplikacji i ocenić płynność i bezpieczeństwo korzystania z niej.

Ta lista kontrolna zawiera zestaw podstawowych kryteriów jakości i powiązanych z nimi testów, które pomogą Ci ocenić jakość aplikacji. Niektóre z tych kryteriów mogą być łatwe do przeoczenia, a testy pomogą Ci pamiętać o uwzględnieniu ich w planach testów.

Lista kontrolna zawiera minimalne wymagania jakościowe, które powinny spełniać wszystkie aplikacje. Testowanie prawdopodobnie wykracza poza to, co opisano tutaj.

Każdy element na liście kontrolnej jakości ma unikalny identyfikator, który może być przydatny podczas komunikacji z zespołem. Możesz też wyświetlić poprzednią wersję tych wytycznych.

Wrażenia wizualne

Aplikacja powinna mieć standardowy wygląd i jednolity, intuicyjny sposób obsługi.

Obszar ID Testy Opis
Nawigacja VX-N1 CR-3 Aplikacja obsługuje standardową nawigację za pomocą przycisku Wstecz i nie korzysta z żadnych niestandardowych komunikatów „Wstecz” na ekranie.
VX-N2 CR-3 Aplikacja obsługuje nawigację gestami, która umożliwia powrót i przejście do ekranu głównego.
VX-N3 CR-1
CR-3
CR-5

Aplikacja prawidłowo zachowuje i przywraca stan użytkownika lub aplikacji.

Aplikacja zachowuje dane użytkownika lub stan aplikacji po wyjściu z pierwszego planu i nie zapobiega przypadkowej utracie danych z powodu przejścia wstecz oraz innych zmian stanu.

Po powrocie na pierwszy plan aplikacja powinna przywrócić zachowany stan i wszystkie istotne transakcje stanowe, które były w toku. Dotyczy to m.in. zmian w polach edytowalnych, postępów w grze, menu, filmów i innych sekcji aplikacji lub gry.

  1. Gdy aplikacja jest wznawiana z poziomu selektora ostatnich aplikacji, użytkownik wraca do stanu, w jakim aplikacja była ostatnio używana.
  2. Gdy aplikacja zostanie wznowiona po wybudzeniu urządzenia ze stanu uśpienia (zablokowania), użytkownik wróci do stanu, w którym aplikacja była ostatnio używana.
  3. Gdy aplikacja zostanie ponownie uruchomiona z ekranu głównego lub z sekcji Wszystkie aplikacje, powinna wykonać jedną z tych czynności w zależności od tego, ile czasu minęło od jej ostatniego użycia:
    • Jeśli aplikacja była ostatnio używana niedawno (kilka minut temu), przywróć jej stan jak najbardziej zbliżony do poprzedniego.
    • Jeśli od ostatniego użycia aplikacji minęło więcej czasu, spróbuj przywrócić ją do stanu jak najbardziej zbliżonego do poprzedniego lub uruchom ją z poziomu ekranu głównego lub innego stanu domyślnego.
Powiadomienia VX-S1 CR-9

Powiadomienia są zgodne z wytycznymi dotyczącymi projektu. W szczególności:

  1. Powiadomienia nie są używane do promocji krzyżowej ani reklamowania innego produktu, ponieważ jest to surowo zabronione w Sklepie Play.
  2. Kanały powiadomień są definiowane zgodnie z najlepszymi praktykami, a nie w taki sposób, aby wszystkie powiadomienia były wysyłane z jednego kanału.
  3. wybieranie odpowiedniego priorytetu powiadomienia;
  4. W miarę możliwości wiele powiadomień jest układanych w jednej grupie powiadomień.
  5. W odpowiednich przypadkach ustaw limity czasu powiadomień.
  6. Powiadomienia są trwałe tylko wtedy, gdy dotyczą bieżących wydarzeń, takich jak odtwarzanie muzyki lub rozmowa telefoniczna. Więcej informacji znajdziesz w sekcji Funkcje.
VX-S2 CR-9

W przypadku aplikacji do przesyłania wiadomości, aplikacji społecznościowych i rozmów:

  1. Używaj powiadomień MessagingStyle w przypadku rozmów.
  2. Obsługuj bezpośrednie odpowiadanie.
  3. Obsługuj skróty do rozmów i wdrażaj sprawdzone metody, aby uzyskać najlepszą pozycję w rankingu udostępniania bezpośredniego.
  4. Obsługa dymków.
Interfejs i grafika VX-U1 CR-5

Aplikacja obsługuje orientację poziomą i pionową oraz złożone i rozłożone urządzenie.

Orientacje i stany złożenia oferują zasadniczo te same funkcje i działania oraz zachowują równoważność funkcjonalną.

VX-U2 CR-5

Aplikacja wypełnia okno w obu orientacjach i nie ma czarnych pasków z powodu zmian konfiguracji, w tym składania i rozkładania urządzenia.

Niewielkie letterboxingi, które kompensują niewielkie różnice w geometrii ekranu, są dopuszczalne.

VX-U3 CR-5 Aplikacja prawidłowo obsługuje szybkie przełączanie między orientacjami wyświetlacza oraz składanie i rozkładanie urządzenia bez problemów z renderowaniem wyświetlacza i bez utraty stanu.
Jakość obrazu VX-V1 CR-all

Aplikacja wyświetla grafikę, tekst, obrazy i inne elementy interfejsu bez zauważalnych zniekształceń, rozmycia lub pikselizacji.

  1. Aplikacja powinna w miarę możliwości używać grafiki wektorowej.
  2. Aplikacja zapewnia wysokiej jakości grafikę dla wszystkich docelowych rozmiarów ekranu i rodzajów urządzeń.
  3. Na krawędziach menu, przycisków i innych elementów interfejsu nie widać wygładzania krawędzi.
VX-V2 CR-all

Aplikacja wyświetla tekst i bloki tekstu w sposób akceptowalny dla każdego z obsługiwanych języków.

  1. Kompozycja jest akceptowalna we wszystkich obsługiwanych formatach.
  2. Nie widać uciętych liter ani słów.
  3. Nie widać nieprawidłowego zawijania w przycisku ani ikonie.
  4. Między tekstem a elementami otoczenia jest wystarczająca ilość miejsca.
VX-V3 CR-all Treści aplikacji i wszystkie treści internetowe, do których odwołuje się aplikacja, obsługują ciemny motyw.
Ułatwienia dostępu VX-A1 CR-all

Docelowe elementy dotykowe powinny mieć rozmiar co najmniej 48 dp. Więcej informacji

VX-A2 CR-all

Tekst i elementy pierwszego planu w aplikacji powinny mieć wystarczająco wysoki współczynnik kontrastu z tłem:

  • 3,0:1 w przypadku dużego tekstu lub grafiki.
  • 4, 5:1 w przypadku małego tekstu (tekst mniejszy niż 18 punktów lub tekst pogrubiony mniejszy niż 14 punktów);

Dowiedz się więcej o kolorach i kontraście.

VX-A3 CR-all Opisz każdy element interfejsu, z wyjątkiem TextView, używając contentDescription.

funkcje.

Aplikacja powinna działać zgodnie z oczekiwaniami.

Obszar ID Testy Opis
Audio FN-A1 CR-1
CR-8
Dźwięk jest wznawiany, gdy aplikacja wraca na pierwszy plan, lub informuje użytkownika, że odtwarzanie jest wstrzymane.
FN-A2 CR-1
CR-2
CR-8
Jeśli odtwarzanie dźwięku jest podstawową funkcją, aplikacja powinna obsługiwać odtwarzanie w tle.
FN-A3 CR-0

Gdy użytkownik rozpocznie odtwarzanie dźwięku, aplikacja powinna w ciągu sekundy wykonać jedną z tych czynności:

  1. Zacznij odtwarzać dźwięk.
  2. Zapewnij wizualny wskaźnik, że dane audio są przygotowywane.
FN-A4 CR-0 Aplikacja powinna wysyłać żądanie skupienia dźwięku, gdy rozpoczyna się odtwarzanie dźwięku, i rezygnować ze skupienia dźwięku, gdy odtwarzanie się zatrzymuje.
FN-A5 CR-0 Aplikacja powinna obsługiwać żądania innych aplikacji dotyczące uzyskania fokusu audio. Na przykład aplikacja może zmniejszyć głośność odtwarzania, gdy inna aplikacja odtwarza mowę.
Multimedia FN-M1 CR-0
CR-6
CR-8
Jeśli aplikacja odtwarza dźwięk w tle, musi utworzyć powiadomienie ze stylem MediaStyle.
FN-M2 CR-0 Jeśli aplikacja odtwarza filmy, powinna obsługiwać odtwarzanie w trybie obraz w obrazie.
FN-M3 CR-0 Jeśli aplikacja koduje wideo, powinna to robić zgodnie ze standardem kompresji HEVC.
Udostępnianie FN-S1 CR-0 Podczas udostępniania treści aplikacja powinna korzystać z arkusza udostępniania Androida. Może sugerować miejsca docelowe, które są niedostępne w przypadku rozwiązań niestandardowych.
Usługa w tle FN-B1 CR-6 Aplikacja unika niepotrzebnie długiego działania usług w tle. Aby zapewnić płynne działanie urządzenia użytkownika, system stosuje różne ograniczenia dotyczące usług działających w tle. Za nieprawidłowe wykorzystanie usług w tle uznaje się:
  • Utrzymywanie połączenia sieciowego na potrzeby powiadomień
  • Utrzymywanie połączenia Bluetooth
  • Utrzymywanie włączonego GPS-u

Dowiedz się, jak wybrać odpowiednie rozwiązanie do pracy.

Wydajność i stabilność

Aplikacja powinna zapewniać wydajność, stabilność, zgodność i szybkość działania, jakich oczekują użytkownicy.

Obszar ID Testy Opis
Stabilność PS-S1 CR-all
SD-1
Aplikacja nie ulega awarii ani nie blokuje wątku interfejsu, co powoduje błędy ANR („Android nie odpowiada”). Skorzystaj z raportu przed opublikowaniem w Google Play, aby wykryć potencjalne problemy ze stabilnością. Po wdrożeniu zwróć uwagę na stronę Android Vitals w Konsoli Google Play.
Wydajność PS-P1 CR-all
SD-1
Aplikacja wczytuje się szybko lub wyświetla użytkownikowi informacje na ekranie (wskaźnik postępu lub podobny sygnał), jeśli wczytywanie trwa dłużej niż 2 sekundy.
PS-P2 CR-all
SD-1
Aplikacje powinny renderować klatki co 16 ms, aby osiągnąć 60 klatek na sekundę. Programiści mogą podczas testowania korzystać z opcji Profil renderowania HWUI. Jeśli występują problemy, dostępne są narzędzia, które pomogą Ci zdiagnozować powolne renderowanie.
PS-P3 PM-1 Jeśli tryb StrictMode jest włączony (patrz Testowanie w trybie StrictMode poniżej), podczas testowania aplikacji nie będą widoczne żadne czerwone błyski (ostrzeżenia o wydajności z trybu StrictMode). Wszelkie czerwone błyski wskazują nieprawidłowe zachowania związane z pamięcią, dostępem do sieci lub wyciekami pamięci.
Pakiet SDK PS-T1 CR-0 Aplikacja działa na najnowszej publicznej wersji platformy Android bez awarii i poważnego wpływu na podstawowe funkcje.
PS-T2 SP-1 Aplikacja jest kierowana na najnowszy pakiet SDK Androida, który jest potrzebny do spełnienia wymagań Google Play. W tym celu ustaw wartość targetSdk.
PS-T3 SP-1 Aplikacja jest tworzona przy użyciu najnowszego pakietu Android SDK przez ustawienie wartości compileSdk.
PS-T4 SP-2
SP-3
Wszystkie używane pakiety SDK Google i innych firm są aktualne. Wszelkie ulepszenia tych pakietów SDK, takie jak stabilność, zgodność czy bezpieczeństwo, powinny być udostępniane użytkownikom w odpowiednim czasie.

W przypadku pakietów SDK Google rozważ używanie pakietów SDK opartych na Usługach Google Play, jeśli są dostępne. Te pakiety SDK są wstecznie kompatybilne, otrzymują automatyczne aktualizacje, zmniejszają rozmiar pakietu aplikacji i efektywnie wykorzystują zasoby urządzenia.

Deweloper ponosi odpowiedzialność za cały kod aplikacji, w tym za wszelkie używane w niej pakiety SDK innych firm.

PS-T5 SP-3 Aplikacja nie używa interfejsów innych niż SDK.
PS-T6 SP-2 Aplikacja produkcyjna nie zawiera bibliotek debugowania. Może to powodować problemy z wydajnością i bezpieczeństwem.
Bateria PS-B1 BA-1 Aplikacja prawidłowo obsługuje funkcje zarządzania energią wprowadzone w Androidzie 6.0 (tryb uśpienia i wstrzymanie aplikacji). W przypadku gdy zarządzanie energią zakłóca działanie podstawowych funkcji, o wyjątek mogą prosić tylko kwalifikujące się aplikacje. Więcej informacji znajdziesz w sekcji Obsługa innych przypadków użycia w artykule o trybie uśpienia i trybie gotowości aplikacji.

Podczas tworzenia aplikacji deweloperzy mogą testować tryb gotowości i tryb uśpienia za pomocą tych poleceń ADB.

Aby zdiagnozować nieoczekiwane zużycie baterii, deweloperzy mogą korzystać z profilera zasilania w Android Studio lub narzędzia Battery Historian w połączeniu z zaplanowaną pracą w tle.

Prywatność i bezpieczeństwo

Aplikacja powinna przetwarzać dane użytkowników i informacje osobiste w bezpieczny sposób, z odpowiednim poziomem uprawnień.

Oprócz tej listy kontrolnej aplikacje publikowane w Sklepie Google Play muszą też być zgodne z zasadami dotyczącymi danych użytkownika, aby chronić prywatność użytkowników.

Obszar ID Testy Opis
Uprawnienia SC-P1 SC-4 Aplikacja prosi tylko o absolutnie minimalną liczbę uprawnień, które są jej potrzebne do obsługi danego przypadku użycia. W przypadku niektórych uprawnień, np. dostępu do lokalizacji, w miarę możliwości używaj przybliżonej lokalizacji zamiast dokładnej.
SC-P2

Aplikacja prosi o uprawnienia dostępu do danych wrażliwych (takich jak SMS-y, rejestr połączeń lub lokalizacja) bądź usług, które wiążą się z kosztami (takich jak dialer lub SMS-y), tylko wtedy, gdy jest to bezpośrednio związane z głównymi przypadkami użycia aplikacji. Użytkownik powinien być wyraźnie poinformowany o konsekwencjach związanych z tymi uprawnieniami.

W zależności od tego, jak korzystasz z uprawnień, może istnieć alternatywny sposób na realizację funkcji aplikacji bez dostępu do informacji poufnych. Na przykład zamiast prosić o uprawnienia związane z kontaktami użytkownika, lepiej jest poprosić o dostęp za pomocą niejawnego zamiaru.

SC-P3 CR-0 Aplikacja prosi o uprawnienia w czasie działania w kontekście, gdy wymagana jest dana funkcja, a nie z góry podczas uruchamiania.
SC-P4 CR-0

Aplikacja jasno wyjaśnia, dlaczego potrzebuje określonych uprawnień, lub postępuje zgodnie z zalecanym procesem wyjaśniania, dlaczego potrzebuje uprawnień.

SC-P5 CR-0 Gdy użytkownicy odmówią przyznania uprawnień lub je cofną, aplikacja powinna działać w ograniczonym zakresie. Aplikacja nie powinna całkowicie uniemożliwiać użytkownikowi dostępu do niej.
Dane i pliki SC-DF1 SC-1 Wszystkie dane wrażliwe są przechowywane w pamięci wewnętrznej aplikacji.
SC-DF2 SC-10 W logu systemowym ani w logu aplikacji nie są rejestrowane żadne dane osobowe ani poufne użytkowników.
SC-DF3 Aplikacja nie używa do identyfikacji niepodlegających resetowaniu identyfikatorów sprzętowych, takich jak IMEI.
Tożsamość SC-ID1 CR-0 Aplikacja podpowiada dane do autouzupełniania danych logowania do kont i innych informacji poufnych, takich jak dane karty kredytowej, adres i numer telefonu.
SC-ID2 CR-0 Zintegruj Menedżera danych logowania na Androida, aby zapewnić bezproblemowe logowanie, które ujednolica obsługę kluczy dostępu, tożsamości federacyjnej i tradycyjnych haseł.
SC-ID3 CR-0 Aplikacja obsługuje uwierzytelnianie biometryczne, które chroni transakcje finansowe i informacje wrażliwe, takie jak ważne dokumenty użytkownika.
Komponenty aplikacji SC-AC1 SC-5

Aplikacja ustawia atrybut android:exported jawnie dla wszystkich aktywności, usług, odbiorników transmisji,a zwłaszcza dostawców treści.

Eksportowane są tylko te komponenty aplikacji, które udostępniają dane innym aplikacjom lub powinny być wywoływane przez inne aplikacje.

SC-AC2 CR-0
SC-4

Wszystkie intencje i transmisje są zgodne ze sprawdzonymi metodami:

  1. Używaj intencji jawnych, jeśli aplikacja docelowa jest dobrze zdefiniowana.
  2. Używaj intencji, aby przekazywać uprawnienia do innej aplikacji, która już je ma.
  3. Bezpieczne udostępnianie danych między aplikacjami
  4. Intencje zawierające ładunek są weryfikowane przed użyciem.
  5. Jeśli musisz przekazać intencję do innej aplikacji, aby aplikacja odbierająca mogła wywołać wywołanie zwrotne w aplikacji wywołującej, nie umieszczaj zagnieżdżonej intencji w dodatkach. Użyj intencji PendingIntent.
  6. Podczas konfigurowania intencji PendingIntent w odpowiednich przypadkach wyraźnie ustaw flagę niezmienności.
SC-AC3 SC-3 Wszystkie komponenty, które udostępniają treści między aplikacjami, używają android:protectionLevel="signature" do uprawnień niestandardowych. Obejmuje to aktywności, usługi, odbiorniki transmisji, a zwłaszcza dostawców treści.

Aplikacje nie powinny polegać na dostępie do listy zainstalowanych pakietów. Dostęp został ograniczony od Androida 11.

Sieć SC-N1 SC-9 Cały ruch sieciowy jest przesyłany przez SSL.
SC-N2 SC-6 Aplikacja deklaruje ustawienia bezpieczeństwa sieci.
SC-N3 Jeśli aplikacja korzysta z Usług Google Play, dostawca zabezpieczeń jest inicjowany przy uruchamianiu aplikacji.
Komponenty WebView SC-W1 SC-6 Do uzyskiwania dostępu do treści lokalnych nie używaj metody setAllowUniversalAccessFromFileURLs(). Zamiast niego używaj klasy WebViewAssetLoader.
SC-W2 SC-7 Komponenty WebView nie powinny używać metody addJavascriptInterface() w przypadku niezaufanych treści.

Na Androidzie 6.0 i nowszych używaj kanałów wiadomości HTML.

Realizacja SC-E1 Aplikacja nie ładuje dynamicznie kodu spoza pliku APK. Deweloperzy powinni używać pakietów Android App Bundle, które obejmują Play Feature DeliveryPlay Asset Delivery.

Od sierpnia 2021 r. używanie pakietów Android App Bundle jest obowiązkowe w przypadku wszystkich nowych aplikacji w Sklepie Google Play.

Kryptografia SC-C1 Aplikacja korzysta z silnych algorytmów kryptograficznych udostępnianych przez platformę oraz generatora liczb losowych. Aplikacja nie implementuje też algorytmów niestandardowych.

Google Play

Upewnij się, że Twoje aplikacje mogą być publikowane w Google Play.

Obszar ID Testy Opis
Zasady GP-P1 GP-all Aplikacja ściśle przestrzega warunków zasad Google Play dotyczących treści dla deweloperów i nie zawiera nieodpowiednich treści, nie wykorzystuje własności intelektualnej ani marki innych osób itp.
GP-P2 GP-1 Poziom dojrzałości aplikacji jest ustawiony prawidłowo zgodnie z wytycznymi dotyczącymi oceny treści.
Strona szczegółów aplikacji GP-D1 GP-1
GP-2

Grafika wyróżniająca aplikacji jest zgodna z wytycznymi podanymi w tym artykule pomocy. Upewnij się, że:

  1. Informacje o aplikacji zawierają wysokiej jakości grafikę.
  2. Grafika nie zawiera obrazów urządzeń, zrzutów ekranu ani małego tekstu, który będzie nieczytelny po zmniejszeniu i wyświetleniu na najmniejszym ekranie, na którym ma działać aplikacja.
  3. Grafika nie przypomina reklamy.
GP-D2 GP-1 Zrzuty ekranu i filmy z aplikacji nie przedstawiają urządzeń innych niż Android ani nie odwołują się do nich.
GP-D3 GP-1 Zrzuty ekranu lub filmy z aplikacji nie wprowadzają użytkowników w błąd co do jej zawartości i działania.
Pomoc dla użytkowników GP-X1 GP-1 Typowe błędy zgłaszane przez użytkowników na karcie Opinie na stronie Google Play są rozwiązywane, jeśli można je odtworzyć i występują na wielu różnych urządzeniach. Jeśli błąd występuje tylko na kilku urządzeniach, nadal należy go rozwiązać, jeśli są one szczególnie popularne lub nowe.

Konfigurowanie środowiska testowego

Aby skonfigurować środowisko testowe na potrzeby tej listy kontrolnej, zalecamy wykonanie tych czynności:

  • Skupienie na testowaniu w emulatorze – Android Emulator to świetny sposób na testowanie aplikacji w różnych wersjach Androida i rozdzielczościach ekranu. Skonfiguruj emulowane urządzenia (AVD), aby odzwierciedlały najpopularniejsze formaty i kombinacje sprzętu i oprogramowania w przypadku docelowej grupy użytkowników. Oprócz testowania na telefonach zalecamy też testowanie na innych urządzeniach przy użyciu tych emulatorów co najmniej:
    • Urządzenia składane – 7,6-calowy ekran składany do wewnątrz z wyświetlaczem zewnętrznym (w Menedżerze AVD jest to wymienione w sekcji telefonów).
    • Tablet – Pixel C 9,94 cala (2560 x 1800 pikseli).
    • W przypadku testowania powiadomień z aplikacji mobilnej sparuj urządzenie mobilne lub emulator z emulatorem Wear OS – Wear OS Round 1, 84”.
  • Urządzenia – środowisko testowe powinno obejmować niewielką liczbę rzeczywistych urządzeń, które reprezentują kluczowe formaty oraz kombinacje sprzętu i oprogramowania dostępne obecnie dla konsumentów. Nie musisz testować aplikacji na każdym urządzeniu dostępnym na rynku. Skup się na niewielkiej liczbie reprezentatywnych urządzeń, nawet jeśli będzie to 1–2 urządzenia w przypadku każdego rodzaju urządzenia.
  • Laboratoria testów urządzeń – możesz też korzystać z usług innych firm, takich jak Laboratorium Firebase, aby testować aplikację na większej liczbie urządzeń.
  • Testuj najnowszą wersję Androida – oprócz testowania reprezentatywnych wersji Androida dla docelowej bazy użytkowników zawsze testuj najnowszą wersję Androida (obecnie Androida 14). Dzięki temu najnowsze zmiany w działaniu nie będą negatywnie wpływać na wrażenia użytkowników.

Bardziej szczegółowe wskazówki dotyczące testowania, w tym testów jednostkowych, integracyjnych i interfejsu, znajdziesz w artykule Podstawy testowania na Androidzie.

Procedury testowe

Te procedury testowe pomagają wykrywać różne rodzaje problemów z jakością aplikacji. Możesz łączyć testy lub integrować grupy testów w ramach własnych planów testów. W sekcjach powyżej znajdziesz odniesienia, które łączą kryteria z tymi procedurami testowymi.

Typ Test Opis
Core Suite CR-0

Przejdź do wszystkich części aplikacji – wszystkich ekranów, okien dialogowych, ustawień i wszystkich ścieżek użytkownika.

  1. Jeśli aplikacja umożliwia edytowanie lub tworzenie treści, granie w gry lub odtwarzanie multimediów, przetestuj te funkcje.
  2. Podczas testowania aplikacji wprowadzaj zakłócenia z innych aplikacji, np. odbieraj powiadomienia lub połączenia telefoniczne, i wprowadzaj tymczasowe zmiany w atrybutach urządzenia, takich jak łączność sieciowa, działanie baterii, dostępność GPS-u i obciążenie systemu.
  3. Wprowadzanie i testowanie wszystkich ścieżek zakupów w aplikacji
CR-1 Na każdym ekranie aplikacji naciśnij przycisk ekranu głównego urządzenia lub przesuń palcem w górę w nawigacji gestami, a następnie ponownie uruchom aplikację na ekranie Wszystkie aplikacje.
CR-2 Na ekranie każdej aplikacji przełącz się na inną uruchomioną aplikację, a następnie wróć do testowanej aplikacji za pomocą przełącznika Ostatnie.
CR-3 Na każdym ekranie aplikacji (i w oknach dialogowych) naciśnij przycisk Wstecz lub wykonaj gest cofania.
CR-5 Na każdym ekranie aplikacji obróć urządzenie co najmniej 3 razy z orientacji poziomej do pionowej i z powrotem oraz z pozycji złożonej do rozłożonej i z powrotem.
CR-6 Przełącz się na inną aplikację, aby przenieść aplikację testową w tle. Otwórz Ustawienia i sprawdź, czy aplikacja testowa ma jakieś usługi działające w tle. Na urządzeniach z Androidem 4.0 lub nowszym otwórz ekran Aplikacje i znajdź aplikację na karcie „Uruchomione”.
CR-7 Naciśnij przycisk zasilania, aby uśpić urządzenie, a następnie naciśnij go ponownie, aby wybudzić ekran.
CR-8 Skonfiguruj blokadę ekranu na urządzeniu. Naciśnij przycisk zasilania, aby uśpić urządzenie (co spowoduje jego zablokowanie). Następnie ponownie naciśnij przycisk zasilania, aby wybudzić ekran i odblokować urządzenie.
CR-9 Wywołaj i obserwuj w panelu powiadomień wszystkie typy powiadomień, które aplikacja może wyświetlać. Rozwiń powiadomienia (Android 4.1 i nowszy) i kliknij wszystkie dostępne działania.
CR-10 Zapoznaj się z sekcją Obsługa innych przypadków użycia w trybie uśpienia i wstrzymania aplikacji.
Instalacja na karcie SD SD-1 Powtórz krok Core Suite z aplikacją zainstalowaną na karcie SD urządzenia (jeśli aplikacja obsługuje tę metodę instalacji).

Aby przenieść aplikację na kartę SD, otwórz Ustawienia > Informacje o aplikacji > Przenieś na kartę SD.

Wydajność i stabilność SP-1 Sprawdź plik manifestu Androida i konfigurację kompilacji, aby upewnić się, że aplikacja jest kompilowana z użyciem najnowszego dostępnego pakietu SDK (targetSdkcompileSdk).
SP-2 Sprawdź plik build.gradle, aby znaleźć przestarzałe zależności.
SP-3 Użyj narzędzia lint w Android Studio, aby wykryć użycie interfejsu innego niż SDK. Istnieją też inne alternatywne metody testowania.
Monitorowanie wydajności PM-1 Powtórz test Core Suitewłączonym profilowaniem w trybie StrictMode.

Zwróć szczególną uwagę na odśmiecanie i jego wpływ na wygodę użytkownika.

Bateria BA-1 Powtórz Core Suite w cyklach Uśpienia i Czuwania aplikacji.

Zwróć szczególną uwagę na alarmy, minutniki, powiadomienia, synchronizacje itp. Wymagania i wytyczne znajdziesz w artykule Testowanie z użyciem funkcji Uśpienie i Czuwanie aplikacji.

Bezpieczeństwo SC-1 Sprawdź wszystkie dane przechowywane w pamięci zewnętrznej.
SC-2 Sprawdź, jak są obsługiwane i przetwarzane dane wczytywane z pamięci zewnętrznej.
SC-3 Sprawdź wszystkich dostawców treści zdefiniowanych w pliku manifestu Androida. Sprawdź, czy każdy dostawca ma odpowiedni protectionLevel.
SC-4 Sprawdź wszystkie uprawnienia wymagane przez aplikację w pliku manifestu, w czasie działania i na ekranie ustawień aplikacji (Ustawienia > Informacje o aplikacji) na urządzeniu.
SC-5 Sprawdź wszystkie komponenty aplikacji zdefiniowane w pliku manifestu Androida, aby określić odpowiedni stan eksportu. Właściwość eksportowana musi być wyraźnie ustawiona dla wszystkich komponentów.
SC-6 Sprawdź konfigurację zabezpieczeń sieciowych aplikacji i upewnij się, że żadne testy lint nie zakończyły się niepowodzeniem.
SC-7 W każdym widoku WebView otwórz stronę, która wymaga JavaScriptu.
SC-8 W każdym komponencie WebView spróbuj przejść do witryn i treści, które nie są wczytywane bezpośrednio przez aplikację.
SC-9 Zadeklaruj konfigurację zabezpieczeń sieciowych, która wyłącza ruch nieszyfrowany, a następnie przetestuj aplikację.
SC-10 Uruchom aplikację i wypróbuj wszystkie jej główne funkcje, obserwując log urządzenia. Nie należy rejestrować żadnych prywatnych informacji o użytkownikach.
Google Play GP-1 Zaloguj się w Konsoli Google Play, aby sprawdzić swój profil dewelopera, opis aplikacji, zrzuty ekranu, grafikę promocyjną, ocenę treści i opinie użytkowników.
GP-2 Pobierz grafikę promocyjną i zrzuty ekranu, a następnie zmniejsz je, aby pasowały do rozmiarów wyświetlaczy na urządzeniach i w formach, na których chcesz wyświetlać aplikację.
GP-3 Sprawdź wszystkie zasoby graficzne, multimedia, tekst, biblioteki kodu i inne treści, które są zawarte w aplikacji lub pliku rozszerzenia.

Testowanie za pomocą StrictMode

W przypadku testów wydajności zalecamy włączenie StrictMode w aplikacji i używanie go do wykrywania operacji, które mogą wpływać na wydajność, dostęp do sieci, odczytywanie i zapisywanie plików itp. Wyszukaj potencjalnie problematyczne operacje w wątku głównym i w innych wątkach.

Zasady monitorowania poszczególnych wątków możesz skonfigurować za pomocą polecenia StrictMode.ThreadPolicy.Builder i włączyć wszystkie obsługiwane funkcje monitorowania w ThreadPolicy za pomocą polecenia detectAll().

Pamiętaj, aby włączyć powiadomienia wizualne o naruszeniach zasad w przypadku ThreadPolicy za pomocą penaltyFlashScreen().