Post on 25-May-2015
description
www.qualister.com.br
(48) 3285 5615 / 9645 5506
contato@qualister.com.br
TDD e UnitTestem Java
• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
1
www.qualister.com.br
Palestrante
Júlio de Lima
E-mail:
julio.lima@qualister.com.br
Linkedin:
br.linkedin.com/in/juliodelimas/
• Especialista em automação de testes de software
• Experiência em projetos:
– Softwares para o setor Público
– Mercado de Ações
– Telefonia e SAP
– CloudComputing
• Certificações internacionais (CTFL e CTAL-TM)
• Certificação nacional (CBTS)2
www.qualister.com.br
Parcerias internacionais
Soluções para automação, profilling e gestão de testes
Soluções para testes de performance
Soluções de apoio a avaliação de usabilidade
4
www.qualister.com.br
O que é Unit Test?
“Unit Test (Teste unitário) é um processo
de desenvolvimento de software no qual
a menor parte testável de uma
aplicação, denominada Unidade, é
individualmente e independentemente
verificada se faz o que realmente
deveria fazer”
Software Testing Stuff
http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html
6
www.qualister.com.br
O que é Unit Test?
“A criação de testes unitários evita
diversos problemas futuros, por
garantir a qualidade e eficiência do
código.”
Software Testing Stuff
http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html
8
www.qualister.com.br
Porque testar?
Para adquirir confiança no código
que está sendo desenvolvido. E
garantir que mudanças futuras não
farão com que o que funcionava,
parou de funcionar.
9
www.qualister.com.br
Porque testar?
“Ficar com a mente tranqüila depois de alterar uma grande
quantidade de código, não tem preço!”10
Será que eu fiz merda!?
www.qualister.com.br
Frameworks
Frameworks fornecem ao
desenvolvedor bibliotecas que
tornam mais simples e mais
produtivo o trabalho de construção
dos testes.
11
www.qualister.com.br
Quando são construídos?
Antes, durante ou após a
codificação. Isso depende da
metodologia utilizada.
12
www.qualister.com.br
Características de um bom UnitTest
Livro: The Pragmatic Unit Testing13
Automático;
Completo;
Repetitivo;
Independente;
Objetivo;
Profissional;
Veloz;
Legível.
www.qualister.com.br
TDD (Test-Driven Development)
TDD é uma técnica utilizada geralmente
em projetos que seguem metodologias
ágeis, e prega que, antes de iniciar a
escrita de código, devemos construir
testes que provem que o código que
será escrito funciona como esperado.
14
www.qualister.com.br
O ciclo Red/Green/Refactor
A construção dos scripts seguem um
fluxo muito conhecido, chamado
Red/Green/Refactor, palavras que
fazem referência a
Falha/Sucesso/Manutenção do código
15
www.qualister.com.br
Os testes podem ser executados
manual ou automaticamente, antes ou
depois de codificar. Uma prática comum
é a de sincronizar a execução dos
testes com a ferramenta de integração
contínua.
Quando os testes são executados?
17
www.qualister.com.br
Benefícios
Aumenta a confiança no código
desenvolvido;
Facilita a refatoração dos códigos;
Reduz o custo das falhas encontradas;
Código pode ser testado previamente;
Permite a criação de um código mais
limpo;
Reduz o tempo com debug de código.
18
www.qualister.com.br
Desafios na adoção de Unit Test e TDD
Tempo;
Investimento;
Motivação;
Comprometimento;
Modo de programar;
Reescrita de parte
do código legado.
19