Die Compatibility Test Suite (CTS) ist eine kostenlose Testsuite und ein Tool für kommerzielle Zwecke, mit denen Sie prüfen können, ob Ihre Geräte mit Android kompatibel sind. CTS soll in Ihren täglichen Workflow eingebunden werden, z. B. über ein kontinuierliches Build-System. 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.
Abbildung 1: Automatisierte CTS-Tests
Abbildung 1 zeigt den Ablauf der Ausführung automatisierter CTS-Tests:
- Laden Sie CTS herunter und installieren Sie es. Dazu gehört auch die Einrichtung der Testumgebung, der Teststation und des zu testenden Geräts, also des Testgeräts (Device Under Test, DUT).
- Automatisierte CTS-Tests ausführen
- Ergebnisse speichern und prüfen
- Beheben Sie Probleme und führen Sie die Tests noch einmal aus.
Mit 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
CTS umfasst 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 Verifier (CTS-V)-Tests
- Tests, die manuell ausgeführt werden müssen.
- CTS Verifier (CTS-V) App
- Eine App, mit der CTS-V-Tests durchgeführt und CTS-V-Testergebnisse erfasst werden.
- Testfall
Ein einzelner Test, der auf dem DUT ausgeführt wird. Automatisierte Testfälle werden in Java als JUnit-Tests geschrieben und in Android-APK-Dateien verpackt, um auf dem Zielgerät ausgeführt zu werden.
Testfälle können Unittests oder Funktionstests sein. Ein Unit-Test prüft atomare Codeeinheiten auf der Android-Plattform. Ein einzelner Android-Klasse kann beispielsweise mit einem solchen Test geprüft werden.
Ein Funktionstest prüft eine Kombination von Methoden und Klassen, die für einen bestimmten Anwendungsfall verwendet werden.
- Testkonfiguration
Eine bestimmte Reihe automatisierter Tests, die auf dem DUT 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 Testfälle und Testkonfigurationen enthalten, die eine Teilmenge der Testfälle enthalten.- Testmodul
Eine Testkonfiguration, die eine Sammlung von Testfällen für denselben Funktionsbereich enthält.
- Test plan
Eine Testkonfiguration, die aus einer Sammlung von Testmodulen besteht.
Testabdeckung
Die Testfälle umfassen die folgenden Bereiche, um die Kompatibilität zu gewährleisten:
Standort | Beschreibung |
---|---|
Signaturtests | Für jede Android-Version gibt es XML-Dateien, die die Signaturen aller öffentlichen APIs in der Version beschreiben. Der 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 Unterschriftsprü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 Klassenindex des SDKs, um die API-Richtigkeit zu überprüfen, einschließlich korrekter Klassen-, Attribut- und Methodensignaturen, korrektem Methodenverhalten und negativen Tests, um das erwartete Verhalten bei falscher Parameterbehandlung sicherzustellen. |
Dalvik-Tests | Der Schwerpunkt liegt auf dem Testen des Dalvik-Ausführbaren-Formats. |
Plattformdatenmodell | Im CTS wird das Kerndatenmodell der Plattform getestet, das Entwicklern von Anwendungen über Contentanbieter zur Verfügung gestellt wird, wie im SDK-Paket
android.provider (einschließlich Kontakte, Browser und Einstellungen) dokumentiert. |
Plattformabsichten | Im CTS werden die Hauptplattform-Intents getestet, die im SDK unter Häufig verwendete Intents beschrieben sind. |
Plattformberechtigungen | Der CTS prüft die wichtigsten Plattformberechtigungen, wie im SDK
Manifest.permission dokumentiert. |
Plattformressourcen | Der CTS prüft die korrekte Verarbeitung der Hauptressourcentypen der Plattform, wie in der Übersicht über Ressourcentypen des SDK dokumentiert. Die CTS-Tests umfassen Tests für einfache Werte, Drawables, Nine-Patch-Grafiken, Animationen, Layouts, Stile und Themen sowie das Laden alternativer Ressourcen. |
Nächste Schritte
Lesen Sie dieses Dokument und fahren Sie dann mit CTS einrichten fort.