O documento introduz o teste unitário, definindo-o como um código que testa pequenas partes de um sistema para garantir seu correto funcionamento. Explica que existem duas principais abordagens para teste unitário: TDD, que desenvolve o teste antes do código, e TLD, que desenvolve o teste após o código. Finalmente, lista benefícios como aumento da qualidade e manutenibilidade do software.
1. #1 - Introdução: O que é Teste Unitário?
Software Developer: Maycon Pires
2. O que é Teste Unitário?
• Teste Unitário de Software é a criação de um código
que testa o funcionamento do código que é utilizado
pelo usuário do sistema.
• Em outras palavras, é a criação de um pequeno
programa que usa uma pequena parte do seu sistema
para garantir o correto funcionamento.
3. Metáfora
• É criar um pequeno bloco que usa o
bloco “oficial”. Caso o encaixe seja
perfeito, o bloco passou no teste,
caso não, falhou.
• Responde a pergunta:
A fôrma do bloco está correta?
4. Como Fazer?
As duas principais formas são:
1. TDD - Test Driven Development (Desenvolvimento Guiado Por Teste Unitário)
2. TLD - Test Last Development (Teste Unitário Feito Depois do Desenvolvimento)
5. TDD - Desenvolvimento Guiado Por Teste Unitário
O TDD em síntese segue 3 passos em ciclos:
1. Codifique um Método que Testa o Retorno de uma Pequena parte do Programa
que ainda NÃO Existe. Isso gera um ERRO no software.
2. Codifique a Parte que Não Existe, e Execute o 1º Passo. O retorno deve ser
SUCESSO.
3. Refatore (Melhore) o Código que Foi Criado no 2º Passo, e Execute o 1º Passo
Novamente. O retorno deve ser SUCESSO.
6. TLD - Teste Depois do Desenvolvimento
O TLD em síntese segue 3 passos:
1. Codifique uma Parte do Programa ou Toda a Funcionalidade.
2. Codifique o Teste Unitário para Cada Pequena Parte do Seu Programa. Execute o
Teste. O retorno deve ser SUCESSO.
3. Refatore (Melhore) o Código que Foi Criado no 1º Passo, e Execute o 2º Passo
Novamente. O retorno deve ser SUCESSO.
7. Benefícios Gerados
1. Defende a Imagem da Empresa no Mercado
2. Diminui a Possibilidade Perda Financeira
3. Predestina o Software a Seguir as Boas Práticas de Desenvolvimento
4. Aumenta a Manutenibilidade do Software,
o que Diminui o Custo
5. Gera Teste de Regressão, garante que o novo
não gerou bugs colaterais
8. Bibliografia
• Livro: Código Limpo - Robert Martin
• https://pt.wikipedia.org/wiki/Teste_de_regress%C3%A3o
• https://pt.wikipedia.org/wiki/Manutenibilidade
• https://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o
9. Crédito pelas Imagens CC
lbinic
https://www.flickr.com/photos/69709362@N00/
Lego
https://www.flickr.com/photos/69709362@N00/14214084564/in/photolist-nE3U8w-bBm9i
D-pNnrD6-rck99y-rpBi65-by9tdr-djfw7W-9r4B2z-hYJs6J-efDuts-94W26Q-qAhpy2-rcTY6S
-63Zt74-bwJ6Dd-qA9KE3-hYJWTx-c5su43-qAhpox-r2AoWu-ocFKSi-9471aV-bssgzt-qKo
eU2-dMMcYr-rnRhP4-cj8PRJ-dxRZXT-7L26jY-6fK3XX-ddhpDe-b7ak8e-nKm56R-bmXJV
u-7DTmZt-aDDUEt-e2W2WG-99KvXz-pr2sNF-7Gd52g-fHSiNE-rDT7c1-8VHUxN-a9FhU
m-dbeqrg-ou9MUY-jfQ5Ng-9r7z7q-capKLJ-oZ4sYa
Pictures Money
https://www.flickr.com/photos/pictures-of-money/
https://www.flickr.com/photos/pictures-of-money/17123240849/
10. Obrigado
Muito obrigado pelo seu tempo e te convido a praticar o teste
unitário para aumentar a qualidade dos softwares da nossa
indústria.
11. Autor
Maycon Pires - Software Developer
”Trabalho com desenvolvimento há 12 anos em
projetos Web e Business Intelligence. Ensinar e
aprender são meu combustível nessa jornada de
criação de soluções com software.”