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.
|
|
| Powiadomienia | VX-S1 | CR-9 | Powiadomienia są zgodne z wytycznymi dotyczącymi projektu. W szczególności:
|
| VX-S2 | CR-9 | W przypadku aplikacji do przesyłania wiadomości, aplikacji społecznościowych i rozmó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.
|
| VX-V2 | CR-all | Aplikacja wyświetla tekst i bloki tekstu w sposób akceptowalny dla każdego z obsługiwanych języków.
|
|
| 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:
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:
|
|
| 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ę:
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 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:
|
|
| 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 Delivery i Play 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:
|
| 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.
|
| 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 (targetSdk i compileSdk).
|
| 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 Suite z włą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().