Die Android Compatibility Test Suite (CTS) umfasst Millionen von einzelnen Tests. Es ist zwar erforderlich, CTS während der Softwareentwicklungsphase häufig auszuführen, aber die für die Ausführung dieser Tests erforderliche Zeit kann verkürzt werden.
Auf dieser Seite werden Methoden beschrieben, mit denen Sie die Testausführungszeit verkürzen und Hardware-Ressourcen im Prozess optimieren können.
Gemeinsam verwendete Geräte
Um die Zykluszeit zu verkürzen, können Sie den CTS auf mehreren Geräten ausführen (Sharding). Informationen zur Verwendung von Sharding finden Sie unter CTS-Tests ausführen.
Android-Teststation
Mit Android Test Station (ATS) können Sie über eine Benutzeroberfläche standardmäßige Android-Testsuiten ausführen. Dieses Tool dient als Weboberfläche für Trade Federation (TF). Damit können Sie das CTS mit minimalem Einrichtungsaufwand auf einer Reihe von Testgeräten ausführen und einen Zeitplan für die kontinuierliche Ausführung von Tests erstellen.
Die Android-Teststation unterstützt den Multi-Host-Modus, mit dem ein einzelner ATS-Controller-Host zum Verwalten von Geräten und Tests auf mehreren ATS-Worker-Hosts verwendet werden kann.
Kontinuierlicher Lauf des Emulators
Um das CTS während der Entwicklungsphase kontinuierlich auszuführen, können Android Virtual Devices (AVD) als Ersatz für Hardware verwendet werden. Regressionen von Testfehlern können frühzeitig erkannt werden, wodurch viel Zeit für die Triage und Analyse von Ursachen gespart wird. Mehrere Instanzen des Emulators können für Sharding verwendet werden und können mit der Android-Teststation so geplant werden, dass sie kontinuierlich ausgeführt werden.
drawElements Quality Program (dEQP)
Das drawElements
-Qualitätsprogramm (dEQP) ist im Android CTS enthalten. Dieses Programm mit dem Namen CtsDepqTestCases
konzentriert sich auf die Testabdeckung von Android-Grafiken. Dieses Modul macht fast 80% aller Testläufe im Android CTS aus und beansprucht 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
separat auf einer Reihe von Geräten 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
Host 2:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
Testläufe für Media
Mit Media-Testläufen werden Multimedia-Dienste wie Audio, Video und die Multimedia-Treiber überprüft. Diese Multimedia-Testmodule tragen am meisten zur CTS-Ausführungszeit bei. Es kann aus folgenden Gründen zu Verzögerungen kommen:
- Mediendateien werden heruntergeladen oder während der Tests wiederholt abgespielt.
- Fehlgeschlagene Testläufe werden wiederholt.
Das Android-CTS enthält die folgenden Testmodule:
CtsMediaStressTestCases
CtsMediaPlayerTestCases
CtsMediaAudioTestCases
CtsVideoTestCases
CtsMediaDecoderTestCases
CtsMediaCodecTestCases
CtsMediaV2TestCases
Führen Sie einige Medientests lokal oder auf einem lokalen Server aus. 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 basierend auf dem Firmware-Update-Zeitplan für mehrere Zyklen ausschließen.