Testowanie platformy Android

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:

  1. ć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)
  2. wywoływać usługi systemu Android bezpośrednio za pośrednictwem surowego bindera/serwerów proxy IPC
  3. 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.