Geliştirici Destekli CTS

Bu sayfada, Geliştirici Tarafından Güçlendirilmiş CTS (CTS-D) ile ilgili kullanım yönergeleri özetlenmiştir.

Test kapsamı

CTS ve CTS Doğrulayıcı gibi CTS-D yalnızca aşağıdakileri zorunlu kılabilir:

  • Belirli bir API seviyesi için geliştirici SDK'sında (developer.android.com) açıklanan tüm herkese açık API'ler.
  • Belirli bir API düzeyi için Android Uyumluluk Tanımlama Belgesi'nde (CDD) yer alan şartların tümü ZORUNLUDUR.

ZORUNLU olmayan şartlar (ör. ŞİDDETLE ÖNERİLİR, OLMALI, OLABİLİR) isteğe bağlıdır ve CTS kullanılarak test edilemez.

Tüm API'ler ve CDD koşulları belirli bir API düzeyine bağlı olduğundan tüm CTS testleri (CTS, CTS-D ve CTS Doğrulayıcı), ilişkili API'leri veya koşullarıyla aynı API düzeyine bağlıdır. Belirli bir API'nin desteği sonlandırılırsa veya API değiştirilirse ilgili testin desteği de sonlandırılmalı veya test güncellenmelidir.

CTS testi oluşturma kuralları

  • Bir test, tutarlı bir şekilde aynı hedef sonucu üretmelidir.
  • Bir test, cihazı kutudan çıkardıktan sonra bir kez test ederek cihazın başarılı olup olmadığını belirlemelidir.
  • Test oluşturucular, test sonuçlarını etkileyebilecek tüm olası faktörleri kaldırmalıdır.
  • Bir cihaz için belirli bir donanım koşulu/ortamı/kurulumu gerekiyorsa bu kurulum, taahhüt mesajında açıkça tanımlanmış olmalıdır. Örnek kurulum talimatları için CTS'yi ayarlama başlıklı makaleyi inceleyin.
  • Test, tek seferde 6 saatten uzun süre çalışmamalıdır. Daha uzun süre çalışması gerekiyorsa lütfen inceleyebilmemiz için bu gerekçeyi test teklifinize ekleyin.

Aşağıda, bir uygulama kısıtlamasını test etmeye yönelik örnek test koşulları grubu verilmiştir:

  • Kablosuz ağ kararlı durumda (kablosuz ağa dayalı bir test için).
  • Cihaz, test sırasında sabit kalır (teste bağlı olarak sabit kalmayabilir).
  • Cihaz, pil seviyesi X yüzdesindeyken herhangi bir güç kaynağından çıkarılır.
  • CTS dışında hiçbir uygulama, ön plan hizmeti veya arka plan hizmeti çalışmıyor.
  • CTS çalışırken ekran kapalı.
  • Cihaz isLowRamDevice DEĞİLDİR.
  • Pil tasarrufu / uygulama kısıtlamaları "kutudan çıkar çıkmaz" durumundan değiştirilmemiştir.

Test uygunluğu

Mevcut CTS, CTS Doğrulayıcı veya CTS-D testleri tarafından test edilmeyen bir davranışı zorunlu kılan yeni testleri kabul ederiz. Test kapsamımızın kapsamı dışında bir davranışı kontrol eden tüm testler reddedilir.

CTS gönderim süreci

  1. Test teklifi yazma: Uygulama geliştirici, Google Sorun İzleyici'yi kullanarak tespit edilen sorunu açıklayan ve kontrol edilmesi için bir test öneren bir test teklifi gönderir. Teklif, ilişkili CDD şart kimliğini içermelidir. Android ekibi öneriyi inceler.
  2. CTS testi geliştirme: Bir teklif onaylandıktan sonra gönderen kişi ana dalda AOSP'de bir CTS testi oluşturur. Android ekibi kodu inceler.
  3. Yayınlama testi: AOSP/main üzerinde CL'nizi gönderin ve ardından en son androidx-tests-dev dalına seçerek ekleyin. Test artık herkese açıktır.

CTS-D testi yazma yönergeleri

  • Java Code Style Guide'daki (Java Kodu Stil Kılavuzu) tavsiyeleri uygulayın.
  • CTS Geliştirme bölümünde açıklanan tüm adımları uygulayın.
  • 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 simgesini kullanın: platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml.
  • build_error.log'daki tüm errorprone uyarılarını ve önerilerini ele alın.
  • Değişikliklerinizi head ile yeniden temellendirin. cts-developer.xml ve cts-developer-exclude.xml test planları da buna dahildir.
  • Test durumunuzun mevcut bir CTS modülüne dahil edilip edilemeyeceğini belirlemek için Google mühendislik temsilcinizle birlikte çalışın. Bu mümkün değilse yeni bir modül oluşturmanıza yardımcı olurlar.
  • 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 edinilen aşağıdaki bilgileri içermelidir:
    • # Bug component: xxx
    • Google test sahibi ldap
  • AndroidTest.xml içinde 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'yı belirtmek için <uses-sdk> dokümanlarına bakın.
  • Yeni test yöntemlerini, sınıfları veya modülleri 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ırma

CTS-D test planını run cts --plan cts-developer kullanarak komut satırından çalıştırın.

Belirli bir test vakasını çalıştırmak için run cts --include-filter "test_module_name test_name" simgesini kullanın.

Tam CTS'yi çalıştırma hakkında bilgi edinmek için CTS testlerini çalıştırma başlıklı makaleyi inceleyin.

Kabul ve yayın

Gönderilen test istekleri, bir CDD koşulunu veya belgelenmiş bir API davranışını test edip etmediğini belirlemek için dahili bir ekip tarafından incelenir. Testin geçerli bir şartı veya davranışı kontrol ettiği belirlenirse ekip, bu test durumunu daha ayrıntılı bir şekilde incelenmesi için bir Google mühendisine iletir. Google mühendisi, CTS'ye kabul edilmeden önce testin nasıl iyileştirilebileceğiyle ilgili geri bildirimde bulunmak için sizinle iletişime geçecektir.

CTS sürüm planı hakkında ayrıntılı bilgi için Sürüm planı ve dal bilgileri bölümüne bakın.