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. Der CTS repräsentiert den "Mechanismus" der Kompatibilität.

Der CTS läuft auf einem Desktop-Rechner und führt Testfälle direkt auf angeschlossenen Geräten oder einem Emulator aus. Das CTS ist eine Reihe von Einheitentests, die so konzipiert sind, dass sie in den täglichen Arbeitsablauf (z. B. über ein kontinuierliches Build-System) der Ingenieure integriert werden können, die ein Gerät erstellen. 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 CTS Trade Federation -Testumgebung läuft auf Ihrem Desktop-Rechner und verwaltet die Testausführung. Es bietet die Möglichkeit, Tests über mehrere Devices Under Test (DUTs) hinweg zu splitten. Sie können auch die Suite-Wiederholungsfunktion verwenden, um nur die Fehler statt der vollständigen Suiten erneut zu versuchen, wodurch die Wiederholungszeit erheblich verkürzt wird.
  • Einzelne Testfälle werden auf dem DUT ausgeführt. Die Testfälle sind in Java als JUnit-Tests und gepackte Android-.apk-Dateien geschrieben, um auf dem eigentlichen Zielgerät ausgeführt zu werden.

Der Compatibility Test Suite Verifier (CTS Verifier) ​​ist eine Ergänzung zum CTS, die zum Download zur Verfügung steht. CTS Verifier bietet Tests für APIs und Funktionen, die auf einem stationären Gerät nicht ohne manuelle Eingabe getestet werden können (z. B. Audioqualität, Beschleunigungsmesser usw.).

Der CTS Verifier ist ein Werkzeug zum manuellen Testen und beinhaltet folgende Softwarekomponenten:

  • Die CTS-Verifier-App, die auf dem DUT ausgeführt wird und die Ergebnisse sammelt.

  • Die ausführbare(n) Datei(en) oder Skript(s), die auf dem Desktop-Rechner 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. Detaillierte Anweisungen finden Sie auf den Unterseiten dieses Abschnitts, beginnend mit Setup .

Arten von Testfällen

Das CTS umfasst die folgenden Arten von Testfällen:

  • Komponententests testen atomare Codeeinheiten innerhalb der Android-Plattform; zB eine einzelne Klasse wie java.util.HashMap.
  • Funktionstests testen eine Kombination von APIs zusammen in einem Anwendungsfall auf höherer Ebene.

Zukünftige Versionen des CTS werden die folgenden Arten von Testfällen enthalten:
  • Robustheitstests testen die Haltbarkeit des Systems unter Belastung.
  • Leistungstests testen die Leistung des Systems gegen definierte Benchmarks, beispielsweise das Rendern von Frames pro Sekunde.

Abgedeckte Gebiete

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

Bereich Beschreibung
Signaturtests Für jede Android-Version gibt es XML-Dateien, die die Signaturen aller öffentlichen APIs beschreiben, die in der Version enthalten sind. Der 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 festgehalten.
Plattform-API-Tests Testen Sie die APIs der Plattform (Kernbibliotheken und Android Application Framework), wie im SDK-Klassenindex dokumentiert, um die API-Korrektheit sicherzustellen, einschließlich korrekter 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.
Plattformdatenmodell Der CTS testet das Datenmodell der Kernplattform, wie es Anwendungsentwicklern durch Inhaltsanbieter zugänglich gemacht wird, wie im SDK android.provider -Paket dokumentiert: Kontakte, Browser, Einstellungen usw.
Plattformabsichten Der CTS testet die Kernplattform-Intents, wie im SDK Available Intents dokumentiert.
Plattformberechtigungen Der CTS testet die Berechtigungen der Kernplattform, wie im SDK Verfügbare Berechtigungen dokumentiert.
Plattform-Ressourcen Der CTS testet die korrekte Handhabung der Kernplattform-Ressourcentypen, wie im SDK Available Resource Types dokumentiert. Dazu gehören Tests für: einfache Werte, Drawables, Neun-Patch, Animationen, Layouts, Stile und Themen sowie das Laden alternativer Ressourcen.