Bu sayfada Geliştirici Destekli CTS (CTS-D) kullanım yönergeleri özetlenmektedir.
Test kapsamı
CTS ve CTS Doğrulayıcı gibi CTS-D de yalnızca aşağıdakileri zorunlu kılabilir:
- Belirli bir API düzeyi için geliştirici SDK'sında (developer.android.com) açıklanan tüm genel API'ler.
- Belirli bir API düzeyi için Android Uyumluluk Tanımı Belgesinde (CDD) yer alan tüm MUST gereksinimleri.
KESİNLİKLE ÖNERİLEN, SHOULD, MAY gibi MUST olmayan gereksinimler isteğe bağlıdır ve CTS kullanılarak test edilemez.
Tüm API'ler ve CDD gereksinimleri belirli bir API düzeyine bağlı olduğundan, tüm CTS testleri (CTS, CTS-D ve CTS Doğrulayıcı), ilişkili API'ler veya gereksinimleriyle aynı API düzeyine bağlıdır. Belirli bir API'nin kullanımdan kaldırılması veya değiştirilmesi durumunda, buna karşılık gelen testin kullanımdan kaldırılması veya güncellenmesi gerekir.
CTS testi oluşturma kuralları
- Bir testin tutarlı olarak aynı objektif sonucu vermesi gerekir.
- Bir test, bir cihazın kutudan çıktığı anda test edilmesiyle cihazın başarılı mı yoksa başarısız mı olduğunu belirlemelidir.
- Testi oluşturanlar, test sonuçlarını etkileyebilecek tüm olası faktörleri ortadan kaldırmalıdır.
- Bir cihazın belirli bir donanım koşuluna/ortamına/kurulumuna ihtiyacı varsa, bu kurulumun taahhüt mesajında açıkça tanımlanması gerekir. Örnek kurulum talimatları için bkz. CTS'yi Ayarlama .
- Test bir defada 6 saatten fazla çalıştırılmamalıdır. Daha uzun süre çalışması gerekiyorsa, inceleyebilmemiz için lütfen gerekçenizi test teklifinize ekleyin.
Aşağıda bir uygulama kısıtlamasını test etmeye yönelik örnek bir test koşulları kümesi verilmiştir:
- Wifi stabildir (Wifi'ya dayanan bir test için).
- Cihaz test sırasında sabit kalır (teste bağlı olarak sabit kalır).
- Cihaz, pil seviyesinin yüzde X'i ile herhangi bir güç kaynağından çıkarıldı.
- CTS dışında hiçbir uygulama, ön plan hizmeti veya arka plan hizmeti çalışmıyor.
- CTS çalıştırılırken ekran kapalı.
- Cihaz
isLowRamDevice
DEĞİLDİR. - Pil tasarrufu / uygulama kısıtlamaları "kutudan çıktığı haliyle" değiştirilmedi.
Test uygunluğu
Mevcut CTS, CTS Verifier veya CTS-D testleri tarafından test edilmeyen bir davranışı uygulayan yeni testleri kabul ediyoruz. Test kapsamımızın kapsamı dışındaki bir davranışı kontrol eden tüm testler reddedilecektir.
CTS gönderim süreci
- Bir test teklifi yazın: Bir uygulama geliştiricisi, belirlenen sorunu açıklayan ve bunun kontrol edilmesi için bir test öneren Google Sorun İzleyici'yi kullanarak bir test teklifi gönderir. Teklif, ilişkili CDD gereksinim kimliğini içermelidir. Android ekibi teklifi inceliyor.
- Bir CTS testi geliştirin: Bir teklif onaylandıktan sonra teklifi sunan kişi, ana (AOSP/ana) dalda AOSP üzerinde bir CTS testi oluşturur. Android ekibi kodu inceler.
- Testi yayınlayın: CL'nizi
AOSP/main
gönderin ve ardından en sonandroidx-tests-dev
şubesine özenle seçin. Test artık halka açık.
CTS-D test yazma yönergeleri
- Java Kod Stili Kılavuzu'nu izleyin.
- CTS Geliştirme'de açıklanan tüm adımları izleyin.
- Testlerinizi uygun test planına ekleyin:
- Yeni testlerinizi CTS-D test planına eklemek için
include-filters
kullanın:platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
. - Yeni testlerinizi ana CTS test planından hariç tutmak için
exclude-filters
kullanın:platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
.
- Yeni testlerinizi CTS-D test planına eklemek için
-
build_error.log
dosyasındaki tümerrorprone
uyarıları ve önerileri ele alın. - Değişikliklerinizi
head
olarak yeniden temellendirin. Bunacts-developer.xml
vects-developer-exclude.xml
test planları dahildir. - Test senaryonuzun mevcut bir CTS modülüne dahil edilip edilemeyeceğini belirlemek için Google mühendislik sorumlunuzla birlikte çalışın. Eğer başaramazsa yeni bir modül oluşturmanıza yardımcı olacaklardır.
- Oluşturulan her yeni test modülü için yeni test modülü dizininde bir OWNERS dosyası oluşturun.
- OWNERS dosyanız, birlikte çalıştığınız Google test sahibinden alınan aşağıdaki bilgileri içermelidir:
-
# Bug component: xxx
- Google test sahibi ldap
-
AndroidTest.xml
dosyasında aşağıdaki parametreleri belirtin. Örnekler için örnek dosyalara ( 1 , 2 ) bakın:-
Instant_app
veyanot_instant_app
-
secondary_user
veyanot_secondary_user
-
all_foldable_states
veyano_foldable_states
-
- Doğru minSDK'yi belirtmek için <uses-sdk> belgelerine bakın.
- Yeni test yöntemlerini, sınıflarını veya modüllerini kontrol ederken bunları CTS-D test planına ekleyin ve yeni testlerde olduğu gibi ana CTS test planından hariç tutun.
CTS-D testinizi çalıştırın
CTS-D test planını komut satırından run cts --plan cts-developer
kullanarak çalıştırın.
Belirli bir test senaryosunu çalıştırmak için run cts --include-filter "test_module_name test_name"
kullanın.
Tam CTS'yi çalıştırma hakkında bilgi için bkz. CTS testlerini çalıştırma .
Kabul ve serbest bırakma
Bir test isteği gönderildikten sonra dahili bir ekip, bir CDD gereksinimini veya belgelenmiş bir API davranışını test ettiğinden emin olmak için bunu inceleyecektir. Testin geçerli bir gereksinimi veya davranışı kontrol ettiği belirlenirse ekip, bu test senaryosunu daha ayrıntılı inceleme için bir Google mühendisine iletecektir. Google mühendisi, testin CTS'ye kabul edilmeden önce nasıl geliştirilebileceği konusunda geri bildirimde bulunmak üzere sizinle iletişime geçecektir.
CTS sürüm planına ilişkin ayrıntılar için Sürüm planı ve şube bilgilerine bakın.