para TDD, testes de teste "bons" recursos que o cliente deseja ; os recursos não correspondem necessariamente às funções e os cenários de teste não devem ser criados pelo desenvolvedor em um vácuo
no seu caso - eu estou supondo - o 'recurso' é que a função de ajuste modela os dados de entrada dentro de uma certa tolerância a erros. Como não tenho ideia do que você está realmente fazendo, estou inventando algo; espero que seja analgésico.
Exemplo de história:
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]
Então você vai falar com os pilotos (e com o computador de segmentação, se for sensível). Primeiro você fala sobre o que é "normal", depois fala sobre o anormal. Você descobre o que realmente importa nesse cenário, o que é comum, o que é improvável e o que é meramente possível.
Digamos que normalmente você terá uma janela de meio segundo em sete canais de dados de telemetria: velocidade, inclinação, rotação, guinada, vetor de alvo, tamanho do alvo e velocidade alvo, e que esses valores serão constantes ou mudarão linearmente. Anormalmente você pode ter menos canais e / ou os valores podem estar mudando rapidamente. Então, juntos você faz alguns testes, como:
//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
Agora, você deve ter notado que não há cenário para a situação específica descrita na história. Acontece que depois de conversar com o cliente e outras partes interessadas, esse objetivo na história original era apenas um exemplo hipotético. Os testes reais saíram da discussão que se seguiu. Isso pode acontecer. A história deve ser reescrita, mas não precisa ser [já que a história é apenas um espaço reservado para uma conversa com o cliente].