2. Matheus Fechine
Graduado em Ciencias da Computacão com
pós graduacão em Desenvolvimento de
Software com ênfase em arquitetura java,
ambas pela Universidade de Fortaleza
(UNIFOR), atua no mercado como
desenvolvedor desde 2008 e Coordenador
da comunidade JavaCE. Sente-se torturado
ao ver um código sem cobertura de teste.
Torcedor do Ceará, apreciador do Punk
Rock e baixista nas horas vagas.
https://github.
com/matheusfechine/TCC/blob/master/Matheus Fechine
Artigo.pdf
3. Bruno Maomeh
Grande aficionado pelo conhecimento e suas
diversas formas de representacão pelo
mundo. Admirador do desenvolvimento de
software para web e metodologias ágeis, com
o que trabalha a mais de 5 anos. Também é
apaixonado por comunidades, atuando como
coordenador da JavaSF International e
membro ativo da JavaCE. Além de tudo,
adorador do Deus Metal.
4. M2M Solutions
Nós adicionamos tecnologia da informacão e
comunicacão à infra-estrutura de transporte e
veículos com o objetivo de aumentar a
mobilidade urbana, a eficiência da frota e o
lucro operacional. Isto é ITS, sigla em inglês
para Sistemas de Transporte Inteligente.
5. O que são teste?
Teste é tudo aquilo que
asegura que alguma
coisa está funcionando
“Myers (2004) afirma que o teste de
software é um processo, ou uma série de
processos, projetado para se certificar a
respeito do código de computador, além
de fazer o que foi designado a cumprir, e
sem realizar nada que não seja
intencional.”
6. O que são teste automatizados?
Qualquer teste que execute automaticamente.
7. O que são teste automatizados?
Ferramentas para execução de testes
8. O que é TDD?
É uma prática de
programacão onde
̧
todo o código do
sistema é escrito
baseado em testes
automatizados.
9. O que é TDD?
Só se escreve algum código novo no sistema, se houver
algum código de teste quebrando.
10. O que é TDD?
Auxilia na detectacão de falhas no design do sistema
̧
Se seu teste está ficando muito complicado,
é um indício que existe problema no design.
É hora de refatorar.
11. O que é TDD?
Ciclo do TDD: Vermelho-Verde-Amarelo.
12. Teste de unidade
É um teste que executa a menor parcela de
código de um software.
Mock de Objetos
40. Aplicando TDD no seu dia-a-dia
Vamos construir um CRUD simples utilizando:
E nos testes:
41. Andando em passos de bebê
Vamos criar um CRUD
simples de Cadastro de
Usuários, onde iremos
focar em resolver
utilizando as tecnicas do
tdd.
Começaremos com
os testes de unidade
para os controllers.
42. Andando em passos de bebê
br.com.tddnaveia.controller.UsuarioControllerTest.java
(src/test/java)
43. Andando em passos de bebê
br.com.tddnaveia.controller.UsuarioController.java
(src/java/java)
48. Mock Objects
● Quando devo “mockar”?
○ Quando se quer isolar as dependencias de um
objeto;
○ Muito utilizado junto com testes de unidade;
■ Caso uma dependencia apresente algum bug,
seu teste poderá ser afetado por ela.
○ Também em testes de integracão, porém em casos
mais "especiais".
52. Cobertura de código
É uma medida utilizada para descrever a quantidade de um
código-fonte que está sendo testado por um determinado
conjunto de testes.
55. Projetos legados
Utilizando o mesmo princípio: Vermelho-VerdeAmarelo
AINDA DÁ TEMPO
PARA SE INSCREVER!!!
Veja mais amanhã no curso de
Caçadores de Mitos
56. Algumas más práticas
● Focar na cobertura e não nas
funcionalidades
● Testar Strings (sql)
● Testar getters e setters... (codigos gerados
pela IDE)
● @Ignore quando o teste falha