CI otomasyonu türleri

Aşağıda CI sisteminizde kullanmak isteyebileceğiniz bazı tipik otomasyon biçimleri verilmiştir.

Temel işler

  • Derleme: Sıfırdan bir proje derleyerek yeni değişikliklerin doğru şekilde derlenmesini ve tüm kitaplıklar ile araçların birbiriyle uyumlu olmasını sağlarsınız.

  • Lint veya stil kontrolleri: Bu, isteğe bağlı ancak önerilen bir adımdır. Stil kurallarını zorunlu kıldığınızda ve statik analiz gerçekleştirdiğinizde kod incelemeleri daha kısa ve öz olabilir.

  • Yerel testler veya ana makine tarafı testler: Derlemeyi gerçekleştiren yerel makinede çalıştırılır. Android'de bu genellikle JVM olduğundan hızlı ve güvenilirdir. Robofactric testleri de gerçekleştirilir.

Araçlı testler

Emülatörlerde veya fiziksel cihazlarda çalıştırılan testler, cihazların başlatılmasını veya bağlanmasını beklerken ve karmaşıklık artıran diğer işlemler için bazı temel hazırlık işlemleri gerektirir.

CI'da aracılı testler çalıştırmak için birden fazla seçenek vardır:

  • Gradle Tarafından Yönetilen Cihazlar, kullanılacak cihazları tanımlamak için kullanılabilir (örneğin, "API 27'deki Pixel 2 emülatörü") ve cihaz temel hazırlığını gerçekleştirir.
  • Çoğu CI sistemi, Android emülatörlerini işlemek için üçüncü taraf bir eklenti ("eylem", "entegrasyon" veya "adım" olarak da adlandırılır) ile birlikte gelir.
  • Araçlı testler için Firebase Test Lab gibi bir cihaz çiftliğine yetki verin. Cihaz çiftlikleri yüksek güvenilirlik özelliklerinden dolayı kullanılır ve emülatörlerde veya fiziksel cihazlarda çalışabilir.

Performans regresyon testleri

Uygulama performansını izlemek için karşılaştırma kitaplıklarını kullanmanızı öneririz. Geliştirme sırasında performans testlerinin otomatikleştirilmesi, tutarlı ve gerçekçi test sonuçları elde etmek için fiziksel cihazlar gerektirir.

Karşılaştırmaları çalıştırmak, özellikle de karşılaştırma yaptığınız kod ve kullanıcı yolculukları kapsamının geniş olduğu durumlarda uzun sürebilir. Birleştirilen her özellik veya kaydetme için tüm karşılaştırmaları çalıştırmak yerine, bunları düzenli olarak planlanmış bakım derlemesi (ör. gecelik derleme) kapsamında yürütmeyi deneyin.

Performansı izleme

Adım sığdırmayı kullanarak performans regresyonlarını izleyebilirsiniz. Adım sığdırma, önceki derleme sonuçlarının geçerli derlemeyle karşılaştırıldığı bir kayan zaman aralığını tanımlar. Bu yaklaşımda çeşitli karşılaştırma sonuçları, regresyona özel tek bir metrikte birleştirilir. Regresyon testi sırasında gürültüyü azaltmak için adım sığdırma uygulayabilirsiniz.

Bu, tek bir derleme için karşılaştırma süreleri yavaş olduğunda oluşabilecek yanlış pozitifleri azaltır ve ardından tekrar normalleştirir.

Kapsam regresyon kontrollerini test et

Test kapsamı, sizin ve ekibinizin testlerin bir değişikliği yeterince kapsayıp kapsamadığına karar vermenize yardımcı olabilecek bir metriktir. Ancak, tek gösterge bu olmamalıdır. Yaygın bir uygulama olarak, kapsam temel dala göre düşüş gösterdiğinde başarısız olan veya bir uyarı gösteren bir regresyon kontrolü ayarlanır.