SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Introdução a Teste de Software
utilizando Selenium
nfer
Salto na Computação
Quem Somos
www.saltonacomputacao.com
Debora Queiroz
– Atual na área de Teste e Qualidade há 4 anos
– Analista da Qualidade – Sagarana Tecnologies
– Pós-Graduanda em Desenvolvimento Ágil de Software – FA7
– Bacharel em Sistemas de Informação – UFC
– Certificação CTFL –ISTQB
– Blogueira – Salto na Computação
debora@saltonacomputacao.com
www.saltonacomputacao.com
Sandy Maciel
– Atual na área de TI há 5 anos, 2 desses anos na área de Teste
e Qualidade
– Analista da Qualidade – Sagarana Tecnologies
– Graduanda em Sistemas de Informação – FA7
– Técnica em Telecomunicações – IFCE
– Blogueira – Salto Na Computação
Contatos
sandy@saltonacomputacao.com
nfer
Salto na Computação
Quem são vocês?
www.saltonacomputacao.com
Roteiro
• O que é qualidade de software?
• O que é teste de software?
• Manual x Automatizado
• Testes automatizados
• O que automatizar?
• Como automatizar?
• Ferramentas de Automação
• Selenium IDE
• Criando nosso 1º teste automatizado
nfer
Salto na Computação
O que é qualidade de
Software?
www.saltonacomputacao.com
“Qualidade de Software é a conformidade com requisitos funcionais e de
desempenho, padrões de desenvolvimento documentados e características
implícitas esperadas de todo software profissionalmente desenvolvido”
(PRESSMAN, p.580, 2006)
O que é qualidade de software?
“Qualidade é um conceito subjetivo que está relacionado diretamente às percepções
de cada indivíduo. Diversos fatores como cultura, modelos mentais, tipo de produto
ou serviço prestado, necessidades e expectativas influenciam diretamente nesta
definição”. - Wikipédia
Ou seja, é o grau em que um conjunto de
características inerentes a um produto,
processo ou sistema cumpre os requisitos
inicialmente estipulados para estes (ISO
9000).
nfer
Salto na Computação
O que é Teste de
Software?
www.saltonacomputacao.com
O que é teste de software?
Teste de software é o processo formal de
avaliar um sistema ou componente de um
sistema por meios manuais ou automáticos
para verificar se ele satisfaz os requisitos
especificados [IEEE 729, 1983].
nfer
Salto na Computação
Testes Manuais x Testes Automatizados
Cobrem poucos casos
Executados poucas vezes
Demorados e cansativos
Sem documentação
Díficeis
Manuais
Ajudam na documentação
Segurança na manutenção
Cobrem muitos casos
Rodam rápido
Automatizados
São programas ou scripts que exercitam determinadas funcionalidades do software e
fazem verificações automáticas nos resultados obtidos. Ou seja, é um teste, que é
executado automaticamente, onde se é conhecido todo o cenário, ações que devem
ser realizadas e os resultados esperados.
Algumas das principais vantagens dos testes automatizados são: capacidade de
reprodutibilidade e velocidade na execução
www.saltonacomputacao.com
O que são testes automatizados?
www.saltonacomputacao.com
Automatizando testes você consegue:
Simular grandes quantidades de dados ou usuários.
Encontrar gargalos.
Medir o tempo de execução de certas partes do programa.
www.saltonacomputacao.com
ATENÇÃO!
Testes automatizados são, em geral, utilizados para testes de
regressão.
Ou seja, testes que devem ser frequentemente executados
e/ou demandam muito tempo para execução devem ser
automatizados.
www.saltonacomputacao.com
O que automatizar?
- O primeiro passo para se desenvolver um teste automatizado é selecionar o
requisito ou funcionalidade alvo e, com base nas especificações, pensar e/ou
documentar os possíveis cenários de testes.
- A seguir, deve-se selecionar um dos cenários e elaborar o caso de testes, onde será
especificado o passo-a-passo para a execução do teste.
- O ideal é que para cada teste automatizado, tenha-se um caso de teste como base.
- Após a especificação do caso de testes, é hora de criar os scripts de testes. Para isso,
precisamos utilizar uma ferramenta de automação de testes.
www.saltonacomputacao.com
Como desenvolver um teste automatizado?
www.saltonacomputacao.com
Quais ferrramentas utilizar?
nfer
Salto na Computação
Como automatizar ?
www.saltonacomputacao.com
Como automatizar - Selenium
O Selenium possui 4 módulos:
– Selenium IDE : Ambiente de desenvolvimento integrado
para scripts selenium
– Selenium RC : Teste web em qualquer linguagem de
programação
– Selenium Core : Baseado em JS para aplicações WEB
(incluído no IDE)
– Selenium Grid : É o selenium server (via terminal)
www.saltonacomputacao.com
Como automatizar - Selenium IDE
Utilizaremos o Selenium IDE para realizarmos nosso primeiro teste
automatizado.
O Selenium IDE é um plugin que pode ser instalado no browser Firefox.
Uma ferramenta leve, intuitiva e, o que é melhor, gratuita.
1 - O primeiro passo é fazer o download e instalar o plugin do Selenium
(http://docs.seleniumhq.org/download/);
2 – Abrir o plugin e selecionar a opção “Selenium IDE” ( basta acessar,
no Firefox, o menu "Ferramentas" e selecionar a opção "Selenium IDE"
ou apenas digitar o atalho "ALT + CTRL + S);
www.saltonacomputacao.com
Como automatizar – Primeiros passos
www.saltonacomputacao.com
Como automatizar – Interface do Selenium
URL do site a ser testado
Execução de todos os
scripts de teste
Comandos a serem
executados
Editar / Adicionar novos
comandos
Gravar sequência do teste
Testes salvos
Abas de mensagens das
execuções e guia para
referências.
www.saltonacomputacao.com
Como automatizar – Interface do Selenium
• Speed Control: define o qual é a velocidade do
seu teste;
• Run All: Executa todas os comandos de teste;
• Run: Executa o comando atual;
• Pause/Resume: permite parar e re-iniciar os
casos de teste;
• Record: grava as ações do usuário no navegador.
www.saltonacomputacao.com
Como automatizar – Interface do Selenium
Seu script é exibido no painel acima e ele é composto por duas partes. A parte
a esquerda define a sequência de comandos e a parte a direita define os
parâmetros do comando selecionado. Nessa parte você pode editar.
Command é o comando que você deseja executar existe uma lista de
comandos possíveis;
Target é o objeto alvo por exemplo um campo de um formulário ou qualquer
nó HTML;
Value é para adicionarmos um valor (um campo do tipo input).
www.saltonacomputacao.com
Como automatizar – Comandos básicos
Open - Abrir
Assert Title - Asserção
Click and Wait – Clicar e esperar
Click - CLicar
Type - Escrever
Wait - Esperar
Close - Fechar
Go Back - Voltar
Is Text Present - Texto presente
Key Down – Apertar para baixo
Key Press – Pressionar botão
StoreText – Armazenar texto
StoreEval – Armazenar valor
Refresh - Atualizar
Submit - Enviar
Uncheck - Desmarcar
Check - Marcar
…
www.saltonacomputacao.com
ID
É provavelmente o tipo de localização mais comum e mais utilizado. Quando um elemento
HTML possui o atributo id, o Selenium IDE logo utiliza o valor deste atributo para localizar o
elemento.
Ex: <input type=”text” id=”username” />
Selenium IDE – Localizando elementos HTML
Name
Quando o elemento HTML possui o atributo name o Selenium IDE utiliza o valor deste atributo
para localizar o elemento. Na grande maioria das situações o elemento possui os atributos id
e name. Há poucos casos que iremos encontrar um elemento apenas com o atributo name.
Ex: <txtarea name=”comentarios” />
Link
Quando o elemento HTML é um link (um elemento tipo a) o Selenium IDE utiliza o texto do
hyperlink para sua localização.
Ex: <a href=http://www.saltonacomputacao.com>Salto na Computação</a>
www.saltonacomputacao.com
Selenium IDE – Localizando elementos HTML
DOM
O DOM – Document Oriented Model, representa um documento HTML e pode ser acessado
através de Javascript. Como a utilização de um DOM inicia com a palavra document não será
necessário colocar um prefixo “ dom”, seguindo a lógica dos outros comandos.
EX: <input type=”password” id=”passwd” />
CSS
CSS (Cascading Style Sheets) é uma linguagem para descrever e renderizar arquivos HTML ou
XML. O CSS utiliza-se de seletores (selectors) para localizar, além de elementos a atributos, os
mesmos através de seu estilo.
Ex:<input class="required" name="username" type="text" />
www.saltonacomputacao.com
Selenium IDE – Localizando XPATH
XPath é uma linguagem de consulta de nós em arquivos XML. Um arquivo HTML pode ser uma
implementação do XML (XHTML) e também possui a mesma estrutura de um arquivo XML.
Ele possui algumas funções para facilitar a localização de elemento, que pode ser feita pelo
elemento em si, atributos ou posição do elemento. Todo comando de localização contendo
XPATH deve começar com duas barras “//“
Ex:Cidade<input type=”text” class=”required”>
nfer
Criando nosso primeiro teste o/
Salto na Computação
1º Abrir o Selenium IDE;
2º Montar o passo-a-passo do que precisa ser testado;
3º Montar comando de execução
- -Escolher comando;
- - Localizar eleme
-nto usando firebug;
4 º Executar script;
5º Salvar
Desafio Selenium:
http://eliasnogueira.com/arquivos_blog/selenium/desafio/
www.saltonacomputacao.com
Criando o nosso 1º teste automatizado
• http://seleniumhq.org/docs/
• Pressman, R.S. “Software Engineering : A Practitioner's Approach”,
ed. McGraw-Hill, Science/Engineering/Math, 2006.
• Whittaker, J.A. “What Is Software Testing? And Why Is It So Hard? ”.
IEEE Software, Jan/Fev 2000, p. 70-79.
• Vincenzi, M.R.; Maldonado, J. C.; Delamaro, M. E.; Spoto E. S.;
Wong, W. E.
• Myers, Glenford J. The Art of Software Testing. Ed. Wiley, 2004.
• http://www.saltonacomputacao.com/2014/04/automatizar-e-
preciso.html
• http://eliasnogueira.com/
• Sembugs.com
Referências
BLOGS
Salto na Cmputação – www.saltonacomputacao.com
Elias Nogueira - http://eliasnogueira.com
Qualidade BR – http://qualidadebr.wordpress.com
Livros
Base de Conhecimento em Testes de Software – Emerson Rios
www.saltonacomputacao.com
Dicas de Leituras
www.saltonacomputacao.com
Dúvidas??
www.saltonacomputacao.com

Weitere ähnliche Inhalte

Was ist angesagt?

Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredElias Nogueira
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Seleniumvivek_prahlad
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Simplilearn
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioPatrick Monteiro
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best PracticesBrian Mann
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredJúlio de Lima
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with seleniumTzirla Rozental
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 

Was ist angesagt? (20)

Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Selenium
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Selenium Concepts
Selenium ConceptsSelenium Concepts
Selenium Concepts
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 

Andere mochten auch

Jogos Mobile 2d + Corona SDK + Love2D
Jogos Mobile 2d + Corona SDK + Love2DJogos Mobile 2d + Corona SDK + Love2D
Jogos Mobile 2d + Corona SDK + Love2DSandy Maciel
 
Gamificação na Computação - Campus Party Brasil 2017
Gamificação na Computação - Campus Party Brasil 2017Gamificação na Computação - Campus Party Brasil 2017
Gamificação na Computação - Campus Party Brasil 2017Sandy Maciel
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de ProjetoSandy Maciel
 
User Experience - UX
User Experience - UXUser Experience - UX
User Experience - UXSandy Maciel
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Testes de Desempenho
Testes de DesempenhoTestes de Desempenho
Testes de DesempenhoSandy Maciel
 
Trello - Uma visão geral
Trello - Uma visão geralTrello - Uma visão geral
Trello - Uma visão geralSandy Maciel
 
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterQualister
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 

Andere mochten auch (12)

Jogos Mobile 2d + Corona SDK + Love2D
Jogos Mobile 2d + Corona SDK + Love2DJogos Mobile 2d + Corona SDK + Love2D
Jogos Mobile 2d + Corona SDK + Love2D
 
Testes Ágeis
Testes ÁgeisTestes Ágeis
Testes Ágeis
 
Gamificação na Computação - Campus Party Brasil 2017
Gamificação na Computação - Campus Party Brasil 2017Gamificação na Computação - Campus Party Brasil 2017
Gamificação na Computação - Campus Party Brasil 2017
 
Clojure
ClojureClojure
Clojure
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
User Experience - UX
User Experience - UXUser Experience - UX
User Experience - UX
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Testes de Desempenho
Testes de DesempenhoTestes de Desempenho
Testes de Desempenho
 
Trello - Uma visão geral
Trello - Uma visão geralTrello - Uma visão geral
Trello - Uma visão geral
 
android
androidandroid
android
 
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 

Ähnlich wie Introdução a testes de software utilizando selenium

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
98796699 selenium-framework
98796699 selenium-framework98796699 selenium-framework
98796699 selenium-frameworkAndré Caldas
 
Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterQualister
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCristiano Caetano
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Selenium Workshop
Selenium WorkshopSelenium Workshop
Selenium Workshopcathoderay
 
Selenium
SeleniumSelenium
Seleniumfatec
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Introdução À Automação de Testes com Selenium
Introdução À Automação de Testes com SeleniumIntrodução À Automação de Testes com Selenium
Introdução À Automação de Testes com Seleniumrodrigogouveia
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...GUTS-RS
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 

Ähnlich wie Introdução a testes de software utilizando selenium (20)

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
98796699 selenium-framework
98796699 selenium-framework98796699 selenium-framework
98796699 selenium-framework
 
Palestra
PalestraPalestra
Palestra
 
Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium Qualister
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com selenium
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Selenium Workshop
Selenium WorkshopSelenium Workshop
Selenium Workshop
 
Selenium
SeleniumSelenium
Selenium
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Introdução À Automação de Testes com Selenium
Introdução À Automação de Testes com SeleniumIntrodução À Automação de Testes com Selenium
Introdução À Automação de Testes com Selenium
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
cypress.pdf
cypress.pdfcypress.pdf
cypress.pdf
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 

Mehr von Sandy Maciel

QAOps e a sua impotância para a qualidade de software
QAOps e a sua impotância para a qualidade de softwareQAOps e a sua impotância para a qualidade de software
QAOps e a sua impotância para a qualidade de softwareSandy Maciel
 
Protagonismo feminino nos jogos
Protagonismo feminino nos jogosProtagonismo feminino nos jogos
Protagonismo feminino nos jogosSandy Maciel
 
Trabalho sobre artigo publicado na SugarLoaF Plop
Trabalho sobre artigo publicado na SugarLoaF PlopTrabalho sobre artigo publicado na SugarLoaF Plop
Trabalho sobre artigo publicado na SugarLoaF PlopSandy Maciel
 
Bdd com cucumber + java + selenium
Bdd com cucumber + java + seleniumBdd com cucumber + java + selenium
Bdd com cucumber + java + seleniumSandy Maciel
 
Mercado de TI - Chegando para ficar
Mercado de TI - Chegando para ficarMercado de TI - Chegando para ficar
Mercado de TI - Chegando para ficarSandy Maciel
 
Jogos Mobile 2D - Lua + Corona SDK
Jogos Mobile 2D - Lua + Corona SDKJogos Mobile 2D - Lua + Corona SDK
Jogos Mobile 2D - Lua + Corona SDKSandy Maciel
 

Mehr von Sandy Maciel (8)

QAOps e a sua impotância para a qualidade de software
QAOps e a sua impotância para a qualidade de softwareQAOps e a sua impotância para a qualidade de software
QAOps e a sua impotância para a qualidade de software
 
Protagonismo feminino nos jogos
Protagonismo feminino nos jogosProtagonismo feminino nos jogos
Protagonismo feminino nos jogos
 
Trabalho sobre artigo publicado na SugarLoaF Plop
Trabalho sobre artigo publicado na SugarLoaF PlopTrabalho sobre artigo publicado na SugarLoaF Plop
Trabalho sobre artigo publicado na SugarLoaF Plop
 
Bdd com cucumber + java + selenium
Bdd com cucumber + java + seleniumBdd com cucumber + java + selenium
Bdd com cucumber + java + selenium
 
Telegram Bot
Telegram BotTelegram Bot
Telegram Bot
 
Gamification
GamificationGamification
Gamification
 
Mercado de TI - Chegando para ficar
Mercado de TI - Chegando para ficarMercado de TI - Chegando para ficar
Mercado de TI - Chegando para ficar
 
Jogos Mobile 2D - Lua + Corona SDK
Jogos Mobile 2D - Lua + Corona SDKJogos Mobile 2D - Lua + Corona SDK
Jogos Mobile 2D - Lua + Corona SDK
 

Introdução a testes de software utilizando selenium

  • 1. Introdução a Teste de Software utilizando Selenium
  • 3. www.saltonacomputacao.com Debora Queiroz – Atual na área de Teste e Qualidade há 4 anos – Analista da Qualidade – Sagarana Tecnologies – Pós-Graduanda em Desenvolvimento Ágil de Software – FA7 – Bacharel em Sistemas de Informação – UFC – Certificação CTFL –ISTQB – Blogueira – Salto na Computação debora@saltonacomputacao.com
  • 4. www.saltonacomputacao.com Sandy Maciel – Atual na área de TI há 5 anos, 2 desses anos na área de Teste e Qualidade – Analista da Qualidade – Sagarana Tecnologies – Graduanda em Sistemas de Informação – FA7 – Técnica em Telecomunicações – IFCE – Blogueira – Salto Na Computação Contatos sandy@saltonacomputacao.com
  • 6. www.saltonacomputacao.com Roteiro • O que é qualidade de software? • O que é teste de software? • Manual x Automatizado • Testes automatizados • O que automatizar? • Como automatizar? • Ferramentas de Automação • Selenium IDE • Criando nosso 1º teste automatizado
  • 7. nfer Salto na Computação O que é qualidade de Software?
  • 8. www.saltonacomputacao.com “Qualidade de Software é a conformidade com requisitos funcionais e de desempenho, padrões de desenvolvimento documentados e características implícitas esperadas de todo software profissionalmente desenvolvido” (PRESSMAN, p.580, 2006) O que é qualidade de software? “Qualidade é um conceito subjetivo que está relacionado diretamente às percepções de cada indivíduo. Diversos fatores como cultura, modelos mentais, tipo de produto ou serviço prestado, necessidades e expectativas influenciam diretamente nesta definição”. - Wikipédia Ou seja, é o grau em que um conjunto de características inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados para estes (ISO 9000).
  • 9. nfer Salto na Computação O que é Teste de Software?
  • 10. www.saltonacomputacao.com O que é teste de software? Teste de software é o processo formal de avaliar um sistema ou componente de um sistema por meios manuais ou automáticos para verificar se ele satisfaz os requisitos especificados [IEEE 729, 1983].
  • 11. nfer Salto na Computação Testes Manuais x Testes Automatizados Cobrem poucos casos Executados poucas vezes Demorados e cansativos Sem documentação Díficeis Manuais Ajudam na documentação Segurança na manutenção Cobrem muitos casos Rodam rápido Automatizados
  • 12. São programas ou scripts que exercitam determinadas funcionalidades do software e fazem verificações automáticas nos resultados obtidos. Ou seja, é um teste, que é executado automaticamente, onde se é conhecido todo o cenário, ações que devem ser realizadas e os resultados esperados. Algumas das principais vantagens dos testes automatizados são: capacidade de reprodutibilidade e velocidade na execução www.saltonacomputacao.com O que são testes automatizados?
  • 13. www.saltonacomputacao.com Automatizando testes você consegue: Simular grandes quantidades de dados ou usuários. Encontrar gargalos. Medir o tempo de execução de certas partes do programa.
  • 15. Testes automatizados são, em geral, utilizados para testes de regressão. Ou seja, testes que devem ser frequentemente executados e/ou demandam muito tempo para execução devem ser automatizados. www.saltonacomputacao.com O que automatizar?
  • 16. - O primeiro passo para se desenvolver um teste automatizado é selecionar o requisito ou funcionalidade alvo e, com base nas especificações, pensar e/ou documentar os possíveis cenários de testes. - A seguir, deve-se selecionar um dos cenários e elaborar o caso de testes, onde será especificado o passo-a-passo para a execução do teste. - O ideal é que para cada teste automatizado, tenha-se um caso de teste como base. - Após a especificação do caso de testes, é hora de criar os scripts de testes. Para isso, precisamos utilizar uma ferramenta de automação de testes. www.saltonacomputacao.com Como desenvolver um teste automatizado?
  • 19. www.saltonacomputacao.com Como automatizar - Selenium O Selenium possui 4 módulos: – Selenium IDE : Ambiente de desenvolvimento integrado para scripts selenium – Selenium RC : Teste web em qualquer linguagem de programação – Selenium Core : Baseado em JS para aplicações WEB (incluído no IDE) – Selenium Grid : É o selenium server (via terminal)
  • 20. www.saltonacomputacao.com Como automatizar - Selenium IDE Utilizaremos o Selenium IDE para realizarmos nosso primeiro teste automatizado. O Selenium IDE é um plugin que pode ser instalado no browser Firefox. Uma ferramenta leve, intuitiva e, o que é melhor, gratuita.
  • 21. 1 - O primeiro passo é fazer o download e instalar o plugin do Selenium (http://docs.seleniumhq.org/download/); 2 – Abrir o plugin e selecionar a opção “Selenium IDE” ( basta acessar, no Firefox, o menu "Ferramentas" e selecionar a opção "Selenium IDE" ou apenas digitar o atalho "ALT + CTRL + S); www.saltonacomputacao.com Como automatizar – Primeiros passos
  • 22. www.saltonacomputacao.com Como automatizar – Interface do Selenium URL do site a ser testado Execução de todos os scripts de teste Comandos a serem executados Editar / Adicionar novos comandos Gravar sequência do teste Testes salvos Abas de mensagens das execuções e guia para referências.
  • 23. www.saltonacomputacao.com Como automatizar – Interface do Selenium • Speed Control: define o qual é a velocidade do seu teste; • Run All: Executa todas os comandos de teste; • Run: Executa o comando atual; • Pause/Resume: permite parar e re-iniciar os casos de teste; • Record: grava as ações do usuário no navegador.
  • 24. www.saltonacomputacao.com Como automatizar – Interface do Selenium Seu script é exibido no painel acima e ele é composto por duas partes. A parte a esquerda define a sequência de comandos e a parte a direita define os parâmetros do comando selecionado. Nessa parte você pode editar. Command é o comando que você deseja executar existe uma lista de comandos possíveis; Target é o objeto alvo por exemplo um campo de um formulário ou qualquer nó HTML; Value é para adicionarmos um valor (um campo do tipo input).
  • 25. www.saltonacomputacao.com Como automatizar – Comandos básicos Open - Abrir Assert Title - Asserção Click and Wait – Clicar e esperar Click - CLicar Type - Escrever Wait - Esperar Close - Fechar Go Back - Voltar Is Text Present - Texto presente Key Down – Apertar para baixo Key Press – Pressionar botão StoreText – Armazenar texto StoreEval – Armazenar valor Refresh - Atualizar Submit - Enviar Uncheck - Desmarcar Check - Marcar …
  • 26. www.saltonacomputacao.com ID É provavelmente o tipo de localização mais comum e mais utilizado. Quando um elemento HTML possui o atributo id, o Selenium IDE logo utiliza o valor deste atributo para localizar o elemento. Ex: <input type=”text” id=”username” /> Selenium IDE – Localizando elementos HTML Name Quando o elemento HTML possui o atributo name o Selenium IDE utiliza o valor deste atributo para localizar o elemento. Na grande maioria das situações o elemento possui os atributos id e name. Há poucos casos que iremos encontrar um elemento apenas com o atributo name. Ex: <txtarea name=”comentarios” /> Link Quando o elemento HTML é um link (um elemento tipo a) o Selenium IDE utiliza o texto do hyperlink para sua localização. Ex: <a href=http://www.saltonacomputacao.com>Salto na Computação</a>
  • 27. www.saltonacomputacao.com Selenium IDE – Localizando elementos HTML DOM O DOM – Document Oriented Model, representa um documento HTML e pode ser acessado através de Javascript. Como a utilização de um DOM inicia com a palavra document não será necessário colocar um prefixo “ dom”, seguindo a lógica dos outros comandos. EX: <input type=”password” id=”passwd” /> CSS CSS (Cascading Style Sheets) é uma linguagem para descrever e renderizar arquivos HTML ou XML. O CSS utiliza-se de seletores (selectors) para localizar, além de elementos a atributos, os mesmos através de seu estilo. Ex:<input class="required" name="username" type="text" />
  • 28. www.saltonacomputacao.com Selenium IDE – Localizando XPATH XPath é uma linguagem de consulta de nós em arquivos XML. Um arquivo HTML pode ser uma implementação do XML (XHTML) e também possui a mesma estrutura de um arquivo XML. Ele possui algumas funções para facilitar a localização de elemento, que pode ser feita pelo elemento em si, atributos ou posição do elemento. Todo comando de localização contendo XPATH deve começar com duas barras “//“ Ex:Cidade<input type=”text” class=”required”>
  • 29. nfer Criando nosso primeiro teste o/ Salto na Computação
  • 30. 1º Abrir o Selenium IDE; 2º Montar o passo-a-passo do que precisa ser testado; 3º Montar comando de execução - -Escolher comando; - - Localizar eleme -nto usando firebug; 4 º Executar script; 5º Salvar Desafio Selenium: http://eliasnogueira.com/arquivos_blog/selenium/desafio/ www.saltonacomputacao.com Criando o nosso 1º teste automatizado
  • 31. • http://seleniumhq.org/docs/ • Pressman, R.S. “Software Engineering : A Practitioner's Approach”, ed. McGraw-Hill, Science/Engineering/Math, 2006. • Whittaker, J.A. “What Is Software Testing? And Why Is It So Hard? ”. IEEE Software, Jan/Fev 2000, p. 70-79. • Vincenzi, M.R.; Maldonado, J. C.; Delamaro, M. E.; Spoto E. S.; Wong, W. E. • Myers, Glenford J. The Art of Software Testing. Ed. Wiley, 2004. • http://www.saltonacomputacao.com/2014/04/automatizar-e- preciso.html • http://eliasnogueira.com/ • Sembugs.com Referências
  • 32. BLOGS Salto na Cmputação – www.saltonacomputacao.com Elias Nogueira - http://eliasnogueira.com Qualidade BR – http://qualidadebr.wordpress.com Livros Base de Conhecimento em Testes de Software – Emerson Rios www.saltonacomputacao.com Dicas de Leituras