introdução a testes de software utilizando selenium

Post on 28-May-2015

356 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides utilizados em palestra na Faculdade Evolução

TRANSCRIPT

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

Contatossandy@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 - 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)

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á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…

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>

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

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

www.saltonacomputacao.com

Dúvidas??

www.saltonacomputacao.com

top related