Optymalizacja CTS

Pakiet testów zgodności z Androidem (CTS) zawiera miliony pojedynczych testów. Chociaż częste przeprowadzanie testów CTS jest niezbędne w fazie tworzenia oprogramowania, można skrócić czas potrzebny na ich wykonanie.

Na tej stronie opisujemy metody, których możesz użyć, aby skrócić czas wykonywania testów, oraz sposoby optymalizacji zasobów sprzętowych w tym procesie.

Dzielenie urządzeń na partycje

Aby skrócić czas trwania cyklu, rozważ uruchomienie CTS na kilku urządzeniach (fragmentacja). Informacje o tym, jak można używać dzielenia na partycje, znajdziesz w sekcji Uruchamianie testów CTS.

Stanowisko testowe Androida

Użyj Android Test Station (ATS), aby za pomocą interfejsu użytkownika uruchamiać standardowe zestawy testów Androida. To narzędzie jest interfejsem internetowym Trade Federation (TF), który umożliwia uruchamianie CTS przy minimalnej konfiguracji na zestawie urządzeń testowych, a także ustalanie harmonogramu ciągłego przeprowadzania testów.

Stanowisko testowe 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 roboczych ATS.

Ciągłe działanie emulatora

Aby uruchamiać CTS w sposób ciągły w fazie programowania, można używać wirtualnych urządzeń z Androidem (AVD) jako zamiennika sprzętu. Regresje niepowodzeń testów można wykryć na wczesnym etapie, co pozwala zaoszczędzić dużo czasu potrzebnego na analizę przyczyn źródłowych i określenie priorytetów. Wielu instancji emulatora można używać do dzielenia na fragmenty i można je zaplanować tak, aby działały nieprzerwanie na stacji testowej Androida.

Program jakości drawElements (dEQP)

drawElementsProgram jakości (dEQP) jest częścią pakietu Android CTS. Ten program, zwany CtsDepqTestCases, koncentruje się na pokryciu testami grafiki na Androidzie. Ten moduł stanowi prawie 80% wszystkich przypadków testowych w Android CTS i 6% całkowitego czasu wykonania.

Sterowniki graficzne Androida są częścią oprogramowania układowego Androida (BSP) i nie zmieniają się zbytnio w trakcie rozwoju, 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 na podstawie harmonogramu aktualizacji oprogramowania.

Jedną z opcji jest uruchomienie CtsDeqpTestCases oddzielnie na zestawie urządzeń, 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

Host 2:

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

Elementy testowania multimediów

Testy multimediów weryfikują usługi multimedialne, takie jak audio, wideo i sterowniki multimediów. Te moduły testowe multimediów 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;
  • Ponawianie nieudanych przypadków testowych.

Pakiet CTS na Androida zawiera te moduły testowe:

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

Rozważ przeprowadzenie testów multimediów lokalnie lub na serwerze lokalnym. Więcej informacji znajdziesz w artykule Uruchamianie lokalnych testów multimediów w CTS.

Platforma multimedialna i jej sterowniki (dekodery i kodery) są częścią oprogramowania Androida (BSP). Możesz strategicznie uruchamiać ten moduł i wykluczać go na kilka cykli na podstawie harmonogramu aktualizacji oprogramowania sprzętowego.