Geliştirici Tarafından Güçlendirilmiş 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'ne (CDD) dahil edilen tüm GEREKİR koşulları.

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ı

  • Testler tutarlı bir şekilde aynı objektif sonucu vermelidir.
  • 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ın belirli bir donanım koşuluna/ortamına/kurulumuna ihtiyacı varsa bu kurulum, gönderme mesajında net bir şekilde tanımlanmalı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 test teklifinize gerekçeyi ekleyin. Böylece gerekçeyi inceleyebiliriz.

Aşağıda, bir uygulama kısıtlamasını test etmek için örnek bir test koşulları grubu verilmiştir:

  • Kablosuz ağ kararlı (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 dışındaki bir davranışı kontrol eden tüm testler reddedilir.

CTS gönderim süreci

  1. Test önerisi yazın: Uygulama geliştirici, Google Sorun Takip Aracı'nı kullanarak bir test önerisi gönderir. Bu öneride, tespit edilen sorun açıklanır ve bu sorunu kontrol etmek için bir test önerilir. Teklif, ilişkili CDD şart kimliğini içermelidir. Android ekibi öneriyi inceler.
  2. CTS testi geliştirme: Bir öneri onaylandıktan sonra, öneriyi gönderen kişi ana (AOSP/main) dalında 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 Kod Stili Kılavuzu'na uyun.
  • 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'e 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 alınan 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

run cts --plan cts-developer kullanarak CTS-D test planını 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 koşulu veya davranışı kontrol ettiği belirlenirse ekip, bu test vakasını daha ayrıntılı incelenmesi için bir Google mühendisine iletir. Google mühendisi, CTS'ye kabul edilmeden önce testin nasıl iyileştirilebileceğine dair geri bildirimde bulunmak için sizinle iletişime geçecektir.

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