Testowanie platformy Android

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:

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