Qualidade e Testes

TDD - Test Driven Devlopment

Desenvolvimento Orientado a Teste.
É um dos pilares do Extreme Programing.
Geralmente o teste é escrito antes da funcionalidade.
O objetivo é antecipar erros a nível de desenvolvimento.
Consiste em testar e refatorar em pequenos ciclos, onde se escreve o teste antes do código, faz o mesmo passar e refatora o código.

É importante escrever o teste primeiro, porque a função tem que ser exportada, e para conseguir testar um código, ele precisa ser testável. Nem todo código é testável, e para que seja testável, é necessário fazer coisas dentro do código para que possibilite os testes.

O teste automatizado é uma garantia a nivel de deploy, e evita passar erros para o QA. Não descarta a presença de um tester (QA). O próprio QA de automatização pode auxiliar o desenv. escrevendo esses testes.

DICA: Sempre faça testes o mais simples possível, e a medida que consiga passar esses testes, faça testes mais complexos.

                        // Código fonte à ser testado
                            src/math.js

                        // Padrão TDD 
                            // Diretório chamado "test"
                            // Arquivo chamado "math.test.js" 
                                // Nome do arquivo a ser testado + ".test.js"

                            test/math.spec.js
                    

References