Ta treść jest skierowana do programistów platformy Android. Zanim zrozumiesz, jak przebiega testowanie na platformie Android, zapoznaj się z omówieniem architektury platformy Android .
Następnie zapoznaj się z precyzyjnymi technologiami dostępnymi w tej sekcji, takimi jak pakiet Vendor Test Suite (VTS) i jego niezliczone filmy wideo i samouczki z programowania .
Zwróć także uwagę na dostępne mechanizmy testowania zabezpieczeń , które umożliwiają wykrywanie i zabezpieczanie urządzeń przed lukami w zabezpieczeniach.
W przypadku testowania aplikacji zacznij od podstaw testowania i przeprowadź laboratorium kodowania na Androida, korzystając z dostarczonych przykładów .
Na koniec zauważ, że podstawowe testy przed przesłaniem są dostępne za pośrednictwem haków repozytorium, które mogą uruchamiać linters, sprawdzać formatowanie i uruchamiać testy jednostkowe przed kontynuowaniem, na przykład przesyłaniem zatwierdzenia. Zauważ, że te haki są domyślnie wyłączone. Więcej szczegółów znajdziesz we wstępie do haków repo .
Co i jak testować
Test platformy zazwyczaj współdziała z co najmniej jedną usługą systemu Android lub warstwami warstwy abstrakcji sprzętu (HAL), sprawdza funkcje testowanego podmiotu i potwierdza poprawność wyniku testu.
W związku z tym test platformy może:
- ćwicz interfejsy API frameworka za pośrednictwem frameworka aplikacji; konkretne używane API mogą obejmować:
- publiczne API przeznaczone dla aplikacji firm trzecich
- ukryte API przeznaczone dla uprzywilejowanych aplikacji, czyli systemowe API
- prywatne interfejsy API (@ukryj lub chronione, pakiet prywatny)
- wywoływać usługi systemu Android bezpośrednio za pośrednictwem surowego bindera/serwerów proxy IPC
- wchodzić w bezpośrednią interakcję 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łącznie związane z testowaniem w systemie Android.
Zestaw testów zgodności (CTS)
Android Compatibility Test Suite to zestaw różnych typów testów służących do zapewnienia zgodności implementacji platformy Android wśród partnerów OEM i różnych wersji platform. Pakiet zawiera również testy oprzyrządowania i framework GTest.
Testy CTS i platformy nie wykluczają się wzajemnie, a oto kilka ogólnych wskazówek:
- jeśli test potwierdza poprawność funkcji/zachowań frameworka API i powinien być egzekwowany przez partnerów OEM, powinien być w CTS
- jeśli test ma na celu wyłapanie regresji podczas cyklu rozwoju platformy i może wymagać uprzywilejowanego pozwolenia na wykonanie i może być zależny od szczegółów implementacji (zgodnie z AOSP), powinny to być tylko testy platformy
Zestaw testów dostawcy (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ę za pomocą planu VTS.
Infrastruktura testowa Federacji Handlowej
Trade Federation (tradefed lub w skrócie TF) to framework do ciągłego testowania przeznaczony do uruchamiania testów na urządzeniach z systemem Android. TF może przeprowadzać testy funkcjonalne lokalnie, przy Twoim biurku, w ramach kasy na Twojej platformie. Istnieją dwa wymagane pliki do uruchomienia testu w TF, źródło testu java i konfiguracja XML. Zobacz przykłady RebootTest.java i reboot.xml .
Debugowanie
Sekcja debugowanie zawiera podsumowanie przydatnych narzędzi i powiązanych poleceń do debugowania, śledzenia i profilowania wbudowanego kodu platformy Android podczas opracowywania funkcji na poziomie platformy.