Palestra tdd - rsjug
-
Upload
bruno-maomeh -
Category
Software
-
view
84 -
download
0
Transcript of Palestra tdd - rsjug
TDDPor um mundo com mais testes
RSJUG
Bruno Maomeh
Um grande aficionado pelo conhecimento, admirador do desenvolvimento de software e metodologias ágeis. Trabalhando por mais de 9 anos com o desenvolvimento, eu também sou entusiasta por comunidades de desenvolvimento de sistemas, atuando como coordenador da JavaSF International Group (JavaSF) e membro ativo da Comunidade Java do Ceará (JavaCE).
O que são testes?
O que são testes?
Teste é tudo aquilo que assegura que alguma coisa
está funcionado.
O que são testes?
"Afirma-se 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.” (Myers - 2004)
O que são testes automatizados?
O que são testes automatizados?
Qualquer instrução que teste automaticamente.
O que são testes automatizados?
Ferramentas para execução dos testes:
Tipos de testes
Teste de unidade
Teste de integração
Teste de aceitação
Teste de segurança
Teste de performance
Teste de configuraçãoTeste de regressão
Tipos de testes
Teste de unidade
Teste de integração
Teste de aceitação
Teste de segurança
Teste de performance
Teste de configuraçãoTeste de regressão
Teste de unidade
É um teste que executa a menor parcela de código de um software.
Na maioria das linguagens atuais, a menor parcela de código é um método.
Teste de unidade
Ajuda na rastreabilidade de bugs no sistema.
Teste de unidade
Previnem regressão do código
Teste de unidade
Incentivam a refatoração.
Teste de unidade
Servem como documentação.
Teste de integração
É aquele que integra duas ou mais partes do sistema ou com outros sistemas.
Integração com banco de dados ou um webservice.
Teste de integração
Garantir que as duas partes do sistema se comuniquem corretamente.
Teste de integração
São testes de "caixa preta", o que reduz a rastreabilidade de problemas com o código (com relação ao teste unitário).
Teste de aceitação
Garante que o sistema funcione como um todo.
Teste de aceitação
Simula o teste com o usuário final.
Qual tipo de teste usar?
Qual tipo de teste usar?
Em regras gerais
(isso não é uma estatística, apenas referência)
O que é TDD?
O que é TDD?
TDD é uma prática de desenvolvimento de software
onde todo o código do sistema é escrito depois de escrever
testes automatizados.
"We never have enough time for testing, so let's just write the test first." (Kent Beck)
O que é TDD?
Ciclo do TDD: Vermelho-Verde-Amarelo
O que é TDD?
Só se escreve algum código novo no sistema se houver algum código de teste quebrando.
O que é TDD?
Muito além de tecnicas de "test-first"Auxilia na detecção de falhas no design do sistema.Também deve ter informações sobre o código testado.
Se um teste está ficando muito complicado, é um grande indício que exista problema com o design.
É hora de refatorar!!
Referências
https://github.com/brunomaomeh http://www.slideshare.net/brunomaomeh https://www.linkedin.com/in/brunomaomeh
Obrigado e