Cevabım? Belki de hayır .
EOE testleri çok basit olduklarında iyidir. Temel senaryoları kapsamayı planlıyorsanız, EOE testleriyle avantaj elde etmeyi başarabilirsiniz. Ancak, gerçekten karmaşık ve büyük bir uygulamanız varsa (kritik veya kritik olmayan görev), bu EOE testlerinin bakımı pahalı olacaktır ve buna değer veriyorsa değer vermek için senaryonuzu bilmeniz gerekir.
Birkaç yıl önce Google Test Blogu bu konuyu tartışıyor. Sadece yazara katılıyorum. İyi bir testin hızlı , güvenilir ve izolasyon arızaları olması gerekir, EOE testlerinin size sağlayamayacağı özellikler.
Birçok senaryoyu kapsayan 12 saatten fazla uçtan uca test içeren bir uygulama üzerinde çalıştım . Sonunda bu testleri farklı makinelere dağıtmayı, testlerin başlamasını, yürütülmesini ve bitmesini kontrol ederek, sonuçları toplayıp birleştirmeyi başardık. Test edilen uygulama, monolit bir uygulamadır (test edilmesi ve çalıştırılması daha kolaydır) ve testleri sürdürmek kabus olmuştur.
Çoğu zaman, sonuçlarından hataları yakalamak yerine testleri sürdürüyorduk. Uçtan uca testte bir hatanın kökenini keşfetmek çok zaman alır. Ayrıca bir çok "yanlış-negatif" testle ve sorunu anlamak ve düzeltmek için birkaç kez uğraştık: Java Uygulaması yükleme sorunları, sayfada bulunmayan beklenen öğe (artı otomasyon hızı ile ilgili diğer sorunlar), sadece veritabanı bellek testinde kullanılır (çünkü orijinal sorgu veritabanına özel kod kullandığından).
Bütün bunlar insanların ayakta kalmasını ve çalışmasını gerektirir. Sonunda bazı EOE testlerini silmeye ve birçok birim / entegrasyon testiyle değiştirmeye başlıyoruz.
Bu yüzden, muhafazakar tavsiyem Google'dan test piramidini kullanmaktır:
İyi bir ilk tahmin olarak, Google genellikle 70/20/10 ayrımı önerir:% 70 birim testleri,% 20 entegrasyon testleri ve% 10 uçtan uca testler. Kesin karışım her takım için farklı olacaktır, ancak genel olarak bu piramit şeklini korumalıdır.