Testowanie platformy Android

Ta zawartość jest przeznaczona dla programistów platformy Android. Zanim zrozumiesz, jak przeprowadzane są testy na platformie Android, zapoznaj się z przeglądem architektury platformy Android .

Następnie zapoznaj się z precyzyjnymi technologiami dostępnymi w tej sekcji, takimi jak Vendor Test Suite (VTS) i jego niezliczonymi samouczkami wideo i codelab .

Zwróć także uwagę na mechanizmy testowania specyficzne dla bezpieczeństwa, które umożliwiają wykrywanie i zabezpieczanie urządzeń przed lukami w zabezpieczeniach.

Aby przetestować aplikację, zacznij od Podstaw testowania i przeprowadź testowanie Androida Codelab, korzystając z dostarczonych próbek .

Na koniec pamiętaj, że podstawowe testy przed przesłaniem są dostępne za pośrednictwem Repo Hooks , które mogą uruchamiać lintery, sprawdzać formatowanie i uruchamiać testy jednostkowe przed kontynuowaniem, takie jak przesyłanie zatwierdzenia. Pamiętaj, że te zaczepy są domyślnie wyłączone. Zobacz wprowadzenie do Repo Hooks , aby uzyskać więcej informacji.

Co i jak testować

Test platformy zwykle wchodzi w interakcję z jedną lub kilkoma usługami systemu Android lub warstwami warstwy abstrakcji sprzętu (HAL), sprawdza funkcjonalność testowanego obiektu i potwierdza poprawność wyniku testu.

W związku z tym test platformy może:

  1. korzystać z interfejsów API frameworka za pośrednictwem frameworka aplikacji; określone stosowane interfejsy API mogą obejmować:
    • publiczne interfejsy API przeznaczone dla aplikacji firm trzecich
    • ukryte interfejsy API przeznaczone dla aplikacji uprzywilejowanych, czyli systemowe interfejsy API
    • prywatne interfejsy API (@hide lub protected, pakiet prywatny)
  2. bezpośrednio wywoływać usługi systemowe Androida za pośrednictwem surowego wiązania/proxy IPC
  3. bezpośrednią interakcję z warstwami HAL za pośrednictwem interfejsów API niskiego poziomu lub interfejsów IPC

Typy 1 i 2 są zazwyczaj pisane jako testy oprzyrządowania , podczas gdy typ 3 są zwykle pisane jako GTesty .

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.

Pakiet 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 u partnerów OEM i w różnych wersjach platform. Pakiet zawiera również testy oprzyrządowania i ramy GTest.

Testy CTS i platformy nie wykluczają się wzajemnie, a oto kilka ogólnych wskazówek:

  • jeśli test potwierdza poprawność funkcji/zachowań API frameworka i powinien być wymuszany przez partnerów OEM, powinien być w CTS
  • jeśli test ma na celu wyłapanie regresji podczas cyklu tworzenia platformy i może wymagać uprzywilejowanego zezwolenia do przeprowadzenia i może być zależny od szczegółów implementacji (jak podano w AOSP), powinny to być tylko testy platformowe

Pakiet 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ę przy użyciu planu VTS.

Infrastruktura testowa Federacji Handlowej

Trade Federation (w skrócie tradeded lub TF) to ciągłe środowisko testowe przeznaczone do przeprowadzania testów na urządzeniach z Androidem. TF może przeprowadzać testy funkcjonalne lokalnie, przy Twoim biurku, w kasie Twojej platformy. Istnieją dwa wymagane pliki do uruchomienia testu w TF, źródło testu Java i konfiguracja XML. Przykłady można znaleźć w plikach RebootTest.java i reboot.xml .

Debugowanie

Sekcja Debugowanie podsumowuje przydatne narzędzia i powiązane polecenia do debugowania, śledzenia i profilowania wbudowanego kodu platformy Android podczas opracowywania funkcji na poziomie platformy.