JUnit. Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues

Documentos relacionados
Programação Orientada a Objetos

Introdução ao Teste Unitário com JUnit

ENGENHARIA DE SOFTWARE O QUE SÃO TESTES? TESTES TESTES TESTES 26/08/2014. São pontuais; São previsíveis; São finitos;

Teste de software. Engenharia de software Profª karine sato da silva

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Desenvolvendo aplicações de qualidade com TDD

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Análise e Projeto Orientados a Objetos

JUnit: framework de testes unitários. Fred Lopes

October 13, 2016 Web.br hugeinc.com

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Teste Unitários com NUnit. Anderson Martiniano da Rocha

Prof. Me. Marcos Echevarria

Testes Automatizados. Cursos de Verão 2007 IME/USP Dairton Bassi & Paulo Cheque

Engenharia de Software

Testes de Software. Prof. Edjandir C. Costa

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Testes em Go - Do básico ao avançado

TS02. Teste de Software INTRODUÇÃO AO PROCESSO DE TESTE DE SOFTWARE. COTI Informática Escola de Nerds

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

O papel do QA (Testador) em um time Ágil. #caipiraagil2017

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima


Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

Teste Automatizado POO. Prof. Marcio Delamaro

Testes com JUnit. Treinamento ALESP SPL. Danilo Toshiaki Sato.

DESCOBERTO. (Glen Myers)

3 Processo de Teste. 3.1.Visão Geral do Processo

Teste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Community. .com. Introdução ao T D

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Técnicas de Orientação à Objeto. Introdução Modelagem de objeto, classe, atributos e métodos em linguagem Java Desenvolvimento Guiado por Testes

Desenvolvimento de programas

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

1. A principal razão de dividir o processo de teste em tarefas distintas é:

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

7 Conclusão e Trabalhos Futuros

Organização para Realização de Teste de Software

Testes Unitários com JUnit

Análise e Projeto Orientados a Objetos

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Uso de Integração Continua no controle de acesso a ambientes. André Pinheiro TIC - UFRJ

Introdução a Teste de Software

Introdução a Testes de Software. Ricardo Argenton Ramos

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

3 Trabalhos Relacionados

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Arquitetura Java Pastoreando gatos

Desenvolvimento orientado por testes, padrões de testes e JWebUnit

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

Introdução a Programação Web com PHP

Estratégias de Testes Parte I

6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES?

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Laboratório de Programação II

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN

Laboratório 01 NetBeans

Padrões de Testes Automatizados

Fundamentos de programação

Testes Ágeis com BDD. Por que o BDD pode salvar o agile? Paloma Costa

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

Teste de Software: conceitos, técnicas e benefícios

INTRODUÇÃO AO JAVA SCRIPT

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

Programação de Computadores III

Aula 02 ALGORITMOS. Introdução à Computação

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Lista de Exercícios 02: Revisão

Programação de Computadores:

Testar: impossível. Jorge Diz Globalcode. Agile Brazil 2010 Slide 1

REUSO E REUSABILIDADE

DESENHO DE CARGOS E TAREFAS

JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge

Princípios e práticas de extremme Programming

Teste de Software Intermediário

ENGENHARIA DE SOFTWARE

TESTES DE SOFTWARE Lista de Exercício 02. Luiz Leão

Algoritmos Estrutura Condicional

Métodos Ágeis e Programação Extrema (XP)

4. Constantes. Constantes pré-definidas

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

Programação Extrema na Prática

ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE. Resp:Marcelo Nascimento Costa, MSc

Testes Unitários em Java

Engenharia de Software

Minicurso - Automatização de teste de software utilizando a ferramenta SikuliX. Vanilton Pinheiro

Algoritmos e Programação

Workshop de Ambientes de apoio à Aprendizagem de Algoritmos e Programação (SBIE 2007) Instituto de Ciências Matemáticas e de Computação ICMC-USP

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

Transcrição:

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