Die Android Compatibility Test Suite (CTS) bietet Millionen von einzelnen Tests. Es ist zwar notwendig, CTS während der Softwareentwicklungsphase häufig auszuführen, aber die Zeit für die Ausführung dieser Tests kann verkürzt werden.
Auf dieser Seite werden Methoden beschrieben, mit denen Sie die Ausführungszeit von Tests verkürzen und die Hardwareressourcen für den Prozess optimieren können.
Geräte gemeinsam verwenden
Um die Zykluszeit zu reduzieren, sollten Sie CTS auf mehreren Geräten ausführen (Fragmentierung). Informationen zur Verwendung von Sharding finden Sie unter CTS-Tests ausführen.
Android Test Station
Mit der Android Test Station (ATS) können Sie über eine Benutzeroberfläche standardmäßige Android-Test-Suites ausführen. Dieses Tool dient als Weboberfläche für die Trade Federation (TF). So können Sie die CTS mit minimalem Aufwand auf einer Reihe von Testgeräten ausführen und einen Zeitplan für die kontinuierliche Ausführung von Tests festlegen.
Die Android-Teststation unterstützt den Multi-Host-Modus, mit dem Geräte und Tests auf mehreren ATS-Worker-Hosts über einen einzigen ATS-Controller-Host verwaltet werden können.
Kontinuierliche Ausführung des Emulators
Wenn Sie den CTS während der Entwicklungsphase kontinuierlich ausführen möchten, können Sie Android Virtual Devices (AVD) als Ersatz für Hardware verwenden. Regressionen von Testfehlern können frühzeitig erkannt werden, was viel Zeit spart, die für die Einstufung und Analyse der Grundursachen erforderlich ist. Für das Sharding können mehrere Instanzen des Emulators verwendet werden, die so geplant werden können, dass sie kontinuierlich mit der Android-Teststation ausgeführt werden.
drawElements Quality Program (dEQP)
Das drawElements
-Qualitätsprogramm (dEQP) ist in der Android CTS enthalten. Dieses Programm, das CtsDepqTestCases
heißt, konzentriert sich auf die Testabdeckung von Android-Grafik. Dieses Modul macht fast 80% aller Testfälle in Android CTS aus und entspricht 6% der gesamten Ausführungszeit.
Da die Android-Grafiktreiber Teil der Android-Firmware (BSP) sind und sich im Laufe der Entwicklung nicht wesentlich ändern, können Sie dieses Modul strategisch ausführen. Wenn Sie beispielsweise während der Softwareentwicklung alle zwei Wochen (oder seltener) CTS ausführen, können Sie dieses Modul basierend auf dem Firmware-Update-Zeitplan für mehrere Zyklen ausschließen.
Eine Möglichkeit besteht darin, CtsDeqpTestCases
auf mehreren Geräten separat auszuführen und dann die CTS-Berichte einzureichen. Zum Beispiel auf zwei verschiedenen Hosts.
Host 1:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases
Moderator 2:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
Testfälle für Medien
Mit Medientestfällen werden Multimediadienste wie Audio, Video und die Multimediatreiber geprüft. Diese Multimedia-Testmodule tragen am meisten zur CTS-Ausführungszeit bei. In folgenden Fällen kann es zu Verzögerungen kommen:
- Herunterladen von Mediendateien oder wiederholte Wiedergabe von Mediendateien während der Tests
- Fehlgeschlagene Testfälle wiederholen
Die Android CTS enthält die folgenden Testmodule:
CtsMediaStressTestCases
CtsMediaPlayerTestCases
CtsMediaAudioTestCases
CtsVideoTestCases
CtsMediaDecoderTestCases
CtsMediaCodecTestCases
CtsMediaV2TestCases
Sie können einige Medientests lokal oder auf einem lokalen Server ausführen. Weitere Informationen finden Sie unter CTS-Medientests lokal ausführen.
Das Multimedia-Framework und seine Treiber (Decoder und Encoder) sind Teil der Android-Firmware (BSP). Sie können dieses Modul strategisch ausführen und diese Module je nach Firmwareaktualisierungszeitplan für mehrere Zyklen ausschließen.