Optymalizacja CTS

Pakiet Compatibility Test Suite (CTS) obejmuje miliony testów. Testy CTS należy często przeprowadzać na etapie tworzenia oprogramowania, ale można skrócić czas ich wykonywania.

Ta strona zawiera opis metod skracania czasu wykonywania testów oraz sposobów optymalizacji zasobów sprzętowych wykorzystywanych w tym procesie.

Dzielenie urządzeń

Aby skrócić czas cyklu, rozważ uruchomienie CTS na wielu urządzeniach (dzielenie na fragmenty). Aby dowiedzieć się, jak można stosować dzielenie na fragmenty, zapoznaj się z artykułem Przekaż testy CTS.

Stacja testowa Androida

Użyj Android Test Station (ATS), aby uruchomić standardowe zestawy testów Androida za pomocą interfejsu użytkownika. To narzędzie działa jako interfejs internetowy dla Federacji Handlowej (TF), umożliwiając uruchamianie CTS z minimalną konfiguracją na zestawie urządzeń testowych, a także ustalanie harmonogramu ciągłego przeprowadzania testów.

Stacja testowa Androida obsługuje tryb wielu hostów, w którym jeden host kontrolera ATS może służyć do zarządzania urządzeniami i testami na wielu hostach wykonawców ATS.

Ciągłe uruchamianie emulatora

Aby stale uruchamiać CTS na etapie rozwoju, możesz użyć urządzeń wirtualnych Androida (AVD) jako zamiennika sprzętu. Regresje niepowodzeń testów można wcześnie wykrywać, oszczędzając w ten sposób czas potrzebny na ich analizę i znalezienie przyczyn. Do podziału na części można używać wielu instancji emulatora, które można zaplanować tak, aby działały nieprzerwanie w ramach stacji testowej Androida.

Program jakości drawElements (dEQP)

drawElementsProgram dEQP jest zawarty w pakiecie Android CTS. Ten program o nazwie CtsDepqTestCases koncentruje się na testowaniu pokrycia grafiki na Androida. Ten moduł obejmuje prawie 80% wszystkich testów w Android CTS i stanowi 6% całkowitego czasu wykonywania.

Sterowniki grafiki Androida są częścią oprogramowania układowego Androida (BSP) i nie zmieniają się zbytnio w trakcie procesu tworzenia, więc możesz uruchamiać ten moduł strategicznie. Jeśli na przykład podczas tworzenia oprogramowania uruchamiasz CTS co 2 tygodnie (lub rzadziej), możesz wykluczyć ten moduł na kilka cykli.

Jedną z opcji jest uruchomienie CtsDeqpTestCases osobno na wybranych urządzeniach, a następnie przesłanie raportów CTS. Na przykład na 2 różnych hostach.

Host 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

Gospodarz 2:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

Przypadki testowe dotyczące multimediów

Przypadki testowe multimediów weryfikują usługi multimedialne, takie jak dźwięk, wideo i sterowniki multimedialne. Te moduły testów multimedialnych mają największy wpływ na czas wykonywania CTS. Opóźnienia mogą wystąpić, gdy:

  • pobieranie plików multimedialnych lub wielokrotne odtwarzanie plików multimedialnych podczas testów;
  • Ponowna próba nieudanych przypadków testowych.

Pakiet Android CTS zawiera te moduły testów:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Rozważ przeprowadzenie testów multimediów lokalnie lub na lokalnym serwerze. Szczegółowe informacje znajdziesz w artykule Testowanie multimediów w CTS na komputerze.

Ramka multimedialna i jej sterowniki (dekodery i enkodery) są częścią oprogramowania wewnętrznego Androida (BSP). Możesz strategicznie uruchamiać ten moduł i wykluczać te moduły przez kilka cykli na podstawie harmonogramu aktualizacji oprogramowania układowego.