JUnit: framework de testes unitários. Fred Lopes
|
|
|
- Ana Lívia Brás Álvaro
- 9 Há anos
- Visualizações:
Transcrição
1 JUnit: framework de testes unitários Fred Lopes
2 Agenda Parte 1 - teoria Testes unitários JUnit Introdução Arquitetura API resumida Boas práticas Exemplos de uso Parte 2 prática (Eclipse) Criando testes Test Case Test Suite Executando testes
3 Testes unitários Fase do processo de teste em que se testam as menores unidades de software desenvolvidas Objetivo prevenir o aparecimento de bug s oriundo de códigos mal escritos e garantir um nível de qualidade de produto durante o desenvolvimento de software Responsabilidade do próprio desenvolvedor Tipicamente executa um método individualmente compara uma saída conhecida após o processamento da mesma Não testam todo o software Em POO: unidade pode ser um método, uma classe ou um objeto
4 JUnit - introdução Framework (arcabouço) livre para testes automatizados escrito em Java Escrito originalmente por Kent Beck (Extreme Programming) e Erich Gamma (Design Patterns) Integração com as principais IDEs Grande comunidade de usuários Utilizado principalmente no desenvolvimento de testes de unidade
5 JUnit - introdução Vantagens Permite a criação rápida de código de teste possibilitando um aumento na qualidade do desenvolvimento e teste; Amplamente utilizado pelos desenvolvedores da comunidade código-aberto, possuindo um grande número de exemplos; Uma vez escritos, os testes são executados rapidamente sem que, para isso, seja interrompido o processo de desenvolvimento; JUnit checa os resultados dos testes e fornece uma resposta imediata; JUnit é livre e orientado a objetos. Pode verificar cada método de uma classe Exibição de possíveis erros e/ou falhas
6 JUnit - arquitetura
7 JUnit - arquitetura Classe TestCase run() Cria um contexto (método setup); em seguida executa o código usando um contexto e verifica o resultado (método runtest); e por fim, limpa o contexto (método teardown). setup() Método chamado antes de cada método, pode ser utilizado para abrir uma conexão de banco de dados. teardown() Método chamado depois de cada método de teste, usado para desfazer o que setup() fez, por exemplo fechar uma conexão de banco de dados. runtest() Método responsável por controlar a execução de um teste particular. Classe TestSuite addtest() Método responsável por adicionar um novo teste.
8 JUnit API resumida Método Descrição Teste passa se assertequals(a,b) Compara dois valores a.equals(b) assertfalse(a) asserttrue(a) assertnotnull(a) assertnull(a) assertnotsame(a,b) assertsame(a,b) fail() Avalia uma expressão booleana Compara uma variável com nulo Compara dois objetos Causa uma falha no teste atual a == false a == true a!= null a == null a == b a!= b
9 JUnit boas práticas Test Case Class: [NomeClasse]Test.java, onde NomeClasse é o nome da classe a ser testada. Exemplo: Classe: Pessoa classe de teste: PessoaTest Test Case Method: test[nomemetodo], onde NomeMetodo é o método a ser testado. Exemplo: Método: Pessoa.calculaIdade() PessoaTest.testCalculaIdade()
10 JUnit exemplo de uso import junit.framework.testcase; /** * Testes de unidade para a classe {@link Pessoa */ public class TestPessoa extends TestCase { /** * Um teste de unidade para verificar se o nome está * formatado corretamente */ public void testobternomecompleto() { Pessoa p = new Pessoa( Fulano, Tal ); assertequals( Fulano Tal, p.getnomecompleto());
11 JUnit exemplo de uso /** * Um teste de unidade para verificar se os nulos são * tratados corretamente */ public void testnomeehnulo() { Pessoa p = new Pessoa(null, Tal ); assertequals(? Tal, p.getnomecompleto()); // Este código só é executado se passar pelo // assertequals anterior. p = new Pessoa( Fulano, null); assertequals( Fulano?, p.getnomecompleto());
12 JUnit exemplo de uso Fixture: Conjunto de dados de teste e objetos utilizados na execução de um ou mais testes Para reaproveitar uma Fixture em mais de um teste: Sobrescreva o método setup() (inicialização) protected void setup() { contatos = new ArrayList(); Sobrescreva o método teardown() (limpeza) protected void teardown() { contatos.clear();
13 JUnit exemplo de uso public class TesteSimples extends TestCase { private Collection colecao; protected void setup() { contatos = new ArrayList(); protected void teardown() { contatos.clear(); public void testcolecaovazia() { asserttrue(contatos.isempty()); public void testcolecaocomumitem() { contatos.add("itema"); assertequals(1, contatos.size());
14 JUnit exemplo de uso Possível ordem de execução: setup() testcolecaocomumitem() teardown() setup() testcolecaovazia() teardown() Como os testes são chamados por reflexão, a ordem de execução dos testes pode não seguir o mesmo fluxo do código Garantia: setup() será executado antes e teardown() será executado depois
15 JUnit Eclipse Agora vamos ver exemplos reais funcionando...
TESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br [email protected]
TESTE DE SOFTWARE COM XP Isac Aguiar isacaguiar.com.br [email protected] Contexto Inúmeros processos de software Evolução das formas/metodologias de desenvolvimento de software Dificuldades encontradas
Programação Orientada a Objetos
Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,
Teste Automatizado POO. Prof. Marcio Delamaro
Teste Automatizado POO Prof. Marcio Delamaro 1/51 Teste Ato de executar um programa e verificar se os resultados produzidos estão corretos Manual: realizado passando-se os parâmetros e olhando se o resultado
Teste Unitários com NUnit. Anderson Martiniano da Rocha
Teste Unitários com NUnit Anderson Martiniano da Rocha [email protected] Sumário Conceito de teste unitário Vantagens da utilização de testes unitários NUnit (Características, Atributos, Ferramentas)
O JUnit permite a realização de testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.
JUnit O JUnit é um framework open-source, criado por Erich Gamma e Kent Beck, com suporte à criação de testes automatizados na linguagem de programação Java. Esse framework facilita a criação de código
JUnit. Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues
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:
Testes Unitários com JUnit
Testes Unitários com JUnit Por: Luiz Gustavo Stábile de Souza http://luizgustavoss.wordpress.com Abril/2009 Motivação Apesar de já fazer um certo tempo que escrevi a primeira versão deste tutorial, o assunto
Testes Unitários em Java
Laboratório de Programação Março 2016 Testes Unitários uma unidade pode ser uma função, uma classe um package ou um sub-sistema. cada teste unitário tem como objectivo verificar uma propriedade comportamental
Desenvolvimento guiado por testes e ferramentas xunit
Desenvolvimento guiado por testes e ferramentas xunit Carlos Eduardo Santin Disciplina de Engenharia de Software Universidade Federal do Rio Grande do Sul - UFRGS 1 de Maio de 2006 Roteiro 1 Teste de Software
Desenvolvimento guiado por testes e ferramentas xunit
Desenvolvimento guiado por testes e ferramentas xunit Carlos Eduardo Santin 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 91.501-970 Porto Alegre RS
Análise e Projeto Orientados a Objetos
Análise e Projeto Orientados a Objetos Testes de unidade Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Introdução Por que testar?
Testes com objetos mock. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Análise e Projeto Orientados a Objetos
Testes com objetos mock Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Análise e Projeto Orientados a Objetos Introdução Testes são essenciais para garantir a qualidade do código. No entanto:
Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.
Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes
Prof. Me. Marcos Echevarria
Prof. Me. Marcos Echevarria JUnit é um framework, open-source, que auxilia a criação e execução de testes unitários em classes Java. Engenharia de Software 2 JUnit facilita a criação de testes automatizados,
Tela Principal do ArgoUML. ArgoUML: Diagrama de Casos de Uso. Elementos do diagrama. Criar um novo diagrama. Elementos do diagrama
DCC / ICEx / UFMG Tela Principal do ArgoUML ArgoUML: Diagrama de Casos de Uso Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Criar um novo diagrama Novo Diagrama de Casos de Uso Ator Caso de Uso
Aula 04 Introdução à Programação Orientada à Objetos
Aula 04 Introdução à Programação Orientada à Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Introdução à Programação Orientada
PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA
PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Ferramenta Selenium. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP
Ferramenta Selenium 1/38 O que é A ferramenta Selenium permite que se realizam testes automatizados de aplicativos Web Em particular, teste de regressão IDE Selenium Selenium WebDriver http://www.seleniumhq.org/
Introdução ao Teste Unitário com JUnit
Introdução ao Teste Unitário com JUnit Agenda Testes de Unidade Junit Primeiro Teste Executando testes com Junit e NetBeans Passos para criação de testes unitários Testes de Unidade Testes de unidade são
Linguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Sistema Futebol - Java
Sistema Futebol - Java ARTEFATO 01 Indice 1. CLASSE PESSOA... 2 2. CLASSE JOGADOR... 3 3. CLASSE TECNICO... 5 4. CLASSE SISTEMAFUTEBOL... 6 5. CLASSE SISTEMAFUTEBOLMAIN... 10 6. EXERCÍCIOS... 10 AT01 Sistema
Programação Estruturada e Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
Modulo II JUNIT. Bibliografia. Prof. Ismael H F Santos. JUnit in Action. April 05 Prof. Ismael H. F. Santos -
Modulo II JUNIT Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - [email protected] 1 Bibliografia JUnit in Action April 05 Prof. Ismael H. F. Santos - [email protected] 2 1
Palavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Programação Orientada a Objetos
Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José [email protected] 31 de julho de
Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;
Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 05 Classes, Atributos, Métodos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Classe; Atributos; Métodos. Classes É onde conceituamos
Programação Orientada a Objetos
Programação Orientada a Objetos Acessando Objetos Msc. Paulo de Tarso F. Júnior 1 Classe Classe: Radio - ligada : boolean - potencia : double + ligar() : void + desligar() : void + estaligada() : boolean
Escolhendo quais testes rodar através do JUnit e profiles do Maven
maven_ Escolhendo quais testes rodar através do JUnit e profiles do Maven Escolha quais testes rodar através de profiles do Maven, seu plugin Surefire e o framework JUnit. Grátis, rápido e indolor. Viva
Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual
Aula 09 Objetivo Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Banco de Dados 1. Crie um novo projeto
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Relacionamento entre Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Antes de Iniciar... Vamos aprender um pouco de modelagem
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções
Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach
Collections Framework
Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por
COMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS.
page objects_ PAGE OBJECTS Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS. Testes são parte fundamental do processo de desenvolvimento
Desenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Introdução a Testes Automatizados
Introdução a Testes Automatizados Cursos de Verão 2008 IME/USP www.agilcoop.org.br Paulo Cheque Testes Automatizados Teste de Software: Executar o programa a ser testado com alguma entrada e conferir visualmente
Programação Orientada a Objetos Classes Abstratas. Sérgio Soares
Programação Orientada a Objetos Classes Abstratas Sérgio Soares [email protected] Até aqui Quando usar herança? Ao redefinir um método manter o comportamento herdado! 2 Adivinhem... Surge um novo requisito
4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP
Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento [email protected] Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Programação Orientada a Objetos
Programação Orientada a Objetos Classes, Atributos e Métodos Msc. Paulo de Tarso F. Júnior 1 Introdução Programas eram lineares e com poucos módulos: PE Programação Estruturada Aumento da complexidade
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
ENGENHARIA DE SOFTWARE. Aula 12 Testes de software
ENGENHARIA DE SOFTWARE Aula 12 Testes de software OBJETIVOS Compreender os estágios de teste durante o desenvolvimento para os testes de aceitação por parte dos usuários de sistema; Apresentar as técnicas
Programação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software
Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa
Padrões Fábrica. Simple Factory Factory Method
Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar
Interfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
Verificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
Orientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Moldura de Objectos. Moldura de Objectos Junit em UML
Moldura de Objectos Uma PROGXUDGHREMHFWRV é um desenho reutilizável que modela parte de um sistema de software e é descrito por um conjunto de classes abstractas e pela forma como as suas instâncias colaboram
