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. CTS wird auf einem Desktopcomputer 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. Probleme beheben und Tests noch einmal ausführen

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-Testharness ausgeführt werden können.
CTS Verifier-Tests (CTS-V)
Tests, die manuell ausgeführt werden müssen.
CTS Verifier-App (CTS-V)
Eine App, die zum Durchführen von CTS-V-Tests und zum Erfassen von CTS-V-Testergebnissen verwendet wird.
Testlauf

Ein einzelner Test, der auf dem DUT 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 Funktionstests 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:

Region 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 Parameterbehandlung 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, wie es Anwendungsentwicklern über Contentanbieter zur Verfügung gestellt wird. Dies ist im SDK-Paket android.provider (einschließlich Kontakte, Browser und Einstellungen) dokumentiert.
Plattform-Intents Das CTS testet die Core-Plattform-Intents, wie im SDK unter Häufig verwendete Intents beschrieben.
Plattformberechtigungen Die CTS-Tests prüfen die Berechtigungen der Kernplattform, wie im SDK  Manifest.permission dokumentiert.
Plattformressourcen Die CTS-Tests prüfen die korrekte Verarbeitung der Kernplattform-Ressourcentypen, wie in der Übersicht über SDK-Ressourcentypen dokumentiert. Die CTS-Tests umfassen Tests für einfache Werte, Drawables, Nine-Patch-Bilder, 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.