💻 SDET ve Otomasyon Nedir?

SDET ve Otomasyon Nedir?: Manuel Test, Otomasyon ve SDET rolleri arasındaki farkı bir hastanenin acil servisine benzetebiliriz: acil doktor (Manuel Tester) hasta önüne geldiğinde

Manuel Test, Otomasyon ve SDET rolleri arasındaki farkı bir hastanenin acil servisine benzetebiliriz: acil doktor (Manuel Tester) hasta önüne geldiğinde durumu gerçek zamanlı değerlendirir ve sezgisel kararlar alır — robot yapamaz bunu; tıbbi cihaz teknisyeni (Otomasyon Mühendisi) rutin EKG, tansiyon, oksijen ölçümlerini otomatik çalıştıran sistemleri kurar ve insanı bu rutinden kurtarır; biyomedikal mühendis (SDET) ise bu cihazların yazılımını yazar, test eder, hastane bilgi sistemiyle konuşturur ve sistem çöktüğünde onu ayağa kaldırır. Peki 'otomasyon her şeyi yapabiliyorsa neden hâlâ manuel tester'a ihtiyaç var?' Çünkü otomasyon ancak önceden tanımlı senaryoları kontrol eder; kullanıcının 'checkout formuna emoji yazması' gibi hiçbir spesifikasyon metninde geçmeyen kenar senaryolar ancak insan sezgisiyle keşfedilir. Java'da bu rolleri JUnit testlerine benzetebilirsin: @Test metotları SDET'in yazdığı otomasyondur, CI pipeline'ındaki smoke suite Otomasyon Mühendisi'nin kurduğu sistemdir; ama pre-launch exploratory session'ı düzenleyen deneyimli QA Manuel Tester'dır. QA kariyeri açısından pratik strateji: yeni başlayan bir QA Manuel Test becerisiyle neyin test edilmesi gerektiğini anlar; sonra otomasyonla bunu ölçeklendirir; SDET seviyesinde ise test altyapısını tasarlar — bu üç seviye birbiriyle rekabet etmez, birbirinin üzerine inşa edilir.

SDET (Software Development Engineer in Test), hem yazılım geliştirici (developer) seviyesinde kod yazabilen hem de bir test uzmanının ürün kalitesini sorgulayan vizyonuna sahip hibrit bir mühendislik rolüdür. SDET'ler sadece test koşmazlar; testleri koşturacak otomasyon altyapılarını, test framework'lerini ve CI/CD (Continuous Integration/Continuous Deployment) entegrasyonlarını sıfırdan inşa ederler.

Manuel Tester vs Otomasyon Mühendisi vs SDET

SDET Olmak İçin Hangi Beceriler Gerekir?

Mülakat & Kalite Vizyonu

Java Kullanan QA Mühendisleri İçin SDET Perspektifi

Java, kurumsal şirketlerin test otomasyonlarında en çok tercih ettiği dildir. Bir Java QA mühendisi, sadece `driver.findElement` yazmakla kalmaz; Java'nın OOP (Nesne Yönelimli Programlama) prensiplerini kullanarak ölçeklenebilir, bakımı kolay framework'ler yazar. Örneğin, test raporlarını otomatik gönderen, paralel çalışabilen ve hata anında otomatik ekran görüntüsü alan sistemleri Java Collection ve Concurrency yapılarıyla inşa eder.

Micro Lab: Test dongusunu tamamla

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Adim Adim: Test dongusunu tamamla

Gereksinimi oku ve beklenen davranisi somutlastir (Kullanici X yapinca Y olmali)

Test senaryosunu yaz: giris, adimlar, beklenen sonuc — assertion once gelmeli

Testi calistir ve gercek ciktiyi beklenen ciktiyla karsilastir

Fark varsa defect raporla: hangi adim, ne beklendi, ne geldi