Compatibility Test Suite (CTS) – Übersicht

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

Automatisierte CTS-Tests

Abbildung 1 : Automatisierte CTS-Tests.

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

  1. Laden Sie die CTS herunter und installieren Sie sie. Dieser Schritt umfasst auch die Einrichtung der Testumgebung, der Testarbeitsstation und des Geräts, das Sie testen, oder des zu testenden Geräts (device under test, DUT).
  2. Führen Sie automatisierte CTS-Tests aus.
  3. Speichern und prüfen Sie die Ergebnisse.
  4. Beheben Sie Probleme und führen Sie die Tests noch einmal aus.

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

CTS-Komponenten

Die CTS enthält die folgenden Hauptkomponenten:

Trade Federation
Ein Test-Harness und ein 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üfungstests (CTS-V)
Tests, die manuell ausgeführt werden müssen.
CTS-Prüfungs-App (CTS-V)
Eine App zum Ausführen von CTS-V-Tests und zum Erfassen von CTS-V-Testergebnissen.
Testfall

Ein einzelner Test, der auf dem DUT ausgeführt wird. Automatisierte Testfälle werden in Java als JUnit-Tests geschrieben und als Android-APK-Dateien verpackt, um auf dem Zielgerät ausgeführt zu werden.

Testfälle können Einheitentests oder Funktionstests sein. Bei einem Einheitentest werden einzelne Codeeinheiten innerhalb der Android-Plattform getestet. Ein Einheitentest kann beispielsweise eine einzelne Android-Klasse testen.

Bei einem Funktionstest wird eine Kombination von Methoden und Klassen verwendet, die für einen bestimmten Anwendungsfall verwendet werden.

Testkonfiguration

Eine bestimmte Gruppe automatisierter Tests, die auf dem DUT ausgeführt werden. Testkonfigurationen sind XML-Dateien, die sich in WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config befinden. Es gibt Testkonfigurationen, die alle automatisierten Testfälle enthalten, und Testkonfigurationen, die eine Teilmenge von Testfällen enthalten.

Testmodul

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

Testplan

Eine Testkonfiguration, die aus einer Sammlung von Testmodulen besteht.

Testabdeckung

Testfälle decken die folgenden Bereiche ab, um die Kompatibilität sicherzustellen:

Bereich Beschreibung
Signaturtests Für jede Android-Version gibt es XML-Dateien, in denen die Signaturen aller öffentlichen APIs beschrieben sind, die in der Version enthalten sind. Die 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) gemäß der Dokumentation im SDK Klassenindex um die Richtigkeit der APIs zu gewährleisten. Dazu gehören korrekte Klassen-, Attribut- und Methodensignaturen, korrektes Methodenverhalten und negative Tests, um das erwartete Verhalten bei falscher Parameterbehandlung sicherzustellen.
Dalvik-Tests Die Tests konzentrieren sich auf das Testen des ausführbaren Dalvik-Formats.
Plattform-Datenmodell Die CTS testet das Kern-Datenmodell der Plattform, wie es Anwendungsentwicklern über Contentanbieter zur Verfügung gestellt wird. Die Dokumentation dazu finden Sie im SDK android.provider Paket (einschließlich Kontakte, Browser und Einstellungen).
Plattform-Intents Die CTS testet die Kern-Intents der Plattform, wie sie im SDK Allgemeine Intents dokumentiert sind.
Plattformberechtigungen Die CTS testet die Kernberechtigungen der Plattform, wie sie im SDK Manifest.permission dokumentiert sind.
Plattformressourcen Die CTS testet die korrekte Verarbeitung der Kernressourcentypen der Plattform, wie sie im SDK Übersicht über Ressourcentypen dokumentiert sind. Die CTS-Tests umfassen Tests für Werte, Drawables, Nine-Patch, Animationen, Layouts, Stile und Designs sowie das Laden alternativer Ressourcen.

Nächste Schritte

Lesen Sie nach dieser Seite den Artikel Set up CTS.