Ta treść jest przeznaczona dla programistów platformy Android. Zanim zrozumiesz, jak przeprowadzane jest testowanie na platformie Android, zapoznaj się z omówieniem architektury platformy Android .
Następnie zapoznaj się z konkretnymi technologiami dostępnymi w tej sekcji, takimi jak pakiet Vendor Test Suite (VTS) i niezliczone samouczki wideo i ćwiczenia z programowania .
Zwróć także uwagę na dostępne mechanizmy testowe specyficzne dla bezpieczeństwa , które umożliwiają wykrywanie i zabezpieczanie urządzeń przed lukami w zabezpieczeniach.
W przypadku testowania aplikacji zacznij od podstaw testowania i przeprowadź laboratorium z kodowania testowania Androida, korzystając z dostarczonych próbek .
Na koniec pamiętaj, że podstawowe testy przed przesłaniem są dostępne za pośrednictwem haków Repo , które mogą uruchamiać lintery, sprawdzać formatowanie i wyzwalać testy jednostkowe przed kontynuowaniem, np. przesłaniem zatwierdzenia. Pamiętaj, że te hooki są domyślnie wyłączone. Więcej szczegółów znajdziesz we wstępie do Repo Hooks .
Co i jak testować
Test platformy zazwyczaj wchodzi w interakcję z jedną lub większą liczbą usług systemu Android lub warstwami warstwy abstrakcji sprzętu (HAL), sprawdza funkcjonalności testowanego obiektu i potwierdza poprawność wyniku testu.
W związku z tym test platformy może:
- wykonywanie interfejsów API platformy poprzez platformę aplikacji; określone wykorzystywane interfejsy API mogą obejmować:
- publiczne interfejsy API przeznaczone dla aplikacji innych firm
- ukryte API przeznaczone dla aplikacji uprzywilejowanych, czyli systemowe API
- prywatne interfejsy API (@ukryj lub chroniony, pakiet prywatny)
- wywoływać usługi systemu Android bezpośrednio za pośrednictwem surowych serwerów proxy/IPC
- współdziałaj bezpośrednio z warstwami HAL za pośrednictwem niskopoziomowych interfejsów API lub interfejsów IPC
Typy 1 i 2 są zwykle zapisywane jako testy oprzyrządowania , podczas gdy typ 3 są zwykle zapisywane jako testy GT .
Aby dowiedzieć się więcej, zobacz nasze kompleksowe przykłady:
Zapoznaj się z tymi narzędziami, ponieważ są one nieodłącznym elementem testowania w systemie Android.
Zestaw testów zgodności (CTS)
Pakiet testów zgodności systemu Android to zestaw różnych typów testów służących do zapewnienia zgodności implementacji platformy Android u partnerów OEM i między wersjami platform. Pakiet zawiera także testy oprzyrządowania i platformę GTest.
Testy CTS i platformy nie wykluczają się wzajemnie. Oto kilka ogólnych wskazówek:
- jeśli test potwierdza poprawność funkcji/zachowań API platformy i powinien być egzekwowany u partnerów OEM, powinien znajdować się w CTS
- jeśli test ma na celu wychwytywanie regresji podczas cyklu rozwoju platformy i może wymagać uprzywilejowanych uprawnień do przeprowadzenia i może zależeć od szczegółów implementacji (opublikowanych w AOSP), powinny to być tylko testy platformy
Zestaw testów dostawców (VTS)
Vendor Test Suite (VTS) automatyzuje testowanie jądra HAL i systemu operacyjnego. Aby użyć VTS do przetestowania wbudowanej implementacji systemu Android, skonfiguruj środowisko testowe, a następnie przetestuj poprawkę, korzystając z planu VTS.
Infrastruktura testowa Federacji Handlowej
Trade Federation (w skrócie Tradefed lub TF) to framework do testów ciągłych przeznaczony do przeprowadzania testów na urządzeniach z Androidem. TF może przeprowadzić testy funkcjonalne lokalnie, przy Twoim biurku, w ramach kasy na Twojej platformie. Do uruchomienia testu w TF wymagane są dwa pliki, źródło testu Java i konfiguracja XML. Przykłady można znaleźć w plikach RebootTest.java i restart.xml .
Debugowanie
W sekcji Debugowanie podsumowano przydatne narzędzia i powiązane polecenia służące do debugowania, śledzenia i profilowania wbudowanego kodu platformy Android podczas opracowywania funkcji na poziomie platformy.