Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Suite Yeniden Dene'yi kullan

Bir takım birkaç test modülü içerir ve oldukça büyük bir test boyutu boyutuna ulaşabilir. Örneğin, Android Uyumluluk Test Paketi (CTS) yüzlerce modül ve yüz binlerce test vakası içerir.

Kötü izolasyon veya cihazların kötü duruma geçmesi nedeniyle büyük miktarda testin başarısız olması mümkün olur.

Paket yeniden deneme özelliği şu durumlara yöneliktir: Kesintisizliği ve zayıf yalıtımı ekarte etmek için hataları yalnızca tam süitler yerine yeniden denemenizi sağlar. Bir test sürekli olarak başarısız olursa, yeniden deneme de başarısız olur; ve gerçek bir sorun olduğuna dair çok daha güçlü bir sinyal alıyorsunuz.

Paket yeniden denemesini uygulama

Sonuçların yeniden denenmesi, önceki sonuçların okunmasını ve önceki çağrının yeniden çalıştırılmasını içerir.

Yeniden denemeyi çalıştıran ana arayüz, önceki bir sonucu ve önceki komut satırını yüklemenizi sağlayan ITestSuiteResultLoader'dır .

RetryRescheduler daha sonra bu komutu önceki komutu yeniden oluşturmak ve yalnızca önceki hataları yeniden çalıştırmak veya yürütülmeyen sınamaları yeniden çalıştırmak için bazı filtreleri doldurmak için kullanır.

Örnek paket yeniden denemesi: CTS

CTS'deki yeniden deneme yapılandırması:

 <configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>
 

Bu, onu genişleten süitlerin çoğu için geçerlidir, örneğin VTS ).

Şu yolla çağrılır:

 cts-tradefed run retry --retry <session>
 

Oturum, CTS konsolunda önceki sonuçları listeleyerek bulunur:

 cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel
 

Tam orijinal komut yeniden yüklenecek ve ekstra filtrelerle yeniden çalıştırılacaktır. Bu, orijinal komutunuz bazı seçenekler içeriyorsa, yeniden denemenin bir parçası olacağı anlamına gelir.

Örneğin:

 cts-tradefed run cts-dev -m CtsGestureTestCases
 

Yukarıdakilerin yeniden denenmesi her zaman CtsGestureTestCases ile sınırlı olacaktır çünkü yalnızca onu içeren bir komutu yeniden CtsGestureTestCases .

CTS stili paket için yeniden denemeyi yapılandırma

Yeniden denemenin çalışması için önceki sonuçların proto biçiminde dışa aktarılması gerekir. Aşağıdakilerin eklenmesi gerekir:

 <result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />
 

Bunun ana komutun XML yapılandırmasına eklenmesi gerekir ve sonuç klasöründe bir test-record.pb dosyasının oluşturulmasına neden olur.

CTS yeniden test_result.xml daha sonra yeniden deneme çağrısını hazırlamak için test-record.pb ve varolan test_result.xml kombinasyonundan veri yükler.