CTS SSS

Android Uyumluluk Programı, Android ekosistemine yönelik olumlu geri bildirimlerin sürdürülmesinde temel etkendir. CTS, ölçekte uyumluluğun kalitesini sağlamak için temel araçtır. Android ekibi, CTS aracını ve test kapsamını geliştirmeye devam ediyor. Test senaryolarının düzenli olarak eklenmesi, uyumlu cihazların kalitesinde önemli bir iyileşme sağlar.

Genel Sorular

Bu bölümde genel CTS SSS'leri sağlanmaktadır.

CTS ne tür şeyleri test ediyor?

CTS, desteklenen tüm Android güçlü türde API'lerin mevcut olduğunu ve doğru davrandığını test eder. CTS ayrıca uygulama yaşam döngüsü ve performansı gibi diğer API dışı sistem davranışlarını da test eder.

CTS nasıl lisanslanır?

CTS, Android'in büyük kısmının kullandığı Apache Yazılım Lisansı 2.0 ile lisanslanmıştır.

Codec'ler CTS tarafından doğrulanıyor mu?

Evet. Tüm zorunlu codec bileşenleri CTS tarafından doğrulanır.

Teste özel sorular

Bu bölümde CTS testlerinin daha verimli yürütülmesine yardımcı olacak SSS'ler sağlanmaktadır.

CTS Parçalama ve TF Parçalama arasındaki fark nedir?

CTS Sharding ve TF Sharding, farklı test altyapısı kod tabanı tarafından desteklenen tamamen farklı test planlarıdır. Çalıştır komutu farklı sürümlerde aynı olsa da parçalama sonucu farklı davranır. CTS Sharding, test senaryolarını Test Altındaki Cihazlara (DUT'lar) aşağıdaki şekilde statik olarak atar:

TF Sharding, test senaryolarını mevcut DUT'lara aşağıdaki şekilde dinamik olarak atar:

Birden fazla ABI'yi destekleyen bir cihazdan ne beklenir?

Cihazın desteklediğini iddia ettiği her ABI modu için tüm CTS ve CTS Verifier testlerini geçmesi gerekiyor. Bu nedenle, belirli ABI'ler için bir uygulamanın yürütülmesi gereklidir. Çoklu ABI'lere yönelik yönergeler aşağıdaki gibidir:

  • CTS ve CTS Doğrulayıcı için her mimariye ait ARM ve x86 sürümleri mevcuttur. Her biri 32 veya 64 bit modunu destekleyebilir.
  • CTS testleri için, bir cihazın hem ARM hem de x86'yı desteklemesi durumunda sırasıyla hem ARM hem de x86 CTS testlerini çalıştırması ve geçmesi gerekir.

Bkz. CDD 3.3.1. ABI'deki CDD gereksinimleri için Uygulama İkili Arayüzleri .

Test yürütme süresini azaltmak için yalnızca birincil ABI'de (örneğin 64 bit) test çalıştırmak yeterli midir?

Hayır. Bir Android uygulaması kendi 32 bit veya 64 bit çalışma zamanlarında çalışır. Gerçek makine kodu, kod yolu ve durumu 32 ile 64 arasında farklıdır. Bir modu atlarsanız cihaz ABI'sinin yalnızca %50'sini kapsıyorsunuz demektir.

Neden Yürütülmedi olarak rapor edilen bu kadar çok test durumu var?

Yürütülmedi numarası yerine Modül Tamamlandı numarasını kontrol etmelisiniz.

Önceki sürümlerde, CTS modülleri tamamlanmadan önce çok agresif bir şekilde Modül Tamamlandı olarak raporlanıyordu. Bu nedenle, bazı cihazlarda sorun yaşansa bile tüm test senaryosu tamamlanmadan Modüller Tamamlandı numarası rapor edildi. Yeni test donanımı daha koruyucudur ve bir sorun oluştuğunda daha fazla sayıda Yürütülmedi testi bildirir.

Tamamlanana kadar çalışan bir modül, aşağıdaki durumlarda rapordaki en son çağrıda (done=false") Modül Yapılmadı'yı bildirir :

  • Modül için bir test çalıştırması, bir cihaz bağlantı sorunu nedeniyle kesintiye uğradı.
  • Modül için beklenen test çalıştırmalarının tümü gerçekleştirilmedi.
  • Aşağıdaki gibi ek filtreleme seçenekleriyle yeniden denendi ( -r/--retry seçeneği kullanılarak):

    • --include-filtresi
    • --hariç tutma filtresi
    • -t/--test (Yeniden denemede seçenek henüz desteklenmiyor)
    • --retry-type başarısız oldu
    • --alt plan

Bu modüller için Modül Tamamlandı (done='true') durumunu elde etmek için, en son çağrıda aşağıdakileri yeniden deneyin:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Daha önce bahsedilen sorunlardan herhangi biri olmadan (geriye kalan 0 test olsa bile) yürütülen bir modül, yeni raporda Modül Tamamlandı olarak işaretlenir.

İstisnalar

  • CtsNNAPITestCases'in Linux/OS'de args sınırlaması nedeniyle bilinen bir sorunu var. Modül, doğrudan run cts -m CtsNNAPITestCases yalıtılmış olarak yeniden çalıştırılabilir.

Test hazırlığının kurumsal güvenlik duvarı arkasında başarısız olmasını nasıl önleyebilirim?

Tüm otomatik test paketleri, çalışma zamanı sırasında CTS medya dosyalarını veya iş mantığı dosyalarını indirmeye çalışır. Birçok kurumsal ortamda, test hazırlığının başarısız olmasına neden olan bir güvenlik duvarı ve proxy normaldir. Aşağıdaki satırı çalıştırın veya .profile'a ekleyin (Ubuntu'da).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Secure Element için CTS'ye yönelik bir SIM karta ihtiyacım var mı?

Test için SIM karta ihtiyaç duyulup duyulmaması, özelliğin test cihazında desteklenip desteklenmediğine bağlıdır.

  • Cihazınızın, mobil ağ operatörleri (operatörler) tarafından dağıtılan UICC'de (örn. SIM kart) veya cihaza gömülü olan) güvenli öğelere erişen Android uygulamalarını desteklemesi GEREKMEZSE , HIDL bildirimini içermeyecek şekilde yapılandırabilirsiniz. android.hardware.secure_element HAL öğesi. Bu durumda, android.se.omapi.SEService.getReaders() API'si boş bir liste bildirir ve CTS testi otomatik olarak başarılı olur ve CTS için bir geçiş bildirir.
  • Cihazınızın, mobil ağ operatörleri (operatörler) tarafından dağıtılan UICC'deki (örn. SIM kart) veya cihaza gömülü) güvenli öğelere erişen Android uygulamalarını desteklemesi GEREKİYORSA , güvenli öğeyi doğru şekilde uygulamanız ve test etmeniz gerekir. şirket içi. Secure Element için CTS Testi, Android 9'a eklenen android.se.omapi API paketinin işlevsel olmasını sağlayan CTS testlerini çalıştırmaya nasıl hazırlanılacağını özetlemektedir. Ayrıca CTS test kapsamı minimum düzeyde olduğundan kendi başınıza ek testler yapmanızı da öneririz.

Secure Element için CTS SIM kartlarını nereden alabilirim?

Tercih ettiğiniz SIM satıcısına ulaşabilirsiniz.

Belirteç parçalamayla CTS yürütülürken kilit ekranında neden Turuncu SIM görünüyor?

SIM kartın test edilmesi kilitli olduğundan test durumu başlamıyor. Belirteç parçalamayla CTS'yi çalıştırmadan önce **SIM kart kilidi ayarlarında SIM kartı kilitle seçeneğini devre dışı bırakın.