Todo desenvolvedor de software em algum momento já escreveu um trecho de código que não funcionava. Esse débito técnico, chamado de forma genérica de bug só é descoberto quando esse código é testado.
Entretanto testar um código pode ser uma tarefa complexa:
- Ambientes de desenvolvimentos complexos (na minha máquina funciona);
- Quantidades de testes a serem executados;
- Complexidade dos teste (uso de bancos de dados, sistemas de terceiros ou algum equipamento);
- Outros.