Geliştirici Tarafından Desteklenen CTS

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

  1. 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.
  2. 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.
  3. Testi yayınlayın: CL'nizi AOSP/main gönderin ve ardından en son androidx-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 .
  • build_error.log dosyasındaki tüm errorprone uyarıları ve önerileri ele alın.
  • Değişikliklerinizi head olarak yeniden temellendirin. Buna cts-developer.xml ve cts-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 veya not_instant_app
    • secondary_user veya not_secondary_user
    • all_foldable_states veya no_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.