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 sposób optymalizacji zasobów sprzętowych w tym procesie.

Dzielenie urządzeń na partycje

Aby skrócić czas cyklu, rozważ uruchomienie CTS na wielu urządzeniach (dzielenie). Aby dowiedzieć się, jak można używać dzielenia na partycje, zapoznaj się z sekcją 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 pakietu CTS przy minimalnej konfiguracji na zestawie urządzeń testowych, a także tworzenie 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 podczas fazy programowania, można używać wirtualnych urządzeń z Androidem (AVD) jako zamiennika sprzętu. Regresje niepowodzeń testów można wykrywać na wczesnym etapie, co pozwala zaoszczędzić dużo czasu potrzebnego na analizę przyczyn źródłowych i określenie priorytetów. Do dzielenia na fragmenty można używać wielu instancji emulatora, które można zaplanować tak, aby działały w sposób ciągły na stacji testowej Androida.

Program jakości drawElements (dEQP)

drawElementsProgram jakości (dEQP) jest częścią pakietu Android CTS. Ten program o nazwie 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 wykonywania.

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 sprzętowego.

Możesz uruchomić CtsDeqpTestCases oddzielnie na zestawie urządzeń, a następnie 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

Przypadki testowe 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 lokalnie testów multimedió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.