O documento apresenta uma introdução sobre teste de software utilizando Selenium. Apresenta as palestrantes Debora Queiroz e Sandy Maciel, suas experiências na área de teste e qualidade. Em seguida, descreve o roteiro da apresentação, incluindo definições de qualidade de software, teste de software, testes manuais versus automatizados e como desenvolver testes automatizados utilizando a ferramenta 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
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).
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?
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”>
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