Kompatibilitätstest-Suite

Die Compatibility Test Suite (CTS) ist eine freie, handelsüblichen Test - Suite, zum Download als Binär- oder als Quelle im Android Open Source Project (AOSP) . 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. Das CTS ist 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:

  • Der CTS Trade Federation Test Harness läuft auf Ihrem Desktop-Rechner und verwaltet die Testausführung. Es bietet die Möglichkeit, Tests über mehrere Devices Under Test (DUTs) zu teilen. Sie können auch die Suite-Wiederholungsfunktion verwenden , um nur die Fehler und nicht die vollständigen Suiten zu wiederholen, wodurch die Zeit für die erneute Ausführung erheblich verkürzt wird.
  • Auf dem DUT werden einzelne Testfälle ausgeführt. Die Testfälle werden in Java als JUnit-Tests und verpackte Android-APK-Dateien geschrieben, um auf dem tatsächlichen Geräteziel ausgeführt zu werden.

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

Der CTS Verifier ist ein Tool zum manuellen Testen und umfasst folgende Softwarekomponenten:

  • Die CTS-Verifier-App, die auf dem DUT 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. 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:

  • Unit-Tests testen atomare Codeeinheiten innerhalb der Android-Plattform; zB eine einzelne Klasse, wie zum Beispiel java.util.HashMap.
  • Funktionstests testen eine Kombination von APIs gemeinsam in einem übergeordneten Anwendungsfall.

Zukünftige Versionen des CTS werden die folgenden Arten von Testfällen enthalten:
  • Robustheitstests testen die Haltbarkeit des Systems unter Belastung.
  • Performance-Tests testen die Leistung des Systems anhand definierter Benchmarks, beispielsweise beim 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 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 festgehalten.
Plattform-API-Tests Testen Sie die Plattform (Core - Bibliotheken und Android Application Framework) APIs wie im SDK dokumentierte Klasse Index API Korrektheit sicherzustellen, richtige Klasse einschließlich, Attribut und Methodensignaturen, richtige Methode Verhalten und negative Tests erwartetes Verhalten für falsche Parameter Handhabung zu gewährleisten.
Dalvik-Tests Die Tests konzentrieren sich auf das Testen des ausführbaren Dalvik-Formats.
Plattformdatenmodell Das CTS testet das Kernplattform-Datenmodell, wie es Anwendungsentwicklern durch Inhaltsanbieter offengelegt wird, wie im SDKandroid.provider- Paket dokumentiert: Kontakte, Browser, Einstellungen usw.
Plattformabsichten Das CTS testet die Kernplattform-Intents, wie im SDK Available Intents dokumentiert.
Plattformberechtigungen Der CTS testet die Kernplattformberechtigungen, wie im SDK Available Permissions dokumentiert.
Plattformressourcen Der CTS testet die korrekte Handhabung der Kernplattform-Ressourcentypen, wie im SDKAvailable Resource Types dokumentiert. Dazu gehören Tests für: einfache Werte, Drawables, Neun-Patches, Animationen, Layouts, Stile und Themen sowie das Laden alternativer Ressourcen.