Die Compatibility Test Suite (CTS) ist eine kostenlose, kommerzielle Testsuite, die von Geräteherstellern verwendet wird, um sicherzustellen, dass ihre Geräte kompatibel sind, und um Testergebnisse für Validierungen zu melden. CTS soll in den täglichen Arbeitsablauf (z. B. durch ein kontinuierliches Build-System) der Ingenieure, die ein Gerät bauen, integriert werden. Ziel von CTS ist es, Inkompatibilitäten frühzeitig aufzudecken und sicherzustellen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.
CTS kann als Binärdatei oder als Quelle im Android Open Source Project (AOSP) heruntergeladen werden. CTS läuft auf einem Desktop-Rechner und führt Testfälle direkt auf angeschlossenen Geräten oder einem Emulator aus.
CTS enthält zwei Hauptsoftwarekomponenten:
- Die Testumgebung der Trade Federation läuft auf Ihrem Desktop-Computer und verwaltet die Testausführung. Trade Federation bietet die Möglichkeit, Tests auf mehrere zu testende Geräte (Devices Under Test, DUTs) aufzuteilen . Sie können die Suite-Wiederholungsfunktion auch verwenden, um nur die Fehler und nicht die gesamten Suiten erneut zu versuchen, wodurch die Zeit für die erneute Ausführung erheblich verkürzt wird.
- Die einzelnen Testfälle werden auf dem DUT ausgeführt. Die Testfälle werden in Java als JUnit-Tests geschrieben und Android-APK-Dateien gepackt, um sie auf dem tatsächlichen Geräteziel auszuführen.
Kompatibilitätstest-Suite-Verifier (CTS-Verifier)
Der Compatibility Test Suite Verifier (CTS Verifier) ist eine Ergänzung zu CTS, die zum Download verfügbar ist. Der CTS Verifier bietet Tests für APIs und Funktionen, die auf einem stationären Gerät ohne manuelle Eingabe (z. B. Audioqualität und Beschleunigungsmesser) oder manuelle Positionierung nicht getestet werden können.
Der CTS Verifier ist ein Tool zum manuellen Testen und umfasst folgende Softwarekomponenten:
Die CTS Verifier-App, die auf dem DUT (und auf einem zweiten Gerät für Distanzmessanforderungen) ausgeführt wird und die Ergebnisse sammelt.
Die ausführbaren Dateien oder Skripte, die auf dem Desktop-Computer ausgeführt werden, um Daten oder zusätzliche Kontrolle für einige Testfälle in der CTS Verifier-App bereitzustellen.
Arbeitsablauf
![CTS-Fluss](https://source.android.com/static/docs/compatibility/cts/images/cts-0.png?authuser=5&hl=de)
Abbildung 1. Verwendung von CTS
Dieses Diagramm fasst den CTS-Workflow zusammen. Ausführliche Anweisungen finden Sie auf den Unterseiten dieses Abschnitts, beginnend mit der Einrichtung .
Arten von Testfällen
CTS umfasst die folgenden Arten von Testfällen:
- Unit-Tests testen atomare Codeeinheiten innerhalb der Android-Plattform; zB eine einzelne Klasse, wie java.util.HashMap.
Funktionstests testen eine Kombination von APIs zusammen in einem übergeordneten Anwendungsfall.
Unit-Test-Abdeckung
Um die Kompatibilität sicherzustellen, decken die Unit-Testfälle die folgenden Bereiche ab:
Bereich | Beschreibung |
---|---|
Signaturtests | Für jede Android-Version gibt es XML-Dateien, die die Signaturen aller in der Version enthaltenen öffentlichen APIs beschreiben. Das CTS enthält ein Dienstprogramm, um diese API-Signaturen mit den auf dem Gerät verfügbaren APIs zu vergleichen. Die Ergebnisse der Signaturprüfung werden in der Testergebnis-XML-Datei aufgezeichnet. |
Plattform-API-Tests | Testen Sie die Plattform-APIs (Kernbibliotheken und Android Application Framework) wie im SDK- Klassenindex dokumentiert, um die API-Korrektheit sicherzustellen, einschließlich korrekter Klassen-, Attribut- und Methodensignaturen, korrektem Methodenverhalten und negativer Tests, um das erwartete Verhalten bei falscher Parameterbehandlung sicherzustellen. |
Dalvik-Tests | Die Tests konzentrieren sich auf das Testen des ausführbaren Dalvik-Formats. |
Plattformdatenmodell | Das CTS testet das Kernplattform-Datenmodell, wie es Anwendungsentwicklern über Inhaltsanbieter zur Verfügung gestellt wird, wie im SDK-Paket android.provider dokumentiert: Kontakte, Browser, Einstellungen usw. |
Plattformabsichten | Das CTS testet die Kernplattformabsichten, wie im SDK Available Intents dokumentiert. |
Plattformberechtigungen | Das CTS testet die Kernplattformberechtigungen, wie im SDK Available Permissions dokumentiert. |
Plattformressourcen | Das CTS prüft die korrekte Handhabung der Kernressourcentypen der Plattform, wie im SDK Available Resource Types dokumentiert. Dazu gehören Tests für: einfache Werte, Drawables, Nine-Patch, Animationen, Layouts, Stile und Themen sowie das Laden alternativer Ressourcen. |