Compatibility Test Suite (CTS) – Übersicht

Die Compatibility Test Suite (CTS) ist eine kostenlose Testsuite und eine Reihe von Tools, mit denen Sie sicherstellen können, dass Ihre Geräte mit Android kompatibel sind. CTS soll in Ihren täglichen Workflow integriert werden, z. B. über ein Continuous-Build-System. Das CTS wird auf einem Computer ausgeführt und führt Tests direkt auf angeschlossenen Geräten oder in einem Emulator aus. Eine Übersicht über die Android-Kompatibilität finden Sie unter Android-Kompatibilitätsprogramm – Übersicht.

Automatisierte CTS-Tests

Abbildung 1: Automatisierte CTS-Tests.

Abbildung 1 zeigt den Prozess der Ausführung automatisierter CTS-Tests:

  1. Laden Sie das CTS herunter und installieren Sie es. In diesem Schritt müssen Sie auch die Testumgebung, die Testarbeitsstation und das zu testende Gerät oder Testgerät (DUT) einrichten.
  2. Automatisierte CTS-Tests ausführen.
  3. Ergebnisse speichern und prüfen
  4. Beheben Sie Probleme und führen Sie die Tests noch einmal aus.

Mit dem CTS können Sie Inkompatibilitäten frühzeitig erkennen und dafür sorgen, dass Ihre Android-Implementierungen während des gesamten Entwicklungsprozesses kompatibel bleiben.

CTS-Komponenten

Das CTS enthält die folgenden Hauptkomponenten:

Handelsföderation
Ein Test-Harness und ein Test-Framework ermöglichen die automatisierte Ausführung von Tests.
Automatisierte CTS-Tests
Tests, die das Trade Federation-Framework verwenden und mit dem Trade Federation-Test-Harness ausgeführt werden können.
CTS‑Prüfung (CTS‑V)
Tests, die manuell ausgeführt werden müssen.
CTS Verifier-App (CTS-V)
Eine App, mit der CTS-V-Tests durchgeführt und CTS-V-Testergebnisse erfasst werden.
Testlauf

Ein einzelner Test, der auf dem zu prüfenden Gerät ausgeführt wird. Automatisierte Testläufe werden in Java als JUnit-Tests geschrieben und als Android-APK-Dateien verpackt, um auf dem Zielgerät ausgeführt zu werden.

Testläufe können Unittests oder funktionale Tests sein. Bei einem Unittest werden atomare Codeeinheiten innerhalb der Android-Plattform getestet. Ein Einheitentest kann beispielsweise eine einzelne Android-Klasse testen.

Bei einem Funktionstest wird eine Kombination aus Methoden und Klassen für einen bestimmten Anwendungsfall ausgeführt.

Testkonfiguration

Eine bestimmte Gruppe automatisierter Tests, die auf dem zu testenden Gerät ausgeführt werden. Testkonfigurationen sind XML-Dateien, die sich unter WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config befinden. Es gibt Testkonfigurationen, die alle automatisierten Testläufe enthalten, und Testkonfigurationen, die nur eine Teilmenge der Testläufe enthalten.

Testmodul

Eine Testkonfiguration, die aus einer Sammlung von Testläufen für denselben Funktionsbereich besteht.

Test plan

Eine Testkonfiguration, die aus einer Sammlung von Testmodulen besteht.

Testabdeckung

Die Testläufe decken die folgenden Bereiche ab, um die Kompatibilität zu gewährleisten:

Area Beschreibung
Signaturtests Für jede Android-Version gibt es XML-Dateien, in denen die Signaturen aller öffentlichen APIs beschrieben werden, die in der Version enthalten sind. Das CTS enthält ein Dienstprogramm, mit dem diese API-Signaturen mit den auf dem Gerät verfügbaren APIs verglichen werden können. Die Ergebnisse der Signaturprüfung werden in der XML-Datei mit den Testergebnissen aufgezeichnet.
Plattform-API-Tests Testen Sie die APIs der Plattform (Kernbibliotheken und Android Application Framework) wie im Klassenindex des SDK dokumentiert, um die Richtigkeit der APIs zu gewährleisten. Dazu gehören korrekte Klassen-, Attribut- und Methodensignaturen, korrektes Methodenverhalten und Negativtests, um das erwartete Verhalten bei der Verarbeitung falscher Parameter zu gewährleisten.
Dalvik-Tests Die Tests konzentrieren sich auf das Testen des ausführbaren Dalvik-Formats.
Plattformdatenmodell Das CTS testet das Datenmodell der Kernplattform, das Anwendungsentwicklern über Contentanbieter zur Verfügung gestellt wird, wie im SDK-Paket android.provider (einschließlich Kontakte, Browser und Einstellungen) dokumentiert.
Plattform-Intents Mit den CTS-Tests werden die Core-Plattform-Intents getestet, die im SDK unter Häufig verwendete Intents dokumentiert sind.
Plattformberechtigungen Das CTS testet die Berechtigungen der Kernplattform, wie im SDK  Manifest.permission dokumentiert.
Plattformressourcen Die CTS-Tests für die korrekte Verarbeitung der Kernplattform-Ressourcentypen sind in der Übersicht über Ressourcentypen des SDK dokumentiert. Die CTS-Tests umfassen Tests für einfache Werte, Drawables, Nine-Patch, Animationen, Layouts, Stile und Themes sowie das Laden alternativer Ressourcen.

Nächste Schritte

Nachdem Sie dieses Dokument gelesen haben, fahren Sie mit CTS einrichten fort.