Testando o EP1

Testando o EP1

por Luciano Ramalho -
Número de respostas: 0
No anexo, os arquivos que eu usei para testar a minha solução do EP1.

Note que o programa troco.c contém só a parte mais interessante do EP1: apenas lê a quantidade de notas e moedas disponíveis, e depois calcula o troco para diferentes valores, sem retirar dinheiro do caixa. Ou seja, todos os trocos de cada arquivo inputXX.txt são calculados considerando apenas o caixa inicial, dado pela primeira linha. Os arquivos outputXX.txt são as saídas correspondentes.

Durante o desenvolvimento, eu editei à mão algumas destas saídas, colocando valores que eu sabia que seriam corretos mas que meu programa até então ainda não produzia. É o que se chama "test-driven development", desenvolvimento motivado por testes: primeiro se faz o teste, depois se modifica o programa para passar no teste.

Para automatizar os testes, pesquisei alguns esquemas de "unit testing" em C (é uma técnica de testes muito usada em Python, Java etc.). Como não achei nada muito simples de usar, então fiz o script testes.py em Python. Ele roda o programa com os inputs e compara o resultado com os outputs correspondentes, indicando onde há divergências. A idéia de automatizar os testes é tornar fácil rodar todos eles a cada alteração do programa, evitando o risco de que o tratamento de um caso particular introduza bugs em outros casos resolvidos anteriormente.

Espero que este esquema possa ser útil a mais colegas nos próximos EPs. Se quiserem mais explicações de como usar, basta escrever pedindo.

[ ]s
Luciano