CTS ile ilgili SSS

Android Uyumluluk Programı Android ekosistemine yönelik olumlu geri bildirimi sürdürmenin anahtarıdır. CTS ölçekte uyumluluğun kalitesini sağlayan temel araçtır. İlgili içeriği oluşturmak için kullanılan Android ekibi, CTS aracını ve test kapsamını iyileştirmeye devam ediyor. Normal test durumu eklemenin, değerlendirmenin kalitesinde uyumlu cihazlar.

Genel sorular

Bu bölümde CTS ile ilgili genel SSS'ler sunulmaktadır.

CTS ne tür şeyleri test eder?

CTS, desteklenen tüm Android güçlü yazılmış API'lerin mevcut olduğunu ve doğru davrandığını gösterir. CTS, diğer API olmayan sistemleri de test eder performans gibi davranışlara göre değerlendirilebilir.

CTS nasıl lisanslanır?

CTS, lisansın çalıştırıldığı Apache Yazılım Lisansı 2.0 ile büyük bir kısmını oluşturuyor.

codec'ler CTS tarafından doğrulanır mı?

Evet. Tüm zorunlu codec'ler CTS tarafından doğrulanır.

Teste özgü sorular

Bu bölümde, CTS testlerinin daha verimli bir şekilde yürütülmesine yardımcı olacak SSS'ler yer almaktadır.

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

CTS Sharding ve TF Sharding, farklı bir test altyapısı kod tabanı. Çalıştırma komutu, farklı sürümlerde aynı kalırsa, parçalama sonucu farklı davranır. CTS'nin parçalanması, test durumlarını Test Altındaki Cihazlara (DUT'ler) statik olarak atar şu şekildedir:

TF Parçalama, test durumlarını mevcut DUT'lere aşağıdaki şekilde dinamik olarak atar:

Birden fazla ABI'yi destekleyen bir cihazdan ne beklenir?

Cihazın, kullandığı her ABI modu için tüm CTS ve CTS Doğrulayıcı testlerini geçmesi gerekir destek iddiaları var. Bu nedenle, ABI'leri görebilirsiniz. Birden fazla ABI için yönergeler aşağıdaki gibidir:

  • CTS ve CTS Doğrulayıcı için ARM ve x86 sürümleri her mimariyi seçin. Her biri 32 veya 64 bit modunu destekleyebilir.
  • CTS testlerinde, bir cihaz hem ARM hem de x86'yı destekliyorsa çalıştırılmalıdır. ve sırasıyla ARM ve x86 CTS testlerini geçmek için kullanılabilir.

Bkz. CDD 3.3.1. Uygulama İkili Arayüzleri inceleyebilirsiniz.

Test yürütme süresini kısaltmak için testi yalnızca birincil ABI'da (örneğin, 64 bit) çalıştırmak yeterli midir?

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

Neden bu kadar çok sayıda test vakası Yürütülmedi olarak bildiriliyor?

Bunun yerine Modül Tamamlandı numarasını kontrol etmeniz gerekir Yürütülmedi sayısı.

Önceki sürümlerde, CTS modüllerini Modül Tamamlandı olarak raporluyordu. agresif bir yaklaşımla ele alınmalıdır. Bu nedenle, Tamamlanan Modüller sayısı bazı cihazlarda bile tüm test durumu tamamlanmadan bildirilen hata sorunları olduğunu fark ettik. Yeni test bandı daha konservatif bir yapıdadır ve bir sorun oluştuğunda Yürütülmedi testi sayısı daha yüksek olur.

Bir modülün çalıştırılması, en çok Modülün Tamamlanmadı raporunu gösterir raporda son çağrı (done="false") bulunur:

  • Cihaz bağlantı sorunu nedeniyle modülün test çalıştırması kesintiye uğradı.
  • Modül için beklenen tüm test çalıştırmaları gerçekleştirilmedi.
  • Ek filtreleme seçenekleriyle yeniden denendi (-r/--retry seçeneği kullanılarak), Örneğin:

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

Bu modüllerin Modül Tamamlandı (done="doğru") durumunu almak için: en son çağrı için aşağıdaki işlemi tekrar 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 sorunların hiçbiri olmadan yürütülen bir modül ( 0 test kaldı) yeni raporda Modül Tamamlandı olarak işaretlenir.

İstisnalar

  • CtsNNAPITestCases, bağımsız değişkenlerin linux/OS sınırlaması nedeniyle bilinen bir soruna sahip. Modül, doğrudan run cts -m CtsNNAPITestCases ile bağımsız olarak yeniden çalıştırılabilir.

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

Tüm otomatik test paketleri, CTS medya dosyalarını veya iş mantığı dosyalarını kullanır. Birçok kurumsal ortamda, güvenlik duvarı ve proxy tipik bir yazılımdır ve bu nedenle test hazırlığı başarısız olur. Yürütme veya .profile'a (Ubuntu'da) ekleyin.

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

Güvenlik Unsuru için CTS için SIM karta ihtiyacım var mı?

Test için SIM kart gerekip gerekmediğine bağlı olarak Test cihazında desteklenip desteklenmediğine bakalım.

  • Cihazınızın, ya da güvenli öğeler için UICC Mobil şebeke operatörleri tarafından dağıtılan (ör. bir SIM kart) (operatörler) veya cihaza yerleştirilmiş haldeyse HIDL'yi yapılandırabilirsiniz. manifesto, android.hardware.secure_element HAL'yi içermemelidir öğesine dokunun. Bu durumda, android.se.omapi.SEService.getReaders() API boş bir liste bildirir ve CTS testini otomatik olarak yapar CTS için bir hakkı geçer ve bildirir.
  • Cihazınızın, Android uygulamalarının bu uygulamalardan birine erişmesini desteklemesi gerekiyorsa güvenli öğeler (UICC'de Mobil şebeke operatörleri (operatörler) tarafından dağıtılan (ör. SIM kart) veya güvenli öğeyi doğru şekilde uygulamanız gerekir. ve şirket içinde test edebilirsiniz. Güvenlik Unsuru için CTS Testi CTS testlerinin yürütülmesine nasıl hazırlanacağının android.se.omapi Android 9'da eklenen API paketi çalışır. Önerilerimiz: CTS test kapsamından itibaren kendi başınıza ek testler gerçekleştirmeniz en az düzeyde olmalıdır.

Güvenlik Unsuru için CTS'nin SIM kartlarını nereden alabilirim?

Tercih ettiğiniz SIM tedarikçisiyle iletişime geçebilirsiniz.

CTS yürütülürken neden jeton kırmayla kilit ekranında Turuncu SIM görünüyor?

SIM kartın testi kilitli olduğundan test durumu başlamıyor. Şu tarihten önce **SIM kart kilidi ayarlarında SIM kartı kilitle'yi devre dışı bırakın: CTS'yi jeton parçalama ile yürütme.