Uyumluluk Test Paketi (CTS), cihaz üreticilerinin cihazlarının uyumlu olduğundan emin olmak ve doğrulama için test sonuçlarını raporlamak amacıyla kullandıkları ücretsiz, ticari sınıf bir test paketidir. CTS'nin, cihaz üreten mühendislerin günlük iş akışına (sürekli oluşturma sistemi gibi) entegre edilmesi amaçlanmaktadır. CTS'nin amacı uyumsuzlukları erkenden ortaya çıkarmak ve yazılımın geliştirme süreci boyunca uyumlu kalmasını sağlamaktır.
CTS, ikili dosya olarak veya Android Açık Kaynak Projesi'nde (AOSP) kaynak olarak indirilebilir . CTS, bir masaüstü makinede çalışır ve test senaryolarını doğrudan bağlı cihazlarda veya bir öykünücüde yürütür.
CTS iki ana yazılım bileşeni içerir:
- Ticaret Federasyonu test donanımı masaüstü makinenizde çalışır ve testin yürütülmesini yönetir. Ticaret Federasyonu, birden fazla Test Edilen Cihazda (DUT) testleri parçalama olanağı sunar. Ayrıca, tam paketler yerine yalnızca arızaları yeniden denemek için paketi yeniden deneme özelliğini kullanabilirsiniz; bu, yeniden çalıştırma süresini büyük ölçüde azaltır.
- Bireysel test senaryoları DUT'ta yürütülür. Test senaryoları, JUnit testleri olarak Java'da yazılır ve gerçek cihaz hedefinde çalıştırılacak Android .apk dosyaları olarak paketlenir.
Uyumluluk Test Paketi Doğrulayıcı (CTS Doğrulayıcı)
Uyumluluk Testi Paketi Doğrulayıcı (CTS Doğrulayıcı), indirilebilen CTS'ye bir ektir. CTS Doğrulayıcı, manuel giriş (örneğin, ses kalitesi ve ivmeölçer) veya manuel konumlandırma olmadan sabit bir cihazda test edilemeyen API'ler ve işlevler için testler sağlar.
CTS Doğrulayıcı, manuel test etmeye yönelik bir araçtır ve aşağıdaki yazılım bileşenlerini içerir:
DUT'ta (ve mesafe ölçümü gereksinimleri için 2. bir cihazda) yürütülen ve sonuçları toplayan CTS Verifier uygulaması.
CTS Verifier uygulamasındaki bazı test senaryoları için veri veya ek kontrol sağlamak üzere masaüstü makinede yürütülen yürütülebilir dosyalar veya komut dosyaları.
İş akışı
![CTS akışı](https://source.android.com/static/docs/compatibility/cts/images/cts-0.png?authuser=5&hl=tr)
Şekil 1. CTS nasıl kullanılır?
Bu diyagram CTS iş akışını özetlemektedir. Ayrıntılı talimatlar için lütfen bu bölümün Kurulum ile başlayan alt sayfalarına bakın.
Test senaryosu türleri
CTS aşağıdaki test senaryosu türlerini içerir:
- Birim testleri, Android platformundaki atomik kod birimlerini test eder; örneğin Java.util.HashMap gibi tek bir sınıf.
İşlevsel testler, daha yüksek düzeyde bir kullanım durumunda API'lerin bir kombinasyonunu birlikte test eder.
Birim testi kapsamı
Birim test senaryoları uyumluluğu sağlamak için aşağıdaki alanları kapsar:
Alan | Tanım |
---|---|
İmza testleri | Her Android sürümü için, sürümde yer alan tüm genel API'lerin imzalarını açıklayan XML dosyaları vardır. CTS, bu API imzalarını cihazda bulunan API'lerle karşılaştıran bir yardımcı program içerir. İmza kontrolünden elde edilen sonuçlar, test sonucu XML dosyasına kaydedilir. |
Platform API Testleri | Doğru sınıf, öznitelik ve yöntem imzaları, doğru yöntem davranışı ve yanlış parametre işleme için beklenen davranışı sağlamak amacıyla negatif testler de dahil olmak üzere API doğruluğunu sağlamak için platformu (temel kitaplıklar ve Android Uygulama Çerçevesi) API'lerini SDK Sınıf Dizininde belgelendiği şekilde test edin. |
Dalvik Testleri | Testler Dalvik Çalıştırılabilir Formatının test edilmesine odaklanmaktadır. |
Platform Veri Modeli | CTS, SDK android.provider paketinde belgelendiği gibi, içerik sağlayıcılar aracılığıyla uygulama geliştiricilerine sunulan çekirdek platform veri modelini test eder: kişiler, tarayıcı, ayarlar vb. |
Platform Amaçları | CTS, SDK Kullanılabilir Amaçlar'da belgelendiği gibi temel platform amaçlarını test eder. |
Platform İzinleri | CTS, SDK Kullanılabilir İzinler bölümünde belgelendiği gibi çekirdek platform izinlerini test eder. |
Platform Kaynakları | CTS, SDK Kullanılabilir Kaynak Türleri'nde belgelendiği gibi, çekirdek platform kaynak türlerinin doğru şekilde ele alınıp alınmadığını test eder. Buna şunlar dahildir: basit değerler, çizilebilir öğeler, dokuz yama, animasyonlar, düzenler, stiller ve temalar ve alternatif kaynakların yüklenmesi. |