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.
Abbildung 1 : Automatisierte CTS-Tests.
Abbildung 1 zeigt den Prozess der Ausführung automatisierter CTS-Tests:
- 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).
- Führen Sie automatisierte CTS-Tests aus.
- Speichern und prüfen Sie die Ergebnisse.
- 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/configbefinden. 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.