introdução a testes de software utilizando selenium

34
Introdução a Teste de Software utilizando Selenium

Upload: sandy-maciel

Post on 28-May-2015

356 views

Category:

Technology


1 download

DESCRIPTION

Slides utilizados em palestra na Faculdade Evolução

TRANSCRIPT

Page 1: Introdução a testes de software utilizando selenium

Introdução a Teste de Software utilizando Selenium

Page 2: Introdução a testes de software utilizando selenium

nfer

Salto na Computação

Quem Somos

Page 3: Introdução a testes de software utilizando selenium

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

[email protected]

Page 4: Introdução a testes de software utilizando selenium

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

[email protected]

Page 5: Introdução a testes de software utilizando selenium

nfer

Salto na Computação

Quem são vocês?

Page 6: Introdução a testes de software utilizando selenium

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

Page 7: Introdução a testes de software utilizando selenium

nfer

Salto na Computação

O que é qualidade de Software?

Page 8: Introdução a testes de software utilizando selenium

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).

Page 9: Introdução a testes de software utilizando selenium

nfer

Salto na Computação

O que é Teste de Software?

Page 10: Introdução a testes de software utilizando selenium

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].

Page 11: Introdução a testes de software utilizando selenium

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

Page 12: Introdução a testes de software utilizando selenium

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?

Page 13: Introdução a testes de software utilizando selenium

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.

Page 14: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

ATENÇÃO!

Page 15: Introdução a testes de software utilizando selenium

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?

Page 16: Introdução a testes de software utilizando selenium

- 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?

Page 17: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

Quais ferrramentas utilizar?

Page 18: Introdução a testes de software utilizando selenium

nfer

Salto na Computação

Como automatizar ?

Page 19: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

Como automatizar - SeleniumO 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)

Page 20: Introdução a testes de software utilizando selenium

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.

Page 21: Introdução a testes de software utilizando selenium

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

Page 22: Introdução a testes de software utilizando selenium

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.

Page 23: Introdução a testes de software utilizando selenium

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.

Page 24: Introdução a testes de software utilizando selenium

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).

Page 25: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

Como automatizar – Comandos básicosOpen - AbrirAssert Title - AsserçãoClick and Wait – Clicar e esperarClick - CLicarType - EscreverWait - EsperarClose - FecharGo Back - VoltarIs Text Present - Texto presenteKey Down – Apertar para baixoKey Press – Pressionar botãoStoreText – Armazenar textoStoreEval – Armazenar valorRefresh - AtualizarSubmit - EnviarUncheck - DesmarcarCheck - Marcar…

Page 26: Introdução a testes de software utilizando selenium

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

NameQuando 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” />

LinkQuando 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>

Page 27: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

Selenium IDE – Localizando elementos HTMLDOMO 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” />

CSSCSS (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" />

Page 28: Introdução a testes de software utilizando selenium

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”>

Page 29: Introdução a testes de software utilizando selenium

nfer

Criando nosso primeiro teste o/

Salto na Computação

Page 30: Introdução a testes de software utilizando selenium

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

Page 31: Introdução a testes de software utilizando selenium

• 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

Page 32: Introdução a testes de software utilizando selenium

BLOGS

Salto na Cmputação – www.saltonacomputacao.comElias 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

Page 33: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com

Dúvidas??

Page 34: Introdução a testes de software utilizando selenium

www.saltonacomputacao.com