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



Documentos relacionados
SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta

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

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

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Desenvolvendo Websites com PHP

INTRODUÇÃO: 1 - Conectando na sua conta

Programando em PHP. Conceitos Básicos

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

Manual de Instalação da Ferramenta Selenium para Apoiar o Processo de Teste Freetest

PHP AULA1. Prof. Msc. Hélio Esperidião

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Informática I. Aula 6. Aula 6-12/09/2007 1

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

NetBeans. Conhecendo um pouco da IDE

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Programação Web Prof. Wladimir

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

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Universidade Federal de Campina Grande UFCG Centro de Engenharia Elétrica e Informática - CEEI Departamento de Sistemas e Computação - DSC Curso de

Para participar de um mapa colaborativo usando o Cmap Tools

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

SPSS Statistical Package for the Social Sciences Composto por dois ambientes:

LINGUAGEM DE PROGRAMAÇÃO WEB

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Tecnologias para apresentação de dados - Java Script. Aécio Costa

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

Prática em Laboratório N.01 Criando um Serviço Web via Console

Scriptlets e Formulários

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

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Manual de Instalação do OASIS

ANDROID APPLICATION PROJECT

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL LINUX. Introdução: FERRAMENTAS. Abaixo segue relação de aplicativos utilizados para realizar este roteiro:

02 - Usando o SiteMaster - Informações importantes

Java Server Pages: Apresentação e Instalação

GUIA INTEGRA SERVICES E STATUS MONITOR

MANUAL DE INSTALAÇÃO LUZ DO SABER

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

MANUAL DO USUÁRIO. Ferramenta de Fidelização Eletrônica ÁGUA DOCE SABORES DO BRASIL. Interface de OPERAÇÃO (no caixa)

Software Adobe DreamWeaver. Requisitos para criar aplicações Web

Manual de Instalação, Configuração e Utilização do MG-Soft Web

Instalando o J2SE 5.0 JDK no Windows 2000/XP

KalumaFin. Manual do Usuário

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Criando, inserindo e exibindo PHP+MySql

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

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

Manual de baixa do Certificado Digital AR SOLUTI. Versão 2.0 de 7 de Maio de Classificação: Ostensiva

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

MANUAL DE UTILIZAÇÃO

Instalação do VOL Backup para Sistemas Unix-Like

Inicialização Rápida do Novell Vibe Mobile

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

USANDO O ROUNDCUBE WEBMAIL

Introdução ao Sistema. Características

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

GEPLANES GESTÃO DE PLANEJAMENTO ESTRATÉGICO MANUAL DE INSTALAÇÃO DO GEPLANES EM UM AMBIENTE WINDOWS

Tutorial Eclipse (IDE)

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

Nota de Aula: Utilização da IDE Code::Blocks

GUIA PRÁTICO DE INSTALAÇÃO

Lógica de Programação

Nome N Série: Ferramentas

Manual do Usuário. Resumo

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Guia de instalação Command WorkStation 5.6 com o Fiery Extended Applications 4.2

Polycom RealPresence Content Sharing Suite Guia rápido do usuário

Google Drive. Passos. Configurando o Google Drive

O Primeiro Programa em Visual Studio.net

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Manual de baixa do Certificado Digital AR SOLUTI. Versão 2.0 de 22 de Maio de Classificação: Ostensiva

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

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

Lazarus pelo SVN Linux/Windows

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows

Instalação e utilização do Document Distributor


Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

BAIXA E INSTALAÇÃO DO CERTIFICADO DIGITAL

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

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

MicrovixPOS Configurações Iniciais do IE e Testes de Desempenho da Internet

Manual de Instalação do Agente Citsmart

A U T O R I Z O R R I GUIA DE INSTALAÇÃO W E B. Versão: 1.02 Agosto/2006 Versão: AW

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Produto: Webscan Relatório III Manual de instruções. Documentos de ajuda sensitiva ao contexto integrado às várias telas do sistema

Implementação de Web Services em Projetos de LabVIEW

Guia de instalação Command WorkStation 5.5 com o Fiery Extended Applications 4.1

PROJETO 914BRA2015 IBICT EDITAL Nº 043/2014 PRODUTO Nº 03 DOCUMENTAÇÃO TÉCNICA PARA UTILIZAÇÃO DO PLUGIN. Giovani Pieri

Contamos também com dois telefones de Suporte um para o SAV-Representantes e outro para o SAV-Clientes:

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

TESTANDO A INTEGRIDADE DAS ISOs E LIVE-USB:

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

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

Transcrição:

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

Conteúdo Programático Aula 04 Automação de testes funcionais Ferramentas para testes funcionais em Aplicações WEB Tutorial para a ferramenta Selenium Visão geral SeleniumIDE Selenium Remote Control SeleniumGrid Tutorial para a ferramenta Badboy Referências 2

Automação de Testes Funcionais 3 É uma maneira de realizar testes automáticos sobre a interface dos sistemas, onde os testes tem foco nas funcionalidades do sistema.

Ferramentas para Testes Funcionais em Aplicações WEB São ferramentas que verificam as funcionalidades de uma aplicação web através da interface gráfica. 4 Ferramentas: Selenium- http://seleniumhq.org BadBoy- http://www.badboy.com.au Watir- http://wtr.rubyforge.org actiwate- http://www.actiwate.com Canoo WEBTest- http://webtest.canoo.com Apodora- http://www.apodora.org

Testes de Software 5 AULA04 TUTORIAL PARA FERRAMENTA SELENIUM

Selenium Visão Geral Desenvolvido pela ThoughtWorks Distribuída sob a Apache License 2.0 6 Simula a interação (digitação, cliques) de usuário e faz assertivas sobre valores das páginas WEB Testes são executados como Javascript no browser Tem script próprio, mas também fornece API para outras linguagens de programação Não orientado a objetos

Selenium Visão Geral Alguns conhecimentos importantes: XPath, HTML, Javascript, Expressões Regulares, Testes... 7 Existem várias formas de execução Selenium IDE Selenium RC (Remote Control) Selenium Grid

Selenium Selenium Core Alguns conhecimentos importantes: 8 XPath, HTML, Javascript, Testes... Seleniumdeve ser instalado no mesmo domínio Utiliza-se o TestRunner.html para rodar os testes Compatível com todos os browsers que suportam Javascript Testes devem estar hospedados no servidor Escritos em simples HTML Podem ser agrupados em Test Suites Desvantagens: Necessária instalação remota no servidor Pode ter comportamento irregular com testes de páginas AJAX Mas é possível adicionar comandos para realizar estes testes

Extensão do Firefox Selenium Selenium IDE 9 Comandos podem ser gravados e executados automaticamente Ambiente para edição e debug dos testes Exporta scripts para outras linguagens de programação Vantagens Fácil de usar / instalar Dispensa programação para vários comandos Desvantagens Só há pluginpara o Firefox

Selenium Selenium IDE 10 Tabela HTML com 3 colunas: 1. Nome do comando 2. Alvo (target) Id, nameou XPathde elemento HTML Ou parâmetro da função 3. Valor (value) Segundo parâmetro da função Valor Nome do comando Alvo

Selenium Selenium RC (Remote Control) Permite escrever e executar testes usando uma linguagem de programação Java, C#, Python, Ruby, PHP e Perl. Contém o Selenium Server Executa browsers como um proxy Ideal para: Ambientes de integração contínua Facilita adição dos testes de interface com os demais Testar interfaces com muito AJAX 11 Integrar-se com linguagens de programação mais expressivas(além de compiláveis) que HTML

Selenium Selenium RC (Remote Control) 12 Age como proxy

Selenium Selenium RC (Remote Control) 13 public class GoogleTest extends TestCase { private Selenium browser; } public void setup() { browser = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com"); browser.start(); } public void testgoogle() { browser.open("http://www.google.com/webhp?hl=en"); browser.type("q", "hello world"); browser.click("btng"); browser.waitforpagetoload("5000"); assertequals("hello world - Google Search", browser.gettitle()); } public void teardown() { browser.stop(); } Equivalente ao HTML:

Semelhante ao Selenium RC Selenium Selenium Grid Pode executar mais de um browser e executar vários testes em paralelo Economiza tempo Pode testar em mais de um S.O./ browser 14 Vários Browsers / S.O.s Código dos testes

Selenium Comparação 15 Selenium IDE Selenium RC Browsers Só Firefox Muitos Instalação remota? Não Não HTTPS/SSL? Sim Sim Múltiplos domínios Sim Sim Linguagens HTML/Selenese Muitas

Selenium Comandos Comandos Elementos 16 Valores ID ou Name do Elemento XPath Expressão Regular

Selenium XPath 17 //*[@id="pessoa_cpf"] Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Exemplos de XPaths utilizados Selenium XPath //div[@id='msg_box'] //table[@class='grid']//*[contains(text(),'eric')] //a[contains(@href,'remove')] 18

Selenium Expressão Regular É um método formal para especificar padrão de texto Utilizado para validar strings como: Data Horário E-mail URL Telefone RG CPF Cartão de Crédito 19

Caracteres: Selenium Expressão Regular ^: simboliza o início de uma linha em um arquivo $: simboliza o fim de uma linha em um arquivo 20 []: encontra um ou outro caractere da expressão Ex.: [Cc]arlos-> Procura por Carlosou carlos ^[ab] -> Procura por palavras iniciando com aou bno início do arquivo..: encontra qualquer caractere em uma determinada posição. Ex.:.[aeiou]-> Procura por palavras cuja segunda letra seja uma vogal. ^...$-> Procura por linhas com 5 caracteres.

Caracteres: Selenium Expressão Regular {}: simboliza a quantidade de caracteres repetidos Ex.: ^.{5}$ é equivalente a expressão ^...$ 21 ^a{20, 40}$ define um intervalo de repetições mínimas e máximas. ^[0123456789]{3,}$ define um intervalo aberto de repetições apenas com o mínimo. Retorna palavras que possuam números com 3 ou mais dígitos, por exemplo, Maria tem 150 bolas..*: quando se procura dois trechos específicos em uma mesma linha. Ex.: ^[aeiou].*vida$ -> a linha começa com uma vogal e possui a palavra vida no final da linha.

Caracteres: Selenium Expressão Regular 22 : para fazer um OR lógico, onde se procura por uma coisa ou outra. Ex.: ^(ana carlos): procura por linhas que iniciem com ana: ou carlos:?, *, +: definem quantidade e funcionam como a {}.? = {0,1} pode aparecer ou não aparecer. Ex. a? -> o caractere a pode aparecer 0 ou não aparecer. * = {0,} pode aparecer em qualquer quantidade. Ex. a* -> o caractere a pode aparecer 0 ou mais vezes. + = {1,} deve aparecer no mínimo 1 vez. Ex. a+ -> o caractere a pode aparecer 1 ou mais vezes.

Caracteres: Selenium Expressão Regular [^]: para não incluir na pesquisa alguns caracteres. 23 Ex.: ^[^aeiou]-> a linha deve começar com qualquer caractere diferente de vogal. [-]: para fazer um intervalo em listas. Ex.: [0-9]{3,}: equivalente à expressão [0123456789]{3,} que procura por números com 3 dígitos ou mais na linha. [A-Za-z]: caracateresentre A-Z ou entre a-z.

Caracteres: Selenium Expressão Regular \d-> qualquer número decimal \D-> qualquer caractere que não seja um número decimal 24 \s-> qualquer caractere de espaço em branco \S-> qualquer caractere que não seja de espaço em branco \w-> qualquer caractere de letra, número ou underline _ \W-> qualquer caractere que não seja letra, número ou underline _

Selenium Expressão Regular Aplicando as expressões regulares: Máscara de Telefone ^\(\d{2}\) \d{4}-\d{4}$ Ex.: (83) 3234-5678 25 Máscara de Data: ^\d{1,2}(\- \/)\d{1,2}(\- \/)\d{4}$ Ex.: 1/2/2011 ou 20/10/2011 ou 5-12-2009

Selenium IDE 26 Plugin para Firefox Selenium IDE

Selenium IDE Instalando Selenium IDE Plugin para Firefox Acessar: http://seleniumhq.org/ > Download 27

Selenium IDE Instalando Selenium IDE Plugin para Firefox Abrir a ferramenta: 28

Execução de testes URL Base Selenium IDE 29 Código-fonte Comandos e parâmetros Botão gravar Documentação dos comandos Highlight alvo (se ele for XPath)

Selenium IDE 30 Gravar

Selenium IDE Executar 31

Selenium IDE Comandos básicos do Selenium: open select type click verifytextpresent verifytextnotpresent verifyvalue verifynotvalue verifyelementpresent verifyselectedlabel 32

Selenium IDE Comandos avançados do Selenium: Store 33 O comando store permite utilizar funções JavaScriptpara guardar valores do sistema em variáveis e tornar os testes mais dinâmicos. Ex.: store javascript{var d=newdate(); d.tostring()} datahoje storevalue O comando store permite guardar valores de campos do sistema em variáveis. Ex.: storevalue id=pessoa_cpf Cpf echo O comando echo exibe para o testador o valor de uma variável. Ex.: echo ${datahoje}

Selenium IDE 34 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Exportar o script HTML para: JUnit3 (Remote Control) Selenium IDE para Selenium RC 35 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Criar projeto Java no Eclipse com nome: SeleniumRCProject Criar o package: teste Selenium IDE para Selenium RC 36 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Selenium IDE para Selenium RC Colar a classe de teste LoginTest.javado Seleniumno pacote teste Configurar o Build Path para o JUnit3. 37 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Selenium IDE para Selenium RC Fazer download do selenium-2.3.0.zip- Cliente Java Descompactar e colar a pasta no projeto SeleniumRCProject Configurar o BuildPath para todos os.jar desta pasta. 38 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Selenium IDE para Selenium RC Iniciar o servidor para o Selenium RC Fazer download de selenium-server-standalone-2.3.0.jar Abrir um console onde está localizado o arquivo. Digitar no console: java-jarselenium-server-standalone-2.3.0.jar 39 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Selenium IDE para Selenium RC Executar o Teste > LoginTest.java no Eclipse O Firefox é aberto, os testes executados e a barra fica verde. 40 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Selenium IDE - Exercício 1. Abrir o roteiro de teste: [RT0005]_Cadastro_de_Responsaveis.doc e executar manualmente o roteiro sobre o sistema da Copervee ao mesmo tempo gravar um script no Selenium IDE. 41 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software 42 AULA04 TUTORIAL PARA FERRAMENTA BADBOY

Ferramenta Badboy 1. BadBoy é uma ferramenta desenvolvida em C++. 1. Não funciona no linux 43 2. Grava todas ações que você faz em uma página web (java, php, ruby, etc...) 3. Fazer download da ferramenta em: 1. http://www.badboy.com.au/ Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Ferramenta Badboy 1. Instalar a ferramenta em seu computador (apenas Windows) 2. Abrir a ferramenta Badboy. 44 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Ferramenta Badboy Barra de URL Botão Recorder 45 Barra de Ferramentas Sistema Web a ser testado Estrutura do Script Tools Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Ferramenta Badboy Como Gravar um Script no BadBoy 46 1. Abra o BadBoy. Ele já estará em modede gravação, que pode ser visualizado pelo botão Record pressionado na barra de ferramentas. 2. Digite a URL na barra de endereço. O BadBoyAutomaticamente criará a o request com todos os parâmetros da página requisitada. 3. Comece a interagir com a página no painel de visualização da página. Todas as ações na página serão adicionadas na estrutura do script do BadBoy. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Ferramenta Badboy 47 Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Referências [GTSW] Grupo de Testadores de Software -http://gtsw.blogspot.comacessado em Maio/2011. 48 [Molinari, 2010] Molinari, L. Inovaçãoe Automaçãode Testes de Software. 1ª Edição, Ed. Érica. São Paulo, 2010. [Selenium, 2011] Selenium-Ferramenta para Testes Funcionais Web. Disponível em: http://seleniumhq.org [Badboy, 2011] Badboy-Ferramenta para Testes Funcionais para Web. Disponível em: http://www.badboy.com.au/