per TDD, test "buoni" test funzionalità che il cliente desidera ; le funzionalità non corrispondono necessariamente alle funzioni e gli scenari di test non devono essere creati dallo sviluppatore nel vuoto
nel tuo caso - sto indovinando - la 'caratteristica' è che la funzione di adattamento modella i dati di input entro una certa tolleranza di errore. Dato che non ho idea di cosa stai facendo davvero, sto inventando qualcosa; speriamo che sia analgico.
Esempio di storia:
As a [X-Wing Pilot] I want [no more than 0.0001% fit error] so that [the targeting computer can hit the Death Star's exhaust port when moving at full speed through a box canyon]
Quindi vai a parlare con i piloti (e con il computer di destinazione, se senziente). Per prima cosa parli di ciò che è "normale", quindi parla dell'anormale. Scopri cosa conta veramente in questo scenario, cosa è comune, cosa è improbabile e cosa è semplicemente possibile.
Diciamo che normalmente avrai una finestra di mezzo secondo su sette canali di dati di telemetria: velocità, intonazione, rotazione, imbardata, vettore bersaglio, dimensione obiettivo e velocità bersaglio, e che questi valori saranno costanti o mutevoli linearmente. Anormalmente potresti avere meno canali e / o i valori potrebbero cambiare rapidamente. Quindi insieme ti vengono proposti alcuni test come:
//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
Ora, potresti aver notato che non esiste uno scenario per la particolare situazione descritta nella storia. Risulta, dopo aver parlato con il cliente e gli altri stakeholder, che l'obiettivo nella storia originale era solo un esempio ipotetico. I veri test sono usciti dalla discussione successiva. Questo può succedere La storia dovrebbe essere riscritta, ma non deve essere [poiché la trama è solo un segnaposto per una conversazione con il cliente].