Testowanie platformy Androida

Android Open Source Project (AOSP) udostępnia kilka narzędzi i pakietów testowych do testowania różnych elementów implementacji. Przed użyciem stron w tej musisz znać następujące terminy:

Urządzenie zgodne z Androidem
Urządzenie, na którym można uruchomić dowolną aplikację innej firmy napisaną przez dewelopera za pomocą pakietu SDK na Androida i pakietu NDK. Urządzenia zgodne z Androidem muszą spełniać wymagania wymagania programu Dokument definicji zgodności (CDD) i przekazać Compatibility Test Suite (CTS). Zgodność z Androidem urządzeń mogą uczestniczyć w ekosystemie Androida, który obejmuje m.in. potencjalna licencja na Google Play, potencjalna licencja pakietu Usług mobilnych Google (GMS), aplikacji i interfejsów API oraz użycia znaku towarowego Android. Każdy jest mile widziany wykorzystują kod źródłowy Androida, ale są uważane za część ekosystemu Androida, urządzenie musi być zgodne z Androidem.
artefakt
Dziennik związany z kompilacją, który umożliwia lokalne rozwiązywanie problemów.
Dokument definicji zgodności (CDD)
Dokument z listą wymagań dotyczących oprogramowania i sprzętu do urządzenie z Androidem.
Compatibility Test Suite (CTS)

Bezpłatny komercyjny pakiet testów dostępny do pobrania jako plik binarny jako źródła w AOSP. CTS to zestaw testów jednostkowych zaprojektowanych do integracji codzienną pracę. Celem narzędzia CTS jest wykrycie niezgodności. zapewnić zgodność oprogramowania przez cały proces programowania.

Pomiar CTS i testy platformy nie wzajemnie się wykluczają. Oto kilka ogólnych wytycznymi:

  • Jeśli test ma potwierdzić poprawność funkcji lub zachowań platformy interfejsu API, a test powinien być egzekwowany u partnerów OEM, a także w klasyfikacji CTS.
  • Jeśli test ma wychwytywać regresje podczas tworzenia platformy, i mogą wymagać uprzywilejowanych uprawnień do przeprowadzenia i mogą być zależne w szczegółach implementacji (zgodnie z publikacją AOSP). Musi to być platforma test.
Usługi mobilne Google (GMS)

Zbiór aplikacji i interfejsów API Google, które można wstępnie zainstalować na urządzeniach.

Test Google (GTest)

Platforma do testowania i ściągania w C++. Zwykle pliki binarne GTest uzyskać dostęp do warstw abstrakcji niższego poziomu lub wykonać nieprzetworzony wskaźnik IPC w odniesieniu do różnych systemów usług Google. Metoda testowania w GTest jest zwykle ściśle powiązana z testowanej usługi. Tabela CTS zawiera platformę GTest.

test instrumentacji

Specjalne środowisko wykonywania testów uruchamiany przez polecenie am instrument, w którym docelowy proces aplikacji jest uruchamiany ponownie i zainicjowany z podstawowym kontekstem aplikacji, wątek instrumentacji uruchamia się w wirtualnym procesie aplikacji na komputerze. Pakiet CTS zawiera testy z instrumentacją.

LogCat

Narzędzie wiersza poleceń tworzące dziennik komunikatów systemowych, w tym ślady stosu błędów oraz komunikaty o błędach napisanych z poziomu aplikacji za pomocą klasy Log.

logowanie

Korzystanie z dziennika do śledzenia zdarzeń systemowych komputera, takich jak jako błędów. Logowanie się na urządzeniu z Androidem jest skomplikowane ze względu na połączenie standardów są łączone w narzędziu Logcat.

test po przesłaniu

Test Androida, który jest wykonywany, gdy nowa poprawka jest instalowana jaka jest wspólna gałąź jądra. Wpisanie aosp_kernel jako częściowej nazwy gałęzi pozwala może wyświetlić listę gałęzi jądra z dostępnymi wynikami. Na przykład wyniki adresu e-mail android-mainline można znaleźć na stronie https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid

test przed przesłaniem

Test, który ma zapobiegać wprowadzaniu błędów do systemu i popularnych jąder.

Federacja handlowa

Inaczej nazywany Tradefed (test ciągły). platforma zaprojektowana do przeprowadzania testów na urządzeniach z Androidem. Przykład: Tradefed służy do przeprowadzania testów Compatibility Test Suite i Vendor Test Suite.

Vendor Test Suite (VTS)

Zestaw zaawansowanych funkcji do Testowanie na Androidzie, promowanie procesu programowania nastawionego na testy i automatyzacja w warstwie abstrakcji sprzętowej (HAL) i w jądrze systemu operacyjnego.

Typy testów platform

Test platformy zwykle współdziała z co najmniej 1 systemem Android lub warstwy HAL, ćwiczy funkcji testowanego podmiotu i potwierdza ich poprawność wyniku testu. Test platformy może:

  • (Typ 1) Interfejsy API platformy do ćwiczeń przy użyciu platformy Androida. Określone interfejsy API mogą obejmować:
    • publiczne interfejsy API przeznaczone do aplikacji innych firm,
    • Ukryte interfejsy API przeznaczone dla aplikacji z podwyższonymi uprawnieniami, czyli systemowe interfejsy API, prywatne interfejsy API (@hide, lub protected, package private)
  • (Typ 2) Wywołaj usługi systemowe Androida przy użyciu nieprzetworzonego wiązania lub serwerów proxy IPC bezpośrednio.
  • (Typ 3) Interakcja bezpośrednio z listami HAL za pomocą niskopoziomowych interfejsów API lub interfejsów IPC.

Testy typu 1 i 2 to zwykle testy z narzędziami, a testów typu 3 – zwykle GTests.

Co dalej?

Oto lista dokumentów, z którymi możesz się zapoznać, aby uzyskać bardziej szczegółowe informacje: