21
www.qualister.com.br (48) 3285 5615 / 9645 5506 [email protected] TDD e UnitTest em Java Terceirização de profissionais Consultoria de teste Avaliação de usabilidade Automação de testes Testes de performance Treinamentos 1

TDD e UnitTest em Java

Embed Size (px)

DESCRIPTION

Palestra ministrada na Faculdade Estácio de Alagoas, organizada pela própria instituição em conjunto com a APL Maceió e o SEBRAE Alagoas, ocorrida em Maceió, em 12 de novembro de 2013.

Citation preview

www.qualister.com.br

(48) 3285 5615 / 9645 5506

[email protected]

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:

[email protected]

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

Twitter

twitter.com/juliodelimas

3

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

Precisamos refatorar o código...

5

Vai dar merda!

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?

7

Código:

UnitTest:

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

Exemplo com JUnit

Exemplo com JUnit

16

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

www.qualister.com.br

Retorno do Investimento

20

Reto

rno

no

In

ve

sti

me

nto

Tempo

www.qualister.com.br

Dúvidas?

[email protected]

slideshare.net/juliodelimas

Telefone: (48) 3285 5615

www.qualister.com.br

21