Tarihsel olarak, projelerde otomatik test sayısının artmasıyla birlikte çeşitli sorunlar ortaya çıkmıştır: testler karışıyor, çalışma süreleri aşılır, neyin neye yanıt verdiğini anlamak zorlaşıyordu. Dahası, test sisteminin farklı bölümleri arasında bağımlılıkların ortaya çıkma riski artıyor ve pipeline'ların genel çalışma hızı azalıyordu.
Sorun, test sayısı test altyapısının mimari desteğinden daha hızlı arttığında ortaya çıkıyor. Ölçeklenebilir çözümler olmadığında testler yavaş, bakım zor, hata bulma ve yerelleştirme karmaşık hale geliyor ve teknik borç hızla artıyor.
Çözüm, özel stratejilerin uygulanmasında yatmaktadır:
Anahtar özellikler:
Tüm testleri yalnızca entegrasyon testleri olarak yapabilir miyiz, böylece daha fazla kodu aynı anda kapsayabiliriz?
Hayır, bu yaklaşım hata yerelleştirmesini azaltır ve bakım maliyetlerini artırır, ayrıca regresyon testlerinin yürütme süresini de yavaşlatır.
Otomatik testlerin ölçeklenebilirliği yalnızca hızlandırılması anlamına mı gelir?
Ölçeklenebilirlik, mimari, sürdürülebilirlik, hız ve esnek altyapıdır. Hız, yalnızca iyi tasarlanmış büyük bir sistemin bir sonucudur.
Farklı zaman dilimlerinde çalışan takımlar için testleri nasıl doğru bir şekilde ölçeklendirebiliriz?
Yerel çalıştırma ve test ortamlarının bağımsızlığını sağlayacak bir yapı düşünmek önemlidir, aksi takdirde takımlar arasında 'çatışmalar' yaşanabilir.
Şirket içinde birkaç takım, değişikliklerini koordine etmeden yeni otomatik testleri aynı klasöre eklemeye başladı. Birkaç hafta sonra otomatik testler, verilerdeki tutarsızlıklar ve bağımlılıklar nedeniyle başarısız olmaya başladı ve çalıştırma süresi 2 saati aştı.
Artılar:
Eksiler:
Bir ekip, modüler bir yapı oluşturdu, kod alanlarına göre ayrı bir CI uyguladı, istikrar artırıldı ve etkisiz testler hakkında otomatik uyarılar uygulandı.
Artılar:
Eksiler: