Upload
aline-ferreira
View
83
Download
4
Embed Size (px)
Citation preview
Testes Unitários
Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: Qualidade de Software
Equipe: Aline Ferreira; Igor Guedes Ribeiro
Sumário
Teste Unitário
TDD
Ferramentas
Demonstração Prática
Referências
Teste Unitário
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.
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;
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.
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)
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.
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
TDD
( Teste-Driven Development )
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;
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;
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
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
Ferramentas
JUnit
Criado por Erich Gamma e Kent Beck
É um framework open-source que possibilita a criação de testes
unitários em Java;
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.
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
TesteNG
É um framework de testes inspirado do JUnit e NUnit com
algumas novas funcionalidades que tornam mais poderoso e
fácil de usar;
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.
Dúvidas ?
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
Demonstração Prática