İçeriğe geç
parazade

Test Otomasyonu Nedir?

İngilizce: Test Automation

Yayın: · Son güncelleme:

Test Otomasyonu Nedir? Kısaca

Test otomasyonu, yazılım testlerinin bir insan tarafından elle yapılması yerine önceden yazılmış betikler ve araçlar aracılığıyla otomatik olarak çalıştırılması ve sonuçların raporlanmasıdır.

Test Otomasyonu nedir?
İçindekiler
  1. Test otomasyonu nedir?
  2. Neler otomatikleştirilmeli?
  3. Araçlar ve başlangıç önerileri

Test otomasyonu nedir?

Test otomasyonu, tekrar eden test adımlarını bilgisayara yaptırmaktır. Bir test betiği yazılır: şu sayfayı aç, şu alana bunu yaz, şu butona bas, sonucun şu olduğunu kontrol et. Ardından bu betik istendiği kadar, gece gündüz, aynı hassasiyetle çalıştırılır.

İnsan yorulur, adım atlar, dikkati dağılır. Otomatik test her seferinde aynı şeyi yapar.

Neler otomatikleştirilmeli?

Her test otomasyona uygun değildir. En büyük getiri sık tekrarlanan, kuralları net ve sonucu ölçülebilir testlerdedir. Regresyon testi, birim testleri, API testleri ve kritik kullanıcı akışları bu gruptadır.

Bir hesap yapalım. Varsayımsal olarak elle iki saat süren bir regresyon kontrolü, haftada üç sürüm çıkan bir ekipte haftada altı saat eder. Otomatikleştirildiğinde aynı kontrol birkaç dakikada biter ve test uzmanı zamanını yeni özellikleri keşfetmeye ayırır. Buna karşılık bir kez yapılacak bir kontrol, sürekli değişen bir tasarım ya da "göze hoş görünüyor mu" türünden bir değerlendirme için otomasyon genelde zahmetine değmez.

Araçlar ve başlangıç önerileri

Web arayüzü için Playwright, Cypress ve Selenium; birim testleri için Jest, pytest ve JUnit; API için Postman yaygın araçlardır. Mobil tarafta Appium sık kullanılır.

Küçük başlayın. Önce en kritik akışı otomatikleştirin, testlerin kararlı çalıştığından emin olun, sonra kapsamı genişletin. Testleri bir CI/CD hattına bağlayın ki her değişiklikte kendiliğinden çalışsınlar. Bakımı da unutmayın: uygulama değiştikçe test betiklerinin de güncellenmesi gerekir.

Sıkça Sorulan Sorular

Test otomasyonu manuel testin yerini alır mı?

Tamamen almaz. Otomasyon tekrar eden kontrollerde güçlüdür, ama kullanılabilirlik, tasarım ve keşif odaklı testlerde insan gözü hâlâ gereklidir. İkisi birlikte kullanıldığında en iyi sonucu verir.

Test otomasyonu için kodlama bilmek gerekir mi?

Çoğu araç temel düzeyde kodlama ister. Bununla birlikte kayıt alıp tekrar oynatan ya da sürükle bırak arayüzü sunan düşük kodlu test araçları da vardır.

İlgili terimler

Manuel Test(Manual Testing)Manuel test, yazılımın herhangi bir otomasyon aracı kullanılmadan bir test uzmanı ya da kullanıcı tarafından elle, adım adım denenmesidir. Kullanılabilirlik, tasarım ve beklenmedik davranışları fark etmede güçlüdür.Regresyon Testi(Regression Testing)Regresyon testi, yazılıma yapılan yeni bir değişiklikten sonra daha önce sorunsuz çalışan özelliklerin hâlâ doğru çalıştığını doğrulamak için yapılan tekrar testidir. Amaç, düzeltilen ya da eklenen bir şeyin başka yeri bozmadığından emin olmaktır.Uçtan Uca Test(End-to-End Testing)Uçtan uca test (end-to-end, E2E), bir uygulamayı gerçek kullanıcının gözünden, arayüzden veritabanına kadar tüm katmanlarıyla birlikte baştan sona bir iş akışı üzerinden test etme yöntemidir.CI/CDCI/CD, yazılımdaki değişikliklerin otomatik olarak birleştirilip test edildiği (sürekli entegrasyon) ve yayına hazır hâle getirilip dağıtıldığı (sürekli teslimat ya da dağıtım) süreçlerin bütünüdür.Betik(Script)Betik (script), genellikle derlenmeden doğrudan çalıştırılan ve belirli bir işi otomatikleştirmek için yazılan kısa programdır. Bash, Python ve JavaScript gibi dillerle yazılır; yedekleme, dosya düzenleme ve veri işleme gibi işlerde kullanılır.Otomasyon(Automation)Otomasyon, bir işin veya sürecin insan müdahalesini en aza indirecek şekilde makineler, kontrol sistemleri ya da yazılımlar tarafından kendiliğinden yürütülmesidir. Fabrikalardan ofis işlerine kadar geniş bir alanda kullanılır.