JUnit Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues
Roteiro Teste Unitário: O que? Por quê? Quando? Quem? O que testar? Teste Funcional: O que é? JUnit: O que? Por quê? Planejamento Funcionamento e Análise do resultado(relatório)
Teste Unitário: O que são?
Teste Unitário: O que são? Unidade é a menor parte testável de uma aplicação. Em uma linguagem de programação orientada a objetos como o Java, a menor unidade é um método.
Teste Unitário: O que são? Testes de unidade são testes que testam apenas uma classe ou método, verificando se seu comportamento está de acordo com o desejado. Em testes de unidade, verificamos a funcionalidade da classe e/ou método em questão passando o mínimo possível por outras classes ou dependências do nosso sistema.
Teste Unitário: Por quê?
Teste Unitário: Por quê? Previne contra o aparecimento de BUG S oriundos de códigos mal escritos. Código testado é mais confiável. Permite alterações sem medo (coragem) Testa situações de sucesso e de falha. Resulta em outras práticas XP(metodologia ágil) como: Código coletivo, refatoração, integração contínua. Serve como medida do projeto (teste ==requisitos) Gera e preserva um conhecimento sobre as regras de negócios do projeto.
Teste Unitário: Por quê? imagem
Teste Unitário: Quando? No início: Primeiro projetar e escrever as classes de testes, depois as classes com regra de negócios. Diariamente: É SUGERIDO que seja rodado os testes várias vezes ao dia (é fácil corrigir pequenos problemas do que corrigir um problemão somente no final do projeto).
Teste Unitário: Quem? Test Case (para cada classe): Desenvolvedor: Projeta, escreve script e roda o script Test Suite (roda vários test cases) Coordenador e Desenvolvedor: Projeta, escreve script e roda script OBS.: A aproximação da responsabilidade dos testes ao programador é valida?
Teste Unitário: Como?
Teste Unitário: Como? A principal regra para saber o que testar é Ter criatividade para imaginar as possibildades de testes. Comece pelas mais simples e deixe os testes complexos para o final. Use apenas dados suficientes (não teste 10 condições se três forem suficientes) Não teste métodos triviais, tipo get e set. No caso de um método set, só faça o teste caso haja validação de dados. Achou um bug? Não conserte sem antes escrever um teste que o pegue (se você não o fizer, ele volta)!
Teste Unitário Caso de teste é um conjunto de entradas, condições de execução e critério de passar/falhar. Especificação de caso de teste é a descrição das entradas e condições que devem ser usadas para um ou mais casos de teste (sem a escolha concreta dos valores). Suíte de testes é um conjunto de casos de teste (que podem ser executados sequencialmente). (Pezzè e Young, Análise e Teste de Software)
Teste Funcional: O que são? Tipos de testes de caixa preta; Baseia-se em executar a unidade com determinadas entradas para comparar as saídas obtidas. Com base na especificação dos requisitos são criados os casos de teste. <entradas, saídas esperadas> <saídas obtidas>
Resumo: Teste Unitário / Funcional Unidade é a menor parte testável de uma aplicação, logo teste unitário são testes que testam apenas uma classe ou método; Casos de teste é um conjunto de valores de entradas e critério de passar/falhar. Previne aparecimento de BUGS resultantes de código mal feito, torna o software confiável e com mais qualidade; Todos testam, a todo momento durante/após o ciclo de desenvolvimento do software; Teste Funcional preocupa-se com os valores de entrada e saída da unidade.
JUnit: O que? É um framework que facilita o desenvolvimento e execução e testes de unidade em código Java.
JUnit: Por quê? Os principais motivos que favorecem o uso desse framework são: 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 É free e pode ser baixado em: www.junit.org
Prática Baixar do moodle o zip de nome Operacoes_Matematica ; Extraia em qualquer lugar; Abra o NetBeans; Abra o projeto extraido no NetBeans; E só alegria;
JUnit: Planejando os testes Devemos pensar nos que vamos testar, e quais valores de entrada utilizar; Valores de entrada devem ser valores significativos; Exemplo 1: Defina os valores que serão utilizados como entrada e saída para os testes; Anote em um bloco de notas esses valores;
JUnit: Funcionamento Crie classe de teste a partir das classe Operacoes_Matematicas Elabore o Script de teste;
JUnit: Funcionamento Comando JUnit: Exemplos assertequals
Resumo dos métodos Asserts