mobile menu
Blog Kapak Desktop
Yapay Zeka İle Yazılım Test Otomasyon Bakımı

Yapay zekayı artık sadece test senaryolarımızı üretmek veya otomasyon kodu yazmak için değil en çok ihtiyacımız olan yerde otomasyonun bakımında kullanmak yapay zeka adına en faydalı ve en güzel örneklerden biri olacaktır. 

Yazılım test otomasyonları iş yükümüzü büyük oranda azaltır ve regresyon testleri için bize güvence sağlar ancak akıp giden üretim bandında üründeki değişiklikler, ortam vb. etkilerle otomasyon doğal olarak her zaman bakıma muhtaçtır. İşte bu bakımı da otomatize edebilmiş test ekipleri için artık otomasyondan maksimum fayda sağlıyor diyebiliriz. 

Otomasyon koşumunda en can sıkıcı kısım bazı testlerin birinci koşumda değil ikinci veya üçüncü koşumda başarılı olmasıdır. Baktığınızda ortamda ne geliştirme farklılığı ne de ortam farklılığı vardır. Deterministik sonuçları olmayan bu testlere tutarsız (flaky) test denir. Bu tutarsız (flaky) testleri, test setinden çıkarmalı mı sorusu yerine makine öğrenmesi ile başarısızlık sebebi tespiti yapmak test kapsamımızı yüzde yüz olarak tutmamızı sağlayacaktır. Makine öğrenmesi ile bu durumun sürekliliği ve aldığı vakti ölçümlemek bile test setinden çıkarılması konusunda daha doğru karar verilmesi için faydalı olacaktır. Makine Öğrenmesi (ML) verdiğiniz yönergelere ve önceki koşum verilerine göre size yeni senaryo setleri önerebilir. 

Otomasyonda bir diğer durum ise testini yaptığınız üründe arayüzde yapılan değişikliklerdir. Siz arayüzdeki nesneleri id’ler ile tanımlamış olmanıza rağmen uygulamada girişten (loginden) sonra açılan bir kampanya penceresi tüm testlerin başarısız olması demektir. Bu durumda bir if else bloğu mu yazılmalı yoksa makine öğrenmesi ile bu aşılabilir mi? Bir otomasyon aracı Öz Onarım (Self-healing) yaparak örneğin Testinium’da java dili x-path ile nesneyi bulabilir mi? 

Tüm bu sorulara akademik çalışmalarda ve sahada uygulanabilirliği açısından cevap aramaya çalışalım. 

Yazılım Test Otomasyonu Bakımında Yapay Zekâ Teknikleri 

1. Öz Onarım (Self‑Healing), Tutarsız (Flaky) Testler ve Akıllı Test Yönetimi 

Yazılım test otomasyonu, modern yazılım geliştirme süreçlerinin vazgeçilmez bir parçası haline geldi. Ancak akademik ve saha çalışmalarının ortak vardığı nokta, test otomasyonu yazmak kadar, onu ayakta tutmak da zordur. Özellikle UI değişimleri, asenkron davranışlar ve CI (Continuous Integration) ortamlarının karmaşıklığı, test bakım maliyetlerini hızla artırır. Bu noktada Yapay Zekâ (AI) destekli yaklaşımlar test bakımını otomatikleştirmenin en etkili yollarından biri olarak öne çıkmaktadır. 

Neden Test Otomasyonu Bakımı Yapay Zekaya İhtiyaç Duyar? 

Araştırmalar, başarısız otomasyon testlerinin önemli bir bölümünün gerçek ürün hatalarından değil, testlerin kendisinden kaynaklandığını göstermektedir [1].  

Özellikle: 

  • Kırılgan konum bulucular (locatörler) 

  • Zamanlama problemleri 

  • Tutarsız (Flaky) test davranışları 

CI/CD süreçlerinde yanıltıcı kırmızı koşulara ve ciddi geliştirici zaman kaybına yol açar. Parry ve arkadaşları, tutarız (flaky) testlerin geliştirici üretkenliğini belirgin biçimde düşürdüğünü deneysel olarak ortaya koymuştur.  

2. Yapay Zeka ile Tutarsız (Flaky) Test Bakımı 

Kullanılan Teknikler 

  • Gözetimli makine öğrenmesi (Random Forest) 

  • Hibrit modeller (yeniden‑koşum + ML (Makine Öğrenmesi) 

CANNIER yaklaşımı, tutarsız (flaky) test tespitini yalnızca ML ya da yalnızca yeniden‑koşum yerine hibrit şekilde ele alarak, klasik yöntemlere kıyasla 10 kata kadar daha hızlı tespit sağlamıştır [1]. 

  Yöntem 

 Sorun 

  Sürekli rerun 

 Doğru ama çok yavaş 

  Salt ML 

 Hızlı ama yanlış sınıflandırma riski 

Tablo 1. Cannier Yaklaşımı Sebepleri 

Bakım Katkısı: 

ML modeliniz testin tutarsız (flaky) olma ihtimalini tespit eder. Böylelikle re-run sadece aday testlere uygulanır. Tutarsız (flaky) testler otomatik olarak etiketlenebilir, karantinaya alınabilir veya bakım önceliği olarak işaretlenebilir. Bu sayede manuel analiz yükü ciddi biçimde azalır. 

Görsel 1. Yapay Zeka ile Tutarsız (Flaky) Test Döngüsü

3. Öz - onarımlı (Self-Healing) Testler

Self‑healing test otomasyonu, bir test elemanı bulunamadığında alternatif locatörleri otomatik olarak keşfeder ve en uygun olanı run‑time sırasında kullanır. 
Görsel 2. Yapay Zekanın Alternatif Konum Bulucu (Locatör) Bulma Akışı
Kullanılan Teknikler 
  • DOM ağaç benzerliği (Document Object Model) 

  • Özellik tabanlı benzerlik (attribute matching) 

  • Derin Öğrenme (CNN + UI görsel tanıma)( Convolutional Neural Network) 

  • Pekiştirmeli Öğrenme (Reinforcement Learning) ile adaptasyon 

 

Görsel 3. Öz -Onarım’da (Self Healing) Kullanılan Teknikler
2024 ve 2025’te yayımlanan çalışmalar, deep learning tabanlı öz-onarım (self‑healing) framework’lerinin test bakım eforunu %30–40 oranında azalttığını raporlamıştır.  

Ayrıca Kavuri (2023), otonom ML ajanları kullanarak gerçek zamanlı test onarımının tutarsız (flaky) testleri ciddi ölçüde azalttığını göstermektedir.  

Bakım Katkısı: 

Basit UI değişiklikleri yüzünden test senaryosu yeniden yazılmaz; sistem otomatik uyum sağlar. 

4. Test Seçimi ve Önceliklendirmede Yapay Zekâ 

Her koşumda tüm testleri çalıştırmak hem pahalı hem de yavaştır. 

Kullanılan Teknikler 

  • Değişiklik‑tabanlı ML modelleri 

  • Liste temelli ranking algoritmaları 

  • Pekiştirmeli Öğrenme (Reinforcement Learning/RL) 

Facebook’ta uygulanan Predictive Test Selection, test altyapı maliyetlerini %50 azalttı, ancak hataların >%95’ini yakalamayı sürdürdü. 

Pan ve arkadaşları, RL tabanlı önceliklendirme yöntemlerinin klasik ML tekniklerinden daha stabil sonuç verdiğini göstermiştir. 

Bakım Katkısı: 

Daha az test, daha hızlı geri bildirim, daha yönetilebilir bakım.

5. Riskler ve Dengeleyici Stratejiler 

  Risk 

  Strateji 

  Yanlış  Öz -onarım (selfhealing) 

  Confidence threshold + insan onayı   

  Aşırı otomasyon 

  Hibrit (AI + kural tabanlı) yaklaşım  

  Veri bağımlılığı 

  Sürekli model yeniden eğitimi  

Tablo 2. AI Test Otomasyonu Bakımında Riskler ve Stratejiler 

6. Sonuç: Yapay Zeka Destekli Bakım Bir Gerekliliktir 

Akademinin ve sahanın ortak sonucu nettir. Test otomasyonu bakımında AI kullanımı, artık deneysel değil; ölçeklenebilir yazılım geliştirme için zorunlu bir yaklaşımdır. 

En yüksek fayda; 

  • Öz -onarım (Self‑healing), 

  • Tutarsız (flaky) test tespiti, 

  •  Akıllı test seçimi 

Yaklaşımlarının birlikte kullanılmasıyla elde edilmektedir.  

Diğer sonuçlara baktığımızda ise özellikle nesnelerin görsel tanımlanarak kodlandığı test otomasyonlarında gözle görülür bir fayda sağladığı tespit edilmiştir. Öz -Onarım’dan (Self-healing) dolayı bazen gerçek hataları tespit edilemediği ve bunun uygulamaya olan güveni azalttığı ve riskli olduğunu belirtmişler. Nesnelerinizi id’ler ile tanımlamışsanız Öz – Onarım (self-healing) size ne kadar fayda sağlayabilir, bunu deneyerek görebilirsiniz. Bu hem ürününüze hem de kullanacağınız yapay zeka uygulamasına bağlı bir durumdur.

Başta yazdığımız otomasyondan faydanın en maksimum seviyeye ulaşması yapay zekanın bakımlarda en etkili kullanılmasıyla olur. Mevcut yapay zeka uygulamaları, ürünler, otomasyonlar ve bizim yapay zekayı kullanma kapasitemiz buradan çok da uzakta değil ancak tutarlılık, güvenirlilik ve fonksiyonalite açısından biraz daha yolumuz var. 

Kaynaklar 

  1. Parry et al. (2023). Empirically Evaluating Flaky Test Detection Techniques. Empirical Software Engineering.
  2. Saarathy et al. (2024). Self‑Healing Test Automation Framework using AI and ML. IJSM.
  3. Kavuri (2023). Autonomous ML Agents for Real‑Time Test Maintenance. IJISAE.
  4. Machalica et al. (2018). Predictive Test Selection. arXiv.
  5. Pan et al. (2025). Reinforcement Learning for Test Prioritization. Applied Sciences.
Ayşe Betül Karagöz
12 Şubat 2026 Perşembe
Diğer Blog İçerikleri
Loading...