Devo testar a unidade com dados que não devem ser aprovados em uma função (entrada inválida)?
Estou tentando usar o TDD para minha prática de codificação. Gostaria de perguntar se devo testar com dados que não devem ocorrer em uma função, mas esses dados podem possivelmente interromper o seu program
Aqui é um exemplo fácil de ilustrar o que eu pergunto:
uma função ROBOT que possui um parâmetro INT. Nesta função, eu sei que o intervalo válido seria apenas de 0 a 100. Se -1, 101 for usado, a função será interrompid
function ROBOT (int num){
...
...
...
return result;
}
Então eu decidi alguns casos de teste automatizados para esta função ...
1. function ROBOT with input argument 0
2. function ROBOT with input argument 1
3. function ROBOT with input argument 10
4. function ROBOT with input argument 100
Mas devo escrever casos de teste com o argumento de entrada -1 ou 101 para esta função ROBOT, se eu guardasse isso na minha outra função que chame a função ROBOT ???
5. function ROBOT with input argument -1
6. function ROBOT with input argument 101
Não sei se é necessário, porque acho que é redundância testar -1 e 101. E se for realmente necessário cobrir todos os casos, tenho que escrever mais código para proteger -1 e 101.
Na prática comum do TDD, você escreverá casos de teste em -1 e 101 também ???