Uçtan Uca Test
- İngilizcesi
- End-to-End Test
- Okunuşu
- end tu end test
Günlük kullanımda iki ad da yaygın.
Kısaca
Uçtan uca test, kullanıcı arayüzünden veritabanına ve geri dönüşe kadar tam bir kullanıcı yolculuğunu uygulamanın tamamında çalıştıran otomatik bir testtir.
Uçtan uca test nedir?
Çoğunlukla E2E testi olarak kısaltılan uçtan uca test, uygulamanın bütününün kullanıcının bakış açısından çalıştığını kontrol eder. Kayıt olmak, sepete ürün eklemek ve ödemeyi tamamlamak gibi gerçekçi bir görevi yerine getirir ve her adımın ön yüz, arka yüz ve veritabanı boyunca doğru sonucu ürettiğini doğrular.
Web uygulamaları için E2E testleri genellikle gerçek ya da headless (görünür pencere olmadan çalışan) bir tarayıcı açan, düğmelere tıklayan, formları dolduran ve sayfada görünenleri okuyan bir tarayıcı otomasyon aracına dayanır. Uygulama, gerçek servislerin bağlı olduğu, üretime yakın bir ortamda çalışır; böylece test, bir müşterinin izleyeceği yolların aynısını sınar.
Bunu bir test sürüşüne benzetebiliriz: arabanın her parçasını ayrı ayrı incelemek yerine blok etrafında bir tur atar ve gitmek istediğiniz yere ulaşıp ulaşmadığınızı doğrularsınız. E2E testleri yavaş olduğu, tam bir ortam gerektirdiği ve değişikliğinizle ilgisiz nedenlerle başarısız olabildiği için ekipler genellikle bunlardan yalnızca giriş ve ödeme gibi en kritik akışlar için az sayıda tutar.
E2E testleri sıklıkla entegrasyon testleriyle karıştırılır. Entegrasyon testi, birkaç bileşenin arka planda birlikte çalışmasını kontrol ederken E2E testi tüm sistemi gerçek arayüzü üzerinden çalıştırır. E2E testleri test başına en yüksek güveni verir; ancak aynı zamanda en yavaş olanlardır ve en çok kararsız (flaky) hâle gelmeye yatkındırlar.
Önemli noktalar
- E2E testleri, uygulamanın tamamında gerçek kullanıcı yolculuklarını simüle eder.
- Web E2E testleri genellikle gerçek ya da headless bir tarayıcıyı otomatikleştirir.
- En yavaş ve en pahalı testlerdir; bu yüzden kritik akışlara saklanmalıdır.
- Test piramidinin tepesinde, birim ve entegrasyon testlerinin üstünde yer alırlar.
Örnek
test("user can log in and see the dashboard", async ({ page }) => {
// Drive a real browser exactly like a user would
await page.goto("https://app.example.com/login");
await page.fill("#email", "ada@example.com");
await page.fill("#password", "correct-horse");
await page.click("button[type=submit]");
// The user should land on the dashboard
await expect(page.locator("h1")).toHaveText("Dashboard");
});Sık sorulan sorular
E2E ne anlama gelir?
E2E, end-to-end (uçtan uca) ifadesinin kısaltmasıdır. E2E testi, uygulamayı tek bir gerçekçi senaryoda bir uçtan, yani kullanıcı arayüzünden, diğer uca, yani veritabanına ve harici servislere kadar kontrol eder.
Uçtan uca testler neden yavaş ve kararsızdır?
Tam bir uygulama başlatırlar, gerçek bir tarayıcıyı yönetirler ve ağa, zamanlamaya ve test verisine bağlıdırlar. Bunların herhangi biri gecikmelere ya da rastgele hatalara yol açabilir; bu yüzden E2E test takımları küçük tutulur ve sabit beklemeler yerine belirli öğeleri bekler.
İlgili sayfalar
- Entegrasyon TestiTest ve Kalite, s. 7Entegrasyon testi, kod, veritabanı ve API gibi bir sistemin birkaç parçasının birlikte doğru çalışıp çalışmadığını kontrol eden otomatik bir testtir.
- Birim TestiTest ve Kalite, s. 4Birim testi, bir fonksiyonun, metodun ya da sınıfın programın geri kalanından yalıtılmış olarak doğru davrandığını doğrulayan küçük ve otomatik bir kontroldür.
- Flaky TestTest ve Kalite, s. 8Flaky test, koda hiçbir değişiklik yapılmadan bazen geçen bazen başarısız olan ve sonuçlarına güvenmeyi zorlaştıran otomatik bir testtir.
- Regresyon TestiTest ve Kalite, s. 21Regresyon testi, daha önce çalışan özelliklerin bozulmadığından emin olmak için bir kod değişikliğinden sonra mevcut testleri yeniden çalıştırma pratiğidir.
- Web TarayıcısıWeb Geliştirme, s. 57Web tarayıcısı, sunuculardan web sayfalarını alıp HTML, CSS ve JavaScript'i ekranda gördüğünüz etkileşimli sayfalara dönüştüren uygulamadır.
- CI/CDDevOps ve Bulut, s. 9CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
- PlaywrightTest ve Kalite, s. 20Playwright, Chromium, Firefox ve WebKit'i tek bir API ile yöneten, Microsoft'un uçtan uca test ve tarayıcı otomasyonu için açık kaynaklı framework'üdür.
- CypressTest ve Kalite, s. 5Cypress, web uygulamalarının uçtan uca ve bileşen testlerini tarayıcıda yürüten, otomatik bekleme ve etkileşimli çalıştırıcı sunan JavaScript framework'üdür.
- SeleniumTest ve Kalite, s. 22Selenium, çoğunlukla uçtan uca test için web tarayıcılarını otomatikleştiren, WebDriver API'si birçok dilde bulunan açık kaynaklı bir araç takımıdır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin