Optymalizacja CTS

Pakiet Android Compatibility Test Suite (CTS) umożliwia obsługę milionów pojedynczych testów. Częste uruchamianie CTS na etapie tworzenia oprogramowania można skrócić czas potrzebny na przeprowadzenie tych testów.

Na tej stronie opisujemy metody, dzięki którym możesz skrócić czas wykonywania testu, oraz dowiesz się, aby zoptymalizować zasoby sprzętowe w 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 wykorzystać fragmentację, zapoznaj się z artykułem Przeprowadzanie testów CTS.

Stacja testowa Androida

Użyj Stacja testowa Androida (ATS) Wykorzystanie interfejsu do uruchamiania standardowych zestawów testów na Androida. To narzędzie działa jako interfejs internetowy dla Federacji Handlowej (TF). Umożliwia uruchamianie testów 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, za pomocą którego jeden host kontrolera ATS może zarządzać urządzeniami i testami na wielu hostach instancji roboczych 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 błędów w testach mogą być szybko zidentyfikowano, co oszczędza znaczną część czasu potrzebnego na sklasyfikowanie i analizę korzeni. 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 jest dostępny w narzędziu CTS Androida. 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% łą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 np. przeprowadzasz CTS co 2 tygodnie (lub rzadziej) w trakcie programowanie, na podstawie harmonogramu aktualizacji oprogramowania możesz wykluczyć tę kategorię dla kilku cykli.

Możesz na przykład uruchomić CtsDeqpTestCases oddzielnie na zbiorze urządzeń i prześlij raporty dotyczące 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

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 testowe:

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

Rozważ przeprowadzenie testów multimediów lokalnie lub na lokalnym serwerze. Więcej informacji: Lokalne przeprowadzanie testów multimediów CTS

Platforma multimedialna i jej sterowniki (dekodery i kodery) stanowią część systemu Android (BSP). Możesz strategicznie uruchamiać ten moduł i wykluczać te moduły przez kilka cykli na podstawie harmonogramu aktualizacji oprogramowania.