TDD için "iyi" , müşterinin istediği test özelliklerini test eder ; özellikler mutlaka işlevlere karşılık gelmez ve test senaryoları geliştirici tarafından bir boşlukta oluşturulmamalıdır
Senin durumunda - Tahmin ediyorum - 'özellik' fit işlevinin giriş verilerini belirli bir hata toleransı içinde modellemesidir. Ne yaptığınız hakkında hiçbir fikrim olmadığı için, bir şey yapıyorum; umarım analgoustur.
Örnek hikaye:
[X-Wing Pilot] olarak [% 0.0001'den fazla uyum hatası yok] istiyorum [hedefleme bilgisayarı bir kutu kanyonda tam hızda hareket ederken Death Star'ın egzoz portuna varabilir]
Öyleyse gidip pilotlarla konuşun (ve eğer duyarlıysa, hedef bilgisayarla). İlk önce 'normal' olandan, sonra anormal olandan bahsedin. Bu senaryoda neyin önemli olduğunu, neyin ortak olduğunu, neyin olası olmadığını ve neyin mümkün olduğunu keşfedersiniz.
Diyelim ki normalde yedi kanal telemetri verisi üzerinde yarım saniyelik bir pencereye sahip olacaksınız: hız, adım, yuvarlanma, yalpalama, hedef vektör, hedef boyut ve hedef hız ve bu değerlerin sabit veya doğrusal olarak değişeceği. Anormal olarak daha az kanalınız olabilir ve / veya değerler hızla değişiyor olabilir. Yani birlikte , bazı testler ile geldin:
//Scenario 1 - can you hit the side of a barn?
Given:
all 7 channels with no dropouts for the full half-second window,
When:
speed is zero
and target velocity is zero
and all other values are constant,
Then:
the error coefficient must be zero
//Scenario 2 - can you hit a turtle?
Given:
all 7 channels with no dropouts for the full half-second window,
When:
speed is zero
and target velocity is less than c
and all other values are constant,
Then:
the error coefficient must be less than 0.0000000001/ns
...
//Scenario 42 - death blossom
Given:
all 7 channels with 30% dropout and a 0.05 second sampling window
When:
speed is zero
and position is within enemy cluster
and all targets are stationary
Then:
the error coefficient must be less than 0.000001/ns for each target
Şimdi, hikayede açıklanan belirli durum için bir senaryo olmadığını fark etmiş olabilirsiniz. Müşteri ve diğer paydaşlarla konuştuktan sonra, orijinal hikayedeki bu amaç sadece varsayımsal bir örnekti. Gerçek testler sonraki tartışmadan çıktı. Bu olabilir. Hikaye yeniden yazılmalı, ancak böyle olmak zorunda değildir (çünkü hikaye sadece müşteriyle sohbet etmek için bir yer tutucudır).