Android-Plattformtests

Dieser Inhalt richtet sich an Entwickler von Android-Plattformen. Bevor das Verständnis , wie Tests auf der Android - Plattform durchgeführt wird, finden Sie auf der Android - Plattform - Architektur für einen Überblick.

Dann tauchen Sie ein in die genauen Techniken , die Ihnen in diesem Abschnitt, wie der Vendor Test Suite (VTS) und seinen unzähligen Video- und Codelab Tutorials .

Beachten Sie auch die sicherheitsspezifische Prüfung verfügbare Mechanismen zu erkennen und Ihre Geräte vor Schwachstellen zu härten.

Für App - Tests, mit dem Start Fundamentals of Testing und die Durchführung Android Testing Codelab die Verwendung von Proben zur Verfügung gestellt.

Schließlich ist zu beachten Grund preSubmit Testen Sie durch zur Verfügung Repo Hooks , die Linters ausführen können, überprüfen Sie die Formatierung und Trigger - Unit - Tests , bevor Sie fortfahren, wie das Hochladen ein begehen. Beachten Sie, dass diese Hooks standardmäßig deaktiviert sind. Siehe die Repo Hooks Einführung für weitere Details.

Was und wie zu testen

Ein Plattformtest interagiert normalerweise mit einem oder mehreren der Android-Systemdienste oder Hardware Abstraction Layer (HAL)-Schichten, übt die Funktionalitäten des Testobjekts aus und bestätigt die Richtigkeit des Testergebnisses.

Daher kann ein Plattformtest:

  1. Rahmen-APIs über das Anwendungs-Framework ausüben; bestimmte APIs, die ausgeübt werden, können Folgendes umfassen:
    • öffentliche APIs für Anwendungen von Drittanbietern
    • versteckte APIs für privilegierte Anwendungen, nämlich System-APIs
    • private APIs (@hide oder protected, package private)
  2. Rufen Sie Android-Systemdienste direkt über Raw-Binder/IPC-Proxys auf
  3. interagieren direkt mit HALs über Low-Level-APIs oder IPC-Schnittstellen

Typ 1 und 2 werden in der Regel als geschrieben Instrumentierung Tests , während Typ 3 in der Regel wie folgt geschrieben werden nativen Tests unter Verwendung des Gtest Rahmen.

Weitere Informationen finden Sie in unseren End-to-End-Beispielen:

Machen Sie sich mit diesen Tools vertraut, da sie für das Testen in Android unerlässlich sind.

Kompatibilitätstest-Suite (CTS)

Android Compatibility Test Suite ist eine Suite von verschiedenen Arten von Tests verwendeten Kompatibilität von Android Framework Implementierungen über OEM - Partner und über Plattform Versionen zu gewährleisten. Die Suite umfasst auch Instrumentierungstests und native Tests (auch unter Verwendung des gtest-Frameworks).

CTS- und Plattformtests schließen sich nicht gegenseitig aus, und hier sind einige allgemeine Richtlinien:

  • Wenn ein Test die Richtigkeit von Framework-API-Funktionen/-Verhalten bestätigt und bei OEM-Partnern durchgesetzt werden soll, sollte er in CTS erfolgen
  • Wenn ein Test Regressionen während des Plattformentwicklungszyklus abfangen soll und für die Durchführung möglicherweise eine privilegierte Erlaubnis erforderlich ist und von Implementierungsdetails (wie in AOSP veröffentlicht) abhängig sein kann, sollten es nur Plattformtests sein

Anbieter-Testsuite (VTS)

Der Vendor Test Suite (VTS) automatisiert HAL und OS - Kernel - Tests. Um VTS zum Testen einer nativen Android-Systemimplementierung zu verwenden, richten Sie eine Testumgebung ein und testen Sie dann einen Patch mit einem VTS-Plan.

Testinfrastruktur des Handelsverbandes

Trade Federation (tradefed oder TF kurz) ist ein kontinuierlich für Lauftests auf Android - Geräten entwickelt Test - Framework. TF kann Funktionstests lokal an Ihrem Schreibtisch innerhalb Ihres Plattform-Checkouts durchführen. Es gibt zwei erforderliche Dateien, um einen Test in TF auszuführen, eine Java-Testquelle und eine XML-Konfiguration. Siehe RebootTest.java und reboot.xml für Beispiele.

Debuggen

Der Debugging - Abschnitt fasst nützliche Tools und zugehörige Befehle für das Debugging, Tracing und Profilierungs nativen Code Android - Plattform als Plattform-Level - Funktionen zu entwickeln.