İçeriğe geçScholarGate
KütüphaneKitaplığımMasaReview StudioAsistan
Giriş
Bu sayfada
SezgiNasıl çalışırNe zaman kullanılırGüçlü yönler & sınırlılıklarYaygın tuzaklarUygulamalarSSS🔒 Tam yöntemi okuKaynaklar
Bu sayfaya atıf yapBu sayfada bir hata mı var? Bildir / düzeltme öner →
Ana sayfa›Sayısal yöntemler›Mutasyon Testi
Machine learningSoftware Testing

Mutasyon Testi

Mutation Testing for Test Adequacy · Ayrıca şöyle bilinir: mutation analysis, mutant testing, fault injection

Mutasyon Testi, DeMillo, Lipton ve Sayward tarafından 1978'de geliştirilen ve küçük, kasıtlı hatalar (mutasyonlar) kaynak koda eklenip testlerin bunları yakalayıp yakalamadığını kontrol ederek test süiti etkinliğini değerlendiren bir hata enjeksiyon tekniğidir. Tüm mutantları öldüren (tespit eden) bir test süiti, mutantları öldürmeden yüksek kod kapsamına ulaşan bir süitten daha güçlüdür.

ScholarGate
  1. Machine learning
  2. v1
  3. 3 Kaynaklar
  4. PUBLISHED
Bu sayfaya atıf yap →
Araçlar & kaynaklar
Slaytları indir
Öğren & keşfet

Tam yöntemi oku

Yalnızca üyeler

Bu bölümü okumak için ücretsiz hesapla giriş yapın.

Giriş yap

Ne zaman kullanılır

Test süitlerinin yalnızca kapsama ulaşmakla kalmayıp güçlü ve etkili olduğunu doğrulamak için mutasyon testini kullanın. Güvenlik açısından kritik kodlar (aviyonik, tıbbi cihazlar) için esastır. Çok büyük kod tabanları (milyonlarca mutasyon) için pratik değildir ancak ana modüller için uygulanabilir. Tam bir resim için kod kapsamıyla birleştirin: yüksek kapsama gereklidir ancak yeterli değildir.

Güçlü yönler & sınırlılıklar

Güçlü yönler
  • Zayıf testleri ortaya çıkarır: düşük mutasyon puanıyla yüksek kapsama, testlerin davranışı doğrulamadığını gösterir
  • Test kalitesini objektif olarak ölçer: mutasyon puanı test geliştirme yaklaşımından bağımsızdır
  • Test iyileştirmesini yönlendirir: hayatta kalan mutantlar eksik test durumlarını ve uç durumları işaretler
  • Eşdeğer kodu tespit eder: tüm mutasyonlar altında özdeş davranış, ölü kodu işaret eder
Sınırlılıklar
  • Hesaplama açısından maliyetlidir: test süitini çalıştırmak × (# mutasyonlar) büyük projeler için saatler veya günler sürebilir
  • Eşdeğer mutantları tespit etmek zordur: gözlemlenebilir davranışı değiştirmeyen mutasyon manuel olarak tanımlanmalıdır
  • Araca bağlıdır: mutasyon aracı kalitesi ve mutasyon operatörleri hangi hataların ekildiğini belirler
  • Önemsiz kod için aşırıya kaçar: yüksek test edilmiş, basit fonksiyonlar doygunluğa ulaşır; azalan getiriler

SSS

Mutasyon puanı ile kod kapsamı arasındaki fark nedir?

Kapsam, yürütülen kodun yüzdesini ölçer; mutasyon puanı, öldürülen mutasyonların yüzdesini ölçer. Bir satır test edilmeden kapsanabilir: x == 5 karşılaştırması x = 4 ile hiç yürütülmezse, kapsama = %100 olur ancak mutasyon =='!=' hayatta kalır. Mutasyon daha katıdır.

Eşdeğer mutant nedir ve neden sorunludurlar?

Eşdeğer mutant, orijinaliyle özdeş davranır: örn. x = 5; y = x+0, x = 5; y = x ile eşdeğerdir. Eşdeğer mutantlar öldürülemez; birçok eşdeğerle yüksek mutasyon puanları yanıltıcıdır. Tanımlamak ve hariç tutmak için manuel inceleme gerekir.

Mutasyon testinin maliyetini nasıl azaltabilirim?

Mutant sayısını azaltmak için daha yüksek dereceli mutantlar (eşzamanlı olarak birden fazla operatörü mutasyona uğratma) kullanın. Yalnızca kapsanan koda mutasyon uygulayın (kapsama güdümlü). Artımlı mutasyon kullanın (yalnızca yeni kod). Mutasyon testini tüm kod tabanı yerine ana modüllerde çalıştırın. Çekirdekler veya dağıtılmış testler arasında paralelleştirin.

Hangi mutasyon operatörlerini kullanmalıyım?

Standart: operatörleri değiştirme (+ yerine -, < yerine ≤), ifadeleri silme, koşulları olumsuzlama. Genişletilmiş: metot çağrısı değiştirme, dönüş değeri değişiklikleri, sabit değişiklikleri. Pitest ve Stryker gibi araçlar onlarca operatör uygular; standart operatörlerle başlayın ve alana özgü olanları ekleyin (örn. sistem kodu için bit düzeyinde).

Kaynaklar

  1. DeMillo, R. A., Lipton, R. J., & Sayward, F. G. (1978). Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11(4), 34–41. DOI: 10.1109/C-M.1978.218136 ↗
  2. Just, R., Jalali, D., Inozemtseva, L., Ernst, M. D., & Holmes, R. (2014). Are mutants killed by tests? How test suite composition affects the effectiveness of mutation testing. Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. link ↗
  3. Jia, Y., & Harman, M. (2010). An analysis and survey of the development of mutation testing. IEEE Transactions on Software Engineering, 37(5), 649–678. DOI: 10.1109/TSE.2010.62 ↗

Bu sayfayı kaynak gösterin

ScholarGate. (2026, June 3). Mutation Testing for Test Adequacy. ScholarGate. https://scholargate.app/tr/numerical-methods/mutation-testing

Benzer yöntemler

Kod Kapsamı AnaliziFuzzingStatik Kod AnaliziEşdeğerlik Bölümleme TestiYazılım Karmaşıklık MetrikleriSikilomatik KarmaşıklıkFagan DenetimiHata Tahmin Modeli

İlgili referans kavramlar

Yazılım TestiYazılım İnşası ve KalitesiYazılım Doğrulama ve GeçerlemeKod Kalitesi ve Yeniden Düzenleme (Refactoring)Yazılımda Biçimsel YöntemlerYazılım Kalite Yönetimi

Bu sayfada bir hata mı var? Bildir / düzeltme öner →

ScholarGate — Mutation Testing (Mutation Testing for Test Adequacy). 2026-07-21 tarihinde şu adresten erişildi: https://scholargate.app/tr/numerical-methods/mutation-testing · Veri seti: https://doi.org/10.5281/zenodo.20539026
Hızlı bilgiler
Originator
Richard DeMillo, Richard Lipton, and Frederick Sayward
Subfamily
Software Testing
Year
1978
Type
Test effectiveness evaluation
ScholarGate

Araştırma yöntemleri için içerik öncelikli bir referans kütüphanesi — her yöntemin ne olduğu, nasıl çalıştığı ve nereden geldiği.

Açık veri (CC-BY)

Keşfet

  • Kütüphane
  • Yöntemlerde ara…
  • Alanlara göre gez
  • Alanlar
  • Yolculuk
  • Karşılaştır
  • Hangi yöntem?

Başvuru

  • Konular
  • Atlas
  • Sözlük
  • Metodoloji
  • Felsefe

Çalışma alanı

  • Kitaplığım
  • Masa
  • Sohbet

Şirket

  • Hakkımızda
  • Fiyatlandırma
  • İletişim
  • Yöntem öner

Kayıtlar, başvuru amacıyla yayımlanmış kaynaklardan derlenmiştir. Herhangi bir bilginin doğruluğunu ve kendi kullanımınıza uygunluğunu denetlemek sizin sorumluluğunuzdadır.

© 2026 ScholarGate · Araştırma yöntemleri referans kütüphanesi
  • Gizlilik
  • Çerezler
  • Koşullar
  • Hesabı sil