Testowanie platformy Android

Ta treść jest skierowana do programistów platformy Android. Przed zrozumienia jak testowanie odbywa się na platformie Android, należy zapoznać się z Androidem architektury platformy na przegląd.

Następnie zagłębić się w precyzyjnych technologii dostępnych dla Ciebie w tej sekcji, takich jak dostawcy Test Suite (VTS) i jego niezliczonych filmów i codelab samouczków .

Należy również zwrócić uwagę na bezpieczeństwo-szczegółowego badania mechanizmów dostępnych w celu wykrycia i utwardzić swoje urządzenia przed lukami.

Do testowania aplikacji, start z Podstaw Badań i przeprowadzenia Android Testing Codelab używając próbek dostarczonych.

Wreszcie, należy pamiętać, podstawowe badania presubmit jest dostępne za pośrednictwem Repo Hooks , które można uruchomić Linters, sprawdź formatowanie i testy jednostkowe spust przed przystąpieniem, takich jak przesyłanie commit. Zauważ, że te haki są domyślnie wyłączone. Zobacz Repo Haki wprowadzenie dla więcej szczegółów.

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. wykonuj frameworkowe API poprzez framework 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 / 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ą zazwyczaj pisane jako testów pomiarowych , natomiast typ 3 są zazwyczaj pisane jako rodzimych testów z wykorzystaniem numeru GTEST ramy.

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 test kompatybilności Suite to zestaw różnych rodzajów testów, stosowanych w celu zapewnienia zgodności implementacji ramowych Android całej partnerów OEM, a po drugiej stronie wydaniach platformy. Pakiet zawiera również testy instrumentacyjne oraz testy natywne (również z wykorzystaniem frameworka 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łapywanie 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)

Dostawcy testowy Suite (VTS) automatyzuje HAL i OS kernel testowania. Aby użyć VTS do testowania implementacji natywnego systemu Android, skonfiguruj środowisko testowe, a następnie przetestuj poprawkę za pomocą planu VTS.

Infrastruktura testowa Federacji Handlowej

Federacja Handlowa (tradefed lub TF w skrócie) jest ciągłym ramy Test przeznaczony do uruchamiania testów na urządzeniach z systemem Android. TF może przeprowadzać testy funkcjonalne lokalnie, przy Twoim biurku, w ramach kasy Twojej platformy. Istnieją dwa wymagane pliki do uruchomienia testu w TF, źródło testu java i konfiguracja XML. Zobacz RebootTest.java i reboot.xml przykłady.

Debugowanie

Debugowanie sekcja podsumowuje użytecznych narzędzi i powiązane polecenia do debugowania, śledzenie i profilowanie kodu natywnego platformy Android przy opracowywaniu możliwości platformy poziomie.