para TDD, "bom" testa os recursos de teste 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 no vácuo
no seu caso - suponho - 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ê realmente está fazendo, estou inventando algo; espero que seja análogo.
Exemplo de história:
Como um [X-Wing Pilot], eu quero [não mais que 0,0001% de erro de ajuste] para que [o computador de destino possa atingir a porta de escape da Estrela da Morte ao se mover a toda velocidade por um canyon]
Então você vai falar com os pilotos (e com o computador alvo, 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 é apenas 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 destino, tamanho de destino e velocidade de destino, e esses valores serão constantes ou mudarão linearmente. De forma anormal, 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 [porque a história é apenas um espaço reservado para uma conversa com o cliente].