apresentacao testes de unidade

25
Testes Unitários Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: Qualidade de Software Equipe: Aline Ferreira; Igor Guedes Ribeiro

Upload: aline-ferreira

Post on 15-Jul-2015

83 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Apresentacao Testes de Unidade

Testes Unitários

Tecnologia em Análise e Desenvolvimento de Sistemas

Disciplina: Qualidade de Software

Equipe: Aline Ferreira; Igor Guedes Ribeiro

Page 2: Apresentacao Testes de Unidade

Sumário

Teste Unitário

TDD

Ferramentas

Demonstração Prática

Referências

Page 3: Apresentacao Testes de Unidade

Teste Unitário

Page 4: Apresentacao Testes de Unidade

Teste Unitário

Testes unitários, como o nome sugere, devem testar unidades

de trabalho isoladas, afim de mostrar que funcionam

individualmente.

O que é unidade?

Componente, classe, método, etc.

Page 5: Apresentacao Testes de Unidade

Teste Unitário

Implica em testar a estrutura interna (como fluxo lógico e de

dados) a função da unidade e os comportamentos observáveis.

Foco: Funcionalidade;

Preciso: aponta o caso específico que gera problemas;

Page 6: Apresentacao Testes de Unidade

Teste Unitário

Quando existe a necessidade de testar unitariamente um

método que realize uma tarefa que dependa de algum recurso

externo é necessário o uso de um Mock.

Mock:

é uma técnica para simular o comportamento de estruturas

de programação.

Page 7: Apresentacao Testes de Unidade

Teste Unitário

Vantagens:

Previne contra o aparecimento de “bugs” oriundos de

códigos mal escritos.

Código testado é mais confiável.

Permite alterações sem medo (coragem)

Page 8: Apresentacao Testes de Unidade

Teste Unitário

Vantagens:

Testa situações de sucesso e de falha.

Serve como métrica do projeto (teste == requisitos)

Gera e preserva um “conhecimento” sobre as regras de

negócios do projeto.

Page 9: Apresentacao Testes de Unidade

Teste Unitário

Necessita de planejamento prévio;

Esse tipo de teste é de responsabilidade do próprio desenvolvedordurante a implementação do sistema.

Pode ser escrito antes ou depois de implementado o objeto alvo doteste

Page 10: Apresentacao Testes de Unidade

TDD

( Teste-Driven Development )

Page 11: Apresentacao Testes de Unidade

TDD

O conceito de Desenvolvimento Guiado por Testes define que

antes de criarmos um código novo (classe), devemos escrever

um teste (classe de Test Case) para ele;

Page 12: Apresentacao Testes de Unidade
Page 13: Apresentacao Testes de Unidade

TDD

Irão assegurar o comportamento adequado do código;

Nenhum código vai para produção sem ter pelo menos um

teste associado a ele;

Assegura que tudo foi testado antes de ser entregue;

Page 14: Apresentacao Testes de Unidade

TDD

Facilita o rastreamento de erro caso uma mudança ocasione

um problema;

Os testes direcionam como o código deverá ser estruturado

Implementação de maneira simples

Page 15: Apresentacao Testes de Unidade
Page 16: Apresentacao Testes de Unidade

TDD

Caso os testes não sejam abrangentes, erros podem

acontecer quando o sistema estiver em produção;

Correções podem causar efeitos colaterais em outros lugares

que não foram previstos

Page 17: Apresentacao Testes de Unidade

Ferramentas

Page 18: Apresentacao Testes de Unidade

JUnit

Criado por Erich Gamma e Kent Beck

É um framework open-source que possibilita a criação de testes

unitários em Java;

Page 19: Apresentacao Testes de Unidade

JUnit

Casos de teste são constituídos por um ou mais métodos,

sendo que estes podem estar agrupados em suítes de teste.

Ele Fornece uma API (conjunto de classes) para construir os

testes e Aplicações gráficas e em modo console para executar

os testes criados.

Page 20: Apresentacao Testes de Unidade

JUnit

Pode verificar se cada unidade de código funciona da forma

esperada.

Facilita a criação, execução automática de testes e a

apresentação dos resultados.

É Orientado a Objeto

É gratuito e pode ser baixado em: www.junit.org

Page 21: Apresentacao Testes de Unidade

TesteNG

É um framework de testes inspirado do JUnit e NUnit com

algumas novas funcionalidades que tornam mais poderoso e

fácil de usar;

Page 22: Apresentacao Testes de Unidade

TesteNG

TestNG é projetado para cobrir todas as categorias de testes:

unidade, funcional, end-to-end, integração, etc ...

Apoiado por uma variedade de ferramentas e plug-ins (Eclipse,

IDEA, Maven, etc ...)

Configuração de teste flexível.

Page 23: Apresentacao Testes de Unidade

Dúvidas ?

Page 24: Apresentacao Testes de Unidade

Referências

Testes de unidade com Junit. Disponívelem:<http://www.devmedia.com.br/testes-de-unidade-com-junit/4637> Acesso em: 31 de Outubro de 2014

O que é Mock em Teste Unitário? Disponível em:<http://www.anselmeit.com/2012/06/o-que-e-mock-em-teste-unitario.html> Acesso em: 31 de Outubro de 2014

Testes Unitários e TDD. Disponível em <http://www.mobiltec.com.br/blog/index.php/testes-unitarios-e-tdd-conceitos-básicos> Acesso em 01 de Novembro de 2014

Page 25: Apresentacao Testes de Unidade

Demonstração Prática