dev-tools

Özellik Tabanlı Test

Özellik tabanlı test, kodun tüm geçerli girdiler için sağlaması gereken bir kural belirtir ve ardından bir çerçevenin çok sayıda girdi üretip onu kırmaya çalışmasına izin verir. [1,2,3] tersinin [3,2,1] olduğunu doğrulamak yerine, herhangi bir listeyi iki kez ters çevirmenin özgün listeyi döndürdüğünü doğrularsınız; bir ayrıştırıcı için üç örnek yerine, serileştiricinizin çıktısını ayrıştırmanın her zaman girdiyi yeniden ürettiğini doğrularsınız. Üretici, bir insanın yazmayı akıl etmeyeceği değerleri gezer — boş koleksiyonlar, yinelenen anahtarlar, unicode, uç sayılar, derin iç içe yapılar — ve gerçek kusurların çoğu oralarda yaşar. Bir durum başarısız olduğunda iyi bir çerçeve onu küçültür: başarısız girdiyi hâlâ başarısız olan en küçüğünü bulana dek yinelemeli olarak yalınlaştırır; böylece rapor, tetikleyen bin öğelik canavar yerine iki öğelik bir liste olarak gelir. Bu küçültülmüş durum sonrasında sıradan bir örnek testi olarak eklenmelidir, çünkü yeniden gerileyecektir. Zor kısım özellikleri seçmektir ve ödünç alınacak yinelenen biçimler vardır. Gidiş-dönüş: kodla, sonra çöz, girdiyi döndürür. Değişmez: sıralanmış çıktı, girdiyle aynı öğe çokluğuna sahiptir. Kâhin: hızlı gerçekleme, yavaş ve apaçık doğru olanla aynı fikirdedir. Etkisiz tekrar: bir işlemi iki kez uygulamak bir kez uygulamaya eşittir. Özellik testleri örnek testlerin yerini almaz — bir örnek niyeti okunaklı biçimde belgeler — ve belirlenimci olmamaları nedeniyle sabit bir tohum ile kaydedilmiş bir hatayı saklamak, kırmızı bir derlemenin yeniden üretilebilmesi için değerlidir.

İlgili terimler

Daha fazla Geliştirici Araçları terimi