Uyumluluk Testi Paketi

Uyumluluk Testi Paketi (CTS), Android Açık Kaynak Projesi'nde (AOSP) ikili veya kaynak olarak indirilebilen ücretsiz, ticari düzeyde bir test paketidir. CTS, uyumluluğun "mekanizmasını" temsil eder.

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, bir cihaz inşa eden mühendislerin günlük iş akışına (sürekli bir inşa sistemi aracılığıyla) entegre edilmek üzere tasarlanmış bir dizi birim testidir. Amacı, uyumsuzlukları erkenden ortaya çıkarmak ve yazılımın geliştirme süreci boyunca uyumlu kalmasını sağlamaktır.

CTS, iki ana yazılım bileşenini kullanan otomatik bir test paketidir:

  • CTS Trade Federation test donanımı, masaüstü makinenizde çalışır ve test yürütmesini yönetir. Test Edilen birden fazla Cihaz (DUT) arasında testleri parçalama yeteneği sunar. Ayrıca, yeniden çalıştırma süresini büyük ölçüde azaltarak, tam süitler yerine yalnızca hataları yeniden denemek için paketi yeniden deneme özelliğini kullanabilirsiniz.
  • DUT'ta bireysel test senaryoları yürütülür. Test senaryoları, JUnit testleri ve gerçek cihaz hedefinde çalıştırılmak üzere paketlenmiş Android .apk dosyaları olarak Java'da yazılmıştır.

Uyumluluk Test Paketi Doğrulayıcısı (CTS Doğrulayıcı), indirilebilen CTS'nin bir ekidir. CTS Verifier, manuel giriş olmadan (örn. ses kalitesi, ivmeölçer, vb.) sabit bir cihazda test edilemeyen API'ler ve işlevler için testler sağlar.

CTS Doğrulayıcı, manuel test için bir araçtır ve aşağıdaki yazılım bileşenlerini içerir:

  • DUT üzerinde yürütülen ve sonuçları toplayan CTS doğrulayıcı 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ı.

iş akışı

CTS akışı

Şekil 1. CTS nasıl kullanılır

Bu diyagram, CTS iş akışını özetler. Ayrıntılı talimatlar için lütfen Kurulum ile başlayan bu bölümün alt sayfalarına bakın.

Test senaryosu türleri

CTS, aşağıdaki test senaryosu türlerini içerir:

  • Birim testleri , Android platformunda atomik kod birimlerini test eder; örneğin java.util.HashMap gibi tek bir sınıf.
  • İşlevsel testler , daha üst düzey bir kullanım durumunda API'lerin bir kombinasyonunu test eder.

CTS'nin gelecekteki sürümleri aşağıdaki test senaryosu türlerini içerecektir:
  • Sağlamlık testleri , sistemin stres altındaki dayanıklılığını test eder.
  • Performans testleri , sistemin performansını, örneğin saniyede kare oluşturma gibi tanımlanmış kriterlere göre test eder.

Kapsanan alanlar

Birim test durumları, uyumluluğu sağlamak için aşağıdaki alanları kapsar:

Alan Açıklama
imza 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'lere karşı kontrol etmek için bir yardımcı program içerir. İmza kontrolünden elde edilen sonuçlar, test sonucu XML dosyasına kaydedilir.
Platform API Testleri Platform (çekirdek kitaplıklar ve Android Uygulama Çerçevesi) API'lerini, 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 için olumsuz testler dahil olmak üzere API doğruluğunu sağlamak üzere SDK Sınıf Dizininde belgelendiği şekilde test edin.
Dalvik Testleri Testler, Dalvik Yürütülebilir Formatını test etmeye odaklanır.
Platform Veri Modeli CTS, SDKandroid.provider paketinde belgelendiği gibi, içerik sağlayıcılar aracılığıyla uygulama geliştiricilerine açık olarak temel platform veri modelini test eder: kişiler, tarayıcı, ayarlar vb.
Platform Amaçları CTS, SDK Kullanılabilir Amaçlarda belgelendiği gibi temel platform amaçlarını test eder.
Platform İzinleri CTS, SDK Kullanılabilir İzinlerde belgelendiği gibi temel platform izinlerini test eder.
Platform Kaynakları CTS, SDKKullanılabilir Kaynak Türlerinde belgelendiği gibi, temel platform kaynak türlerinin doğru şekilde ele alınıp alınmadığını test eder. Buna şunlar için testler dahildir: basit değerler, çizilebilirler, dokuz yama, animasyonlar, düzenler, stiller ve temalar ve alternatif kaynaklar yükleme.