Często zadawane pytania dotyczące CTS

Program zgodności z systemem Android to kluczowy czynnik zapewniający utrzymanie pozytywnych opinii na temat ekosystemu Androida. CTS jest kluczowym narzędziem zapewniającym jakość zgodności w skali. Zespół Androida stale udoskonala narzędzie CTS i zasięg testów. Regularne dodawanie przypadków testowych znacznie poprawia jakość kompatybilnych urządzeń.

Ogólne pytania

W tej sekcji znajdują się ogólne często zadawane pytania dotyczące CTS.

Jakiego rodzaju rzeczy testuje CTS?

Test CTS sprawdza, czy wszystkie obsługiwane interfejsy API systemu Android o silnych typach są obecne i działają poprawnie. CTS testuje także inne zachowania systemowe inne niż API, takie jak cykl życia i wydajność aplikacji.

Jak licencjonowany jest CTS?

CTS jest objęty tą samą licencją Apache Software License 2.0, z której korzysta większość systemów Android.

Czy kodeki są weryfikowane przez CTS?

Tak. Wszystkie obowiązkowe kodeki są weryfikowane przez CTS.

Pytania specyficzne dla testu

W tej sekcji znajdują się często zadawane pytania, które pomagają efektywniej przeprowadzać testy CTS.

Jaka jest różnica między fragmentowaniem CTS a fragmentowaniem TF?

CTS Sharding i TF Sharding to zupełnie różne plany testów oparte na innej bazie kodu infrastruktury testowej. Chociaż polecenie uruchomienia jest takie samo w różnych wersjach, wynik fragmentowania zachowuje się inaczej. CTS Sharding statycznie przypisuje przypadki testowe do testowanych urządzeń (DUT) w następujący sposób:

TF Sharding dynamicznie przypisuje przypadki testowe do dostępnych DUT w następujący sposób:

Czego oczekuje się od urządzenia obsługującego wiele interfejsów ABI?

Urządzenie musi przejść wszystkie testy CTS i CTS Verifier dla każdego trybu ABI, który rzekomo obsługuje. Dlatego konieczne jest wykonanie aplikacji dla poszczególnych ABI. Wytyczne dotyczące wielu ABI są następujące:

  • W przypadku CTS i CTS Verifier dostępne są wersje ARM i x86 dla każdej architektury. Każdy z nich może obsługiwać tryb 32- lub 64-bitowy.
  • W przypadku testów CTS, jeśli urządzenie obsługuje zarówno ARM, jak i x86, musi uruchomić i przejść odpowiednio oba testy ARM i x86 CTS.

Zobacz CDD 3.3.1. Interfejsy binarne aplikacji dla wymagań CDD w ABI.

Czy wystarczy uruchomić test tylko na podstawowym ABI (na przykład 64 bity), aby skrócić czas wykonania testu?

Nie. Aplikacja na Androida działa w 32-bitowym lub 64-bitowym środowisku wykonawczym. Rzeczywisty kod maszynowy, ścieżka kodu i stan różnią się między 32 a 64. Jeśli pominiesz jeden tryb, pokryjesz tylko 50% ABI urządzenia.

Dlaczego tak wiele przypadków testowych jest zgłaszanych jako niewykonane?

Powinieneś sprawdzić numer modułu wykonany zamiast numeru niewykonany .

W poprzednich wersjach moduły CTS były zgłaszane jako moduł wykonany zbyt intensywnie przed ukończeniem. W związku z tym zgłoszono liczbę wykonanych modułów bez ukończenia wszystkich przypadków testowych, nawet jeśli na niektórych urządzeniach wystąpiły problemy. Nowa wiązka testowa jest bardziej konserwatywna i w przypadku wystąpienia problemu zgłasza większą liczbę testów niewykonanych .

Moduł uruchomiony do zakończenia raportuje , że moduł nie został wykonany podczas ostatniego wywołania (done="false") w raporcie podczas następujących czynności:

  • Uruchomienie testowe modułu zostało przerwane z powodu problemu z połączeniem urządzenia.
  • Nie wszystkie oczekiwane przebiegi testowe modułu zostały wykonane.
  • Ponawiano próbę (używając opcji -r/--retry ) z dodatkowymi opcjami filtrowania, takimi jak:

    • --include-filter
    • --filtr wykluczenia
    • -t/--test (opcja nie jest jeszcze obsługiwana przy ponownej próbie)
    • --retry-type nie powiódł się
    • --podplan

Aby uzyskać dla tych modułów stan Moduł gotowy (done="true"), spróbuj ponownie wykonać następujące czynności w przypadku ostatniego wywołania:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Moduł wykonany bez żadnych problemów wymienionych wcześniej (nawet przy 0 pozostałych testach) jest w nowym raporcie oznaczony jako Moduł gotowy .

Wyjątki

  • W CtsNNAPITestCases występuje znany problem wynikający z ograniczeń argumentów w systemie Linux/OS. Moduł można uruchomić ponownie w izolacji, bezpośrednio run cts -m CtsNNAPITestCases .

Jak uniknąć niepowodzeń w przygotowaniu testu za zaporą korporacyjną?

Wszystkie zautomatyzowane zestawy testów próbują pobrać pliki multimedialne CTS lub pliki logiki biznesowej w czasie wykonywania. W wielu środowiskach korporacyjnych typowym rozwiązaniem jest zapora sieciowa i serwer proxy, co powoduje, że przygotowanie testu kończy się niepowodzeniem. Wykonaj następujący wiersz lub dodaj go do .profile (w systemie Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Czy potrzebuję karty SIM do CTS for Secure Element?

To, czy do testu potrzebna jest karta SIM, zależy od zrozumienia, czy dana funkcja jest obsługiwana w urządzeniu testowym.

  • Jeśli Twoje urządzenie NIE musi obsługiwać aplikacji na Androida uzyskujących dostęp do bezpiecznych elementów – albo w UICC (np. karcie SIM) dystrybuowanym przez operatorów sieci komórkowych (operatorów), albo wbudowanym w urządzenie – możesz skonfigurować manifest HIDL tak, aby nie zawierał element HAL android.hardware.secure_element . W tym przypadku funkcja API android.se.omapi.SEService.getReaders() zgłasza pustą listę, a test CTS automatycznie przechodzi pomyślnie i zgłasza pozytywny wynik dla CTS.
  • Jeśli Twoje urządzenie MUSI obsługiwać aplikacje na Androida uzyskujące dostęp do bezpiecznych elementów – albo w UICC (np. karcie SIM) dystrybuowanych przez operatorów sieci komórkowych (operatorów), albo wbudowanych w urządzenie – musisz odpowiednio zaimplementować bezpieczny element i przetestować go w domu. Test CTS dla bezpiecznego elementu opisuje, jak przygotować się do uruchomienia testów CTS, które zapewniają funkcjonalność pakietu API android.se.omapi dodanego w systemie Android 9. Zalecamy również samodzielne wykonanie dodatkowych testów, ponieważ zasięg testów CTS jest minimalny.

Gdzie mogę zdobyć karty SIM dla CTS for Secure Element?

Możesz skontaktować się z preferowanym dostawcą karty SIM.

Dlaczego Orange SIM jest na ekranie blokady podczas wykonywania CTS z fragmentowaniem tokena?

Przypadek testowy nie rozpoczyna się, ponieważ testowanie karty SIM jest zablokowane. Wyłącz opcję Zablokuj kartę SIM w **Ustawieniach blokady karty SIM przed wykonaniem CTS z fragmentowaniem tokena.