Kompatibilitätstest-Suite

Die Compatibility Test Suite (CTS) ist eine kostenlose, kommerzielle Testsuite, die als Binärdatei oder als Quelle im Android Open Source Project (AOSP) heruntergeladen werden kann. Das CTS stellt den „Mechanismus“ der Kompatibilität dar.

Das CTS läuft auf einem Desktop-Rechner und führt Testfälle direkt auf angeschlossenen Geräten oder einem Emulator aus. Beim CTS handelt es sich um eine Reihe von Komponententests, die in den täglichen Arbeitsablauf (z. B. über ein kontinuierliches Build-System) der Ingenieure, die ein Gerät bauen, integriert werden sollen. Ziel ist es, Inkompatibilitäten frühzeitig aufzudecken und sicherzustellen, dass die Software während des gesamten Entwicklungsprozesses kompatibel bleibt.

Das CTS ist eine automatisierte Testsuite, die zwei Hauptsoftwarekomponenten verwendet:

  • Die Testumgebung der CTS Trade Federation läuft auf Ihrem Desktop-Computer und verwaltet die Testausführung. Es 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.
  • Einzelne 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.

Der Compatibility Test Suite Verifier (CTS Verifier) ​​ist eine Ergänzung zum CTS, die zum Download verfügbar ist. 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

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

Das 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.

Zukünftige Versionen des CTS werden die folgenden Arten von Testfällen umfassen:
  • Robustheitstests testen die Haltbarkeit des Systems unter Belastung.
  • Leistungstests testen die Leistung des Systems anhand definierter Benchmarks, beispielsweise der Wiedergabe von Bildern pro Sekunde.

Abgedeckte Gebiete

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 zugänglich gemacht 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.