Optymalizacja wskaźnika CTS

Pakiet Compatibility Test Suite (CTS) obejmuje miliony testów. Chociaż testy CTS są konieczne często na etapie tworzenia oprogramowania, można skrócić czas potrzebny na przeprowadzenie testów.

Na tej stronie opisujemy metody, których możesz użyć, aby skrócić czas wykonywania testu, i jak zoptymalizować zasoby sprzętowe do procesu.

Urządzenia do fragmentacji

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 Uruchami testów 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 działanie 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 szybko zidentyfikować, oszczędzając w ten sposób czas potrzebny na podział i analizę 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)

Program jakości drawElements (dEQP) jest uwzględniony w pakiecie SDK Androida. Ten program o nazwie CtsDepqTestCases skupia się na testowaniu zasięgu grafiki na Androidzie. Moduł ten odpowiada za prawie 80% wszystkich przypadków testowych w narzędziu CTS Androida i zajmuje 6% łącznego czasu wykonywania.

Sterowniki graficzne 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.

Możesz na przykład uruchomić CtsDeqpTestCases oddzielnie na zestawie urządzeń, a potem przesłać raporty 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

Host 2:

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

Multimedialne przypadki testowania

Przypadki testowe multimediów weryfikują usługi multimedialne, takie jak dźwięk, wideo i sterowniki multimedialne. Te multimedialne moduły testowe najbardziej wpływają na czas wykonywania narzędzia CTS. Opóźnienia mogą wystąpić, gdy:

  • Pobieranie plików multimedialnych lub wielokrotne odtwarzanie plików multimedialnych podczas testów.
  • Ponawianie nieudanych prób.

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 kodeki) 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.