Na tej stronie znajdziesz wskazówki dotyczące korzystania z usługi CTS-D (Developer-Powered Content System).
Zakres testów
CTS-D, podobnie jak CTS i CTS Verifier, może narzucać tylko te zasady:
- Wszystkie publiczne interfejsy API opisane w pakiecie SDK dla programistów (developer.android.com) dla danego poziomu API.
- Wszystkie wymagania MUST zawarte w dokumentacji z definicją zgodności Androida (CDD) dla danego poziomu interfejsu API.
Wymagania niewymagane, takie jak „MOCNO ZALECANA”, „MOŻNA”, „PODOBNIE” są opcjonalne i nie można ich testować za pomocą CTS.
Wszystkie interfejsy API i wymagania CDD są powiązane z konkretnym poziomem interfejsu API, dlatego wszystkie testy CTS (CTS, CTS-D i CTS Verifier) są powiązane z tym samym poziomem interfejsu API co powiązane z nimi interfejsy API lub wymagania. Jeśli określony interfejs API został wycofany lub zmieniony, należy wycofać lub zaktualizować odpowiadający mu test.
Reguły tworzenia testów CTS
- Test musi zawsze dawać ten sam obiektywny wynik.
- Test musi określać, czy urządzenie spełnia wymagania, czy nie, testując je tylko raz.
- Twórcy testów muszą wyeliminować wszystkie czynniki, które mogłyby wpłynąć na wyniki testów.
- Jeśli urządzenie wymaga określonego stanu, środowiska lub konfiguracji sprzętowej, należy wyraźnie określić tę konfigurację w komunikacie zatwierdzenia. Instrukcje dotyczące konfiguracji znajdziesz w artykule Konfigurowanie usługi CTS.
- Test nie może trwać dłużej niż 6 godzin. Jeśli test musi trwać dłużej, uzasadnij to w propozycji testu, abyśmy mogli ją sprawdzić.
Oto przykładowy zestaw warunków testowych na potrzeby testowania ograniczeń aplikacji:
- stabilność Wi-Fi (w przypadku testu, który korzysta z Wi-Fi);
- Podczas testu urządzenie pozostaje nieruchome (lub nie, w zależności od wyniku testu).
- Urządzenie jest odłączone od źródła zasilania i ma poziom naładowania baterii X procent.
- Nie są uruchomione żadne aplikacje, usługi na pierwszym planie ani usługi w tle, z wyjątkiem CTS.
- Podczas uruchamiania CTS ekran jest wyłączony.
- Urządzenie NIE jest
isLowRamDevice
. - Oszczędzanie baterii lub ograniczenia dotyczące aplikacji nie zostały zmienione w porównaniu z domyślnymi ustawieniami.
Możliwość przeprowadzenia testu
Akceptujemy nowe testy, które narzucają zachowanie, które nie jest testowane przez istniejące testy CTS, CTS Verifier lub CTS-D. Każdy test, który sprawdza działanie wykraczające poza zakres naszych testów, zostanie odrzucony.
Proces przesyłania danych do CTS
- Przygotowanie propozycji testu: deweloper aplikacji przesyła propozycję testu za pomocą Google Issue Tracker, opisując zidentyfikowany problem i proponowając test, który go zweryfikuje. Propozycja musi zawierać powiązany identyfikator wymagań dotyczących CDD. Zespół Androida sprawdza propozycję.
- Opracowywanie testu CTS: po zatwierdzeniu oferty pakietowej jej przesyłający tworzy test CTS w AOSP w gałęzi głównej (AOSP/main). Zespół Androida sprawdza kod.
- Opublikuj test: prześlij CL na
AOSP/main
, a potem wybierz go do najnowszej gałęziandroidx-tests-dev
. Test jest teraz dostępny publicznie.
Wskazówki dotyczące pisania testów CTS-D
- Postępuj zgodnie z przewodnikiem Java Code Style Guide.
- Wykonaj wszystkie czynności opisane na stronie Tworzenie pliku CTS.
- Dodaj testy do odpowiedniego planu testów:
- Aby dodać nowe testy do planu testów CTS-D, użyj
include-filters
:platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
. - Użyj narzędzia
exclude-filters
, aby wykluczyć nowe testy z głównego planu testów CTS:platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
.
- Aby dodać nowe testy do planu testów CTS-D, użyj
- Zarządzaj wszystkimi
errorprone
ostrzeżeniami i sugestiam w sekcjibuild_error.log
. - Wprowadź zmiany do
head
. Obejmuje to plany testówcts-developer.xml
icts-developer-exclude.xml
. - Skontaktuj się z osobą kontaktową z zespołu inżynierów Google, aby ustalić, czy możesz uwzględnić swój przypadek testowy w dotychczasowym module CTS. Jeśli nie uda się tego zrobić, zespół pomoże Ci utworzyć nowy moduł.
- Dla każdego utworzonego nowego modułu testowego utwórz plik OWNERS w nowym katalogu modułu testowego.
- Plik OWNERS powinien zawierać te informacje, które uzyskasz od właściciela testu Google, z którym współpracujesz:
# Bug component: xxx
- Właściciel testu Google (ldap)
- W sekcji
AndroidTest.xml
podaj te parametry. Przykłady plików znajdziesz w plikach przykładowych (1, 2):Instant_app
lubnot_instant_app
secondary_user
lubnot_secondary_user
all_foldable_states
lubno_foldable_states
- Aby określić prawidłową wartość minSDK, zapoznaj się z dokumentacją <uses-sdk>.
- Podczas sprawdzania nowych metod, klas lub modułów testowych dodaj je do planu testów CTS-D i wyklucz je z głównego planu testów CTS w taki sam sposób jak w przypadku nowych testów.
Przeprowadzanie testu CTS-D
Uruchom plan testów CTS-D z poziomu wiersza poleceń za pomocą run cts --plan cts-developer
.
Aby uruchomić konkretny przypadek testowy, użyj funkcji run cts --include-filter "test_module_name test_name"
.
Więcej informacji o przeprowadzaniu pełnej wersji CTS znajdziesz w artykule Przeprowadzanie testów CTS.
Akceptacja i publikacja
Gdy prześlesz żądanie testu, wewnętrzny zespół sprawdzi je, aby upewnić się, że testuje ono wymagania dotyczące CDD lub udokumentowane działanie interfejsu API. Jeśli okaże się, że test sprawdza spełnienie ważnego wymagania lub zachowania, zespół przekaże test inżynierowi Google do dalszej analizy. Inżynier Google skontaktuje się z Tobą, aby poinformować Cię, jak można ulepszyć test, zanim zostanie on zaakceptowany w systemie CTS.
Szczegóły harmonogramu CTS znajdziesz w harmonogramie wersji i informacjach o gałęzi.