Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB



Documentos relacionados
Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Testes de Software AULA 02 PLANEJANDO E ELABORANDO OS TESTES. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

NetBeans. Conhecendo um pouco da IDE

Projeto de Software Orientado a Objeto

CONVENÇÃO DE CÓDIGO JAVA

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Sintaxe Básica de Java Parte 1

GUIA INTEGRA SERVICES E STATUS MONITOR

Introdução a Java. Hélder Nunes

Orientação a Objetos com Java

ANDROID APPLICATION PROJECT

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Configurar o Furbot no Eclipse

Programação de Computadores - I. Profª Beatriz Profº Israel

Manual de Administração

AULA 06 CRIAÇÃO DE USUÁRIOS

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

2 Orientação a objetos na prática

Programação por Objectos. Java

Manual de Instalação do Hábil Enterprise NFC-e Gratuito. Hábil Enterprise NFC-e Gratuito by Koinonia Software Ltda.

Organização de programas em Python. Vanessa Braganholo

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Orientação a Objetos

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Guião de Introdução ao Eclipse IDE Índice

IBM Software Demos Rational Software Delivery Platform - Teste automatizado

Manual de Instalação do Agente Citsmart

Lógica de Programação

Programação de Computadores - I. Profª Beatriz Profº Israel

Auxiliar de instalação (Português Brasileiro) Primeiros passos

Android e Bancos de Dados

Manual do Blogilo. Mehrdad Momeny Tradução: Marcus Gama

Passos para a configuração do ambiente de desenvolvimento:

Introdução ao Processamento de Imagens com o IRIS Por Rodolfo Barros

Configuração do Linux Educacional 5 para melhor uso do MonitorINFO-V4

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Este tutorial está publicado originalmente em

INSTALAÇÃO DO CHEF FOODS NET

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Procedimentos de Implantação ireport x Protheus

INTRODUÇÃO AO SISTEMA

O MANUAL. Para utilizar o conversor, existem alguns pré-requisitos, informados abaixo:

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Noções sobre Objetos e Classes

Nome N Série: Ferramentas

Instalando o plugin CDT 4.0

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Usando o simulador MIPS

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Linguagem de Programação III

EssentialPIM: Organize sua vida sem gastar nada! 01. Start menu program group Desktop icon Quick launch icon 02.

Testes de Software. Por quê testar? 3/28/2011. Andrew Diniz da Costa. Manter alta qualidade. Prevenir e encontrar defeitos

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Implementando uma Classe e Criando Objetos a partir dela

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Procedimentos para Instalação e Utilização do PEP Programa automatizado de apoio à Elaboração de Projetos

Instalando e Configurando o LaTeX no Windows

Linguagem de Programação Visual

Tutorial Eclipse (IDE)

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

MANUAL DE INSTALAÇÃO

4 O Workflow e a Máquina de Regras

Iniciar automaticamente. Anne-Marie Mahfouf Tradução: Marcus Gama Tradução: André Marcelo Alvarenga

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

M a n u a l d e I n s t a l a ç ã o d o Q u a l i t o r A d v a n c e d

GUIA DE INSTALAÇÃO TOOLBOX.

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Sistema de Recursos Humanos

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

- Computador Servidor: É o computador que armazenará o banco de dados do programa. Não necessariamente precisa rodar o Hábil Enterprise.

TUTORIAL NetBeans 6.5

Revisão: - 1 Desinstalando Versões Anteriores

Programação Orientada a Objeto

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Estratégias para testes: a metáfora da pirâmide alimentar

JDBC Java Database Connectivity

Java 2 Standard Edition Como criar classes e objetos

Instalando software MÉDICO Online no servidor

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Usando o Google Code como repositório para projetos no Eclipse com SubClipse.

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Introdução ao IDE Netbeans (Programação Java)

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Transcrição:

Testes de Software 1 AULA 03 FERRAMENTAS DE AUTOMAÇÃO DE TESTES Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Conteúdo Programático Aula 03 O que é automação de testes? Conceitos de automação de teste Ferramentas de Teste Principais dicas para automação Automação de testes de aceitação EasyAccept e JUnit Automação de testes de cobertura EmmaCoverage Ferramenta para verificação estática de código FindBugs Considerações Finais Referências 2 Anne Caroline O. Rocha Tester Certified NTI UFPB

O que é automação de testes? 3 É uma maneira de realizar testes utilizando alguma ferramentapara automatizar determinadas atividades que são realizadas manualmente. Anne Caroline O. Rocha Tester Certified NTI UFPB

Script de Teste Conceitos de automação de teste 4 Arquivo que compõe os passos do caso de teste a serem executados sobre o sistema. Gravador ou Recorder Grava na forma de uma linguagem própria passos da execução dos testes manuais. Executor de teste ou Playback Recurso das ferramentas para re-executar tudo o que foi gravado no script de teste. Anne Caroline O. Rocha Tester Certified NTI UFPB

Ferramentas de Teste 5 Ferramenta de planejamento de testes Carga e Performance Ferramenta de testes funcionais TestLink JMeter Selenium Badboy Anne Caroline O. Rocha Tester Certified NTI UFPB

Ferramentas de Teste 6 Code Coverage Teste de Unidade Teste de Aceitação Verificação Estática Emma Coverage JUnit EasyAccept FindBugs Anne Caroline O. Rocha Tester Certified NTI UFPB

Principais dicas para automação 7 Crie os casos de teste para depois automatizar Não pense em automatizar tudo Automatize o que é prioridade Ferramentas têm que se adaptar às novas interfaces Automação requer experiência na ferramenta Inicie a automação o quanto antes no projet Anne Caroline O. Rocha Tester Certified NTI UFPB

Testes de Software 8 AULA03 TUTORIAL PARA FERRAMENTA EASYACCEPT

O EasyAccept 1. EasyAccepté umaferramentaqueajudaa criartestes de aceitação de forma fácil e rápida. 9 2. Possibilitaqueclientese osdesenvolvedoresde software possam se comunicar de forma mais clara. 3. É uma ferramenta OpenSource 4. O EasyAcceptpodeser utilizadoparatestarsistemasemjava ou em Python. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

O EasyAccept 10 [EasyAccept,2011] Usuário Resultado do Teste Comando Resultado Façade Método Script de Teste Resultado Sistema a ser testado Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Comandos: EasyAccept - Sintaxe do Script de Teste 11 Comando sem retorno createuseruserid=1 name= Joana Mendes" birthday=4/2/1960 Comando expect expect Joana Mendes " getusernameuserid=1 Adicionar valor em uma variável Id1=getUserNameuserID=1 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Comandos: EasyAccept- Sintaxe do Script de Teste Comando equalfiles equalfiles c:/relatorio1.txt c:/relatorio2.txt 12 Comando expecterror expecterror Data inválida." createusername="joana Mendes" birthday=30/2/1960 Comando quit Sairdo EasyAccept Comentário: # no início do comando Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Tipos de dados: EasyAccept Tipos de dados do script String Texto Boolean true, false Char - a Int 1, 2 Double 35,00 13 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 1 1. Abrir o Eclipse 2. Criar um novo projeto Java 3. Denominar EasyAcceptProject 4. Clicar em Finish 14 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

1. Criar a pasta lib Passo 2 2. Adicionar o arquivo easyaccept.jar nesta pasta 3. Clicar com botão direito no arquivo e escolher Build Path > Addto Build Path 15 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 3 1. Criar a pasta teste_aceitacao 2. Adicionar o arquivo us1.txt nesta pasta 16 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

1. Criar o package monopoly. Passo 4 2. Criar uma Façadepara o sistema denominada GameFacade. 17 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 5 18 1. Na classe GameFacade.java, adicionar o método main abaixo, para executar o teste do EasyAccept. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 6 1. Abrir o arquivo us1.txt e verificar que todas as linhas estão comentadas. 19 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 7 1. Abrir a classe GameFacade e executar. I. Caso a classe esteja com erro de compilação, adicionar: 20 importeasyaccept.easyaccept; Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 8 1. Após executar, o sistema abre o console com o texto: I. Test file teste_aceitacao/us1.txt: 0 tests OK 2. Isso indica que nenhum teste foi executado. 21 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 9 1. Abrir o arquivo us1.txt e tirar o comentário do primeiro comando. 22 Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 10 1. Executar novamente a classe GameFacade.java. 23 1. Desta vez o teste apresenta 1 erro. 2. Após o erro, tentar tirar o defeito do sistema, implementando o que for necessário para o teste passar. 3. Em seguida, executar o teste e verificar se o erro foi corrigido. 4. Se tiver, tirar o comentário do próximo comando em us1.txt 5. Executar novamente o teste. 6. Seguir esta sequência de passos até o final do script. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Passo 11 1. Para que o primeiro comando passe no teste basta implementar a assinatura do método para o primeiro comando. 1. Executar novamente o teste. 24 Apenas valores primitivos ou String Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

JUnit x EmmaCoverage 1. Crie o pacote teste_unidade 2. Adicione a classe GameTest.java neste pacote 3. Configure o Build para o JUnit3 4. Execute o teste de unidade via JUnit 25 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

JUnit x EmmaCoverage 26 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Teste de Aceitação x Unidade 27 1. Verificação Teste de Aceitação O sistema faz o que o cliente espera que ele faça. 2. Validação Teste de Unidade O sistema foi construído de forma correta. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software 28 AULA03 TUTORIAL PARA FERRAMENTA EMMACOVERAGE

Executando o EmmaCoverage 1. Instalar o plugin para Eclipse do EmmaCoverage. 2. Abrir o projeto EmmaCoverageProject no eclipse 3. Na pasta src/teste_unidadeexecutar a classe GameTest usando o botão do EmmaCoverage 29 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o EmmaCoverage 1. Observar o percentual em que os testes abrangem o código. 30 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o EmmaCoverage 1. Pode-se supor que não há um caso de teste para a exceção StringInvalidException. 31 2. Na classe GameTest, no método testcreategame() Remover as { } Adicionar Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o EmmaCoverage 1. Executar a classe GameTest via o EmmaCoverage. 32 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software 33 AULA03 TUTORIAL PARA FERRAMENTA FINDBUGS

FindBugs 34 É uma ferramenta para encontrar bugsem sistemas desenvolvidos em Java. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

FindBugs Categorias dos Bugs 35 Bad Practice Métodos deveriam iniciar com letra minúscula. Nomes de métodos muito confusos. Correctness Chamada de método com argumento nulo. Método equals() sempre retorna true. Malicious code vulnerability Campo deveria ser protectedem vez de static, pois pode ser alvo de código malicioso. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

FindBugs Categorias dos Bugs 36 Performance Método aloca um objeto apenas para recuperar a classe do objeto. Security O código acessa o BD sem usar uma senha. Dodgy Classe implementa a mesma interface da superclasse. Campo não inicializado no construtor. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

1. Instalar o plugin para Eclipse do FindBugs. 2. Abrir o projeto FindBugsProject no eclipse 3. Com o botão direito clicar na opção Find Bugs Executando o FindBugs 37 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

1. Abrir o FindBugs Console Executando o FindBugs 38 2. Abrir o ambiente do FindBugs Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o FindBugs 39 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o FindBugs 1. Tirar o comentário no construtor da classe Game() 40 2. Executar novamente o FindBugs Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Executando o FindBugs 41 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Referências [Delamaro, 2007] Delamaro, M., Maldonado, J. C., Jino, M. Introdução ao Teste de Software. Ed. Elsevier, Rio de Janeiro, 2007. [GTSW] Grupo de Testadores de Software -http://gtsw.blogspot.comacessado em Maio/2011. [Molinari, 2008] Molinari, L. Testes Funcionaisde Software. 1ª Edição, Ed. Visual Books. Florianópolis, 2008. 42 [Molinari, 2010] Molinari, L. Inovaçãoe Automaçãode Testes de Software. 1ª Edição, Ed. Érica. São Paulo, 2010. [EasyAccept, 2011] Jacques Sauvé, Osório, WalfredoCirne. EasyAccept-Ferramenta para Testes de Aceitação Java e Python. Disponível em: http://easyaccept.sourceforge.net/ [EmmaCoverage, 2011] EmmaCoverage-Ferramenta para Testes de Cobertura Java. Disponível em: http://emma.sourceforge.net/downloads.html [FindBugs, 2011] Bill Pugh. FindBugs-Ferramenta para Verificação Estática Java. Disponível em: http://findbugs.sourceforge.net/downloads.html Anne Caroline O. Rocha Tester Certified NTI UFPB