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:
- 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)
- bezpośrednio wywoływać usługi systemowe Androida za pośrednictwem surowego wiązania/proxy IPC
- 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.