Mevcut bir projeye otomatik test entegrasyonu sağlamak, karmaşık ve çok aşamalı bir süreçtir.
Sorunun geçmişi: Uzun süredir manuel test yapılan bir organizasyonda, süreçler, belgeler ve kod mimarisi genellikle otomasyon için gerekli şartlara uygun değildir. Test mühendisleri otomatik araçları bilmiyor olabilir ve testlerin ve uygulamaların mimarisi otomatik testlerin hızlı bir şekilde başlatılmasını desteklemiyor olabilir.
Problemler: Entegrasyonun ana zorlukları:
Çözüm: Ekip şu aşamaları geçmelidir:
Anahtar özellikler:
Otomatik testler manuel testlerin yerini tamamen alabilir mi?
Hayır. Otomatik testlerin yüksek örtüşmesine rağmen, yalnızca tekrarlanan, deterministik senaryolar için uygulanabilir. Kullanılabilirlik hataları, keşif, tasarım hataları ve alışılmadık "insani" hatalar genellikle elle tespit edilir.
Tüm test durumlarını otomatikleştirmek zorunlu mu?
Hayır. Tüm test durumlarını otomatikleştirmek mantıklı değildir: düşük frekanslı veya karmaşık senaryoları, maliyeti ve düşük dönüş oranı nedeniyle manuel testler için bırakmak daha iyidir.
Başarılı bir otomasyon için test mühendislerinin kesinlikle programcı olması gerekir mi?
Hayır, ancak temel programlama bilgisi istenmektedir. Ekip genellikle şunları içeren bir yapı üzerine kurulmaktadır: deneyimli bir test mühendisi - otomatik testlerin mimarı, otomasyona yönelik mühendisler - geliştiriciler.
Şirket, ayrı bir ekip belirlemeden ve öncelikleri tartışmadan tüm manuel testleri aynı anda otomatikleştirmeye karar verdi. Popüler bir araç satın alındı, ancak gerekli tarayıcıların bir kısmını desteklemiyordu. Sonuç olarak, testlerin yarısı üç ay içinde çalışmamaya başladı.
Artılar:
Eksiler:
Ekip, elle en sık yapılan 10 regresyon senaryosunu seçti. Python (Selenium) otomasyonu üzerine eğitim verdi, testleri CI'ye ekledi. Altı ay sonra, regresyon kontrollerinin %70'i otomatik olarak başlatıldı, manuel test mühendisleri yaratıcılıkla meşguldü.
Artılar:
Eksiler: