Testes de Aplicações Testes de Aplicações Web com SeleniumWeb com Selenium
Mayron [email protected]://cachina.com.br
Quem eu Sou?
Mayron Cachina Analista de Sistemas SINFO/UFRN Graduado Sistemas de Informação Especialista Sistemas Corporativos Instrutor IT Cursos Membro do PSL/RN e +WEB Evangelista Linux e Software Livre
O que são testes
Um teste é uma verificação feita sobre um código para garantir que uma determinada entrada produza, sempre, uma saída esperada.
Testes não verificam completamente a saída de um programa pois as entradas são finitas.
Testes não são perfeitos para validação, mas são a melhor opção para isso.
Por que testar um software?
Por que testar um software?
Testar programas para estabelecer a presença de defeitos no sistema.
Mais de 1/3 das falhas poderiam ser evitadas com testes.
Cerca de 50% das falhas só são descobertas em produção.
Falhas custam dinheiro.
Evite ficar apagando o fogo, TESTE!
Tipo de Teste
Caixa Branca (white box) Caixa Preta (black box) Sistema Stress Usabilidade Outros...
Caixa Branca
Podemos verificar o que o código está fazendo.
Caixa Preta
Testamos a saída do programa e verificamos se ela é esperada.
PERGUNTAS ?
Mãos a obra...
Ferramentas para automação
Junit Selenium BadBoy Cucumber Jmeter Outras...
SELENIUM
SELENIUM IDE SELENIUM RC SELENIUM GRID
SELENIUM IDE
Plugin do navegador Firefox. Atualmente na sua versão 1.0.7 Não é apenas um plugin, é uma IDE completa
para gravação, edição e execução de testes. Disponível em:
http://release.seleniumhq.org/selenium-ide/1.0.7/selenium-ide-1.0.7.xpi
Selenium IDEInterface
Gravar/Pausar
Suíte de Testes Lista de
comandos
Adicionar/Editar ComandosConsole de
Execução
Url padrão para o teste.
SELENIUM IDEComandos
open close
keyDown keyPress
refresh submit
type wait
http://seleniumhq.org/docs/04_selenese_commands.html
Selenium IDETeste Salvo (HTML)
Selenium IDETeste Salvo (Java)
package com.example.tests;
import com.thoughtworks.selenium.*;import java.util.regex.Pattern;
public class Untitled extends SeleneseTestCase {public void setUp() throws Exception {
setUp("http://localhost:8080/", "*chrome");}public void testUntitled() throws Exception {
selenium.open("/iproject/Integracao/Build/lista.jsf");selenium.type("form:changeList:0:change", "Teste 1");selenium.type("form:changeList:1:change", "Teste 2");selenium.type("form:changeList:2:change", "TEste 3");selenium.type("form:changeList:3:change", "Teste 4");
}}
SELENIUM RC
SELENIUM RCServidor
SELENIUM RCBrowser Suportados
*firefox *chrome
*iexplore *konqueror
*safari *opera
*iehta *custom
SELENIUM GRID
Selenium GRIDLinguagens Suportadas
SELENIUM GRIDComo funciona
SELENIUMResumo
PRÁTICA
PERGUNTAS ?
PERGUNTASPERGUNTAS
http://www.manalais.com.br/blog/wp-content/uploads/2009/09/Interroga%C3%A7%C3%A3o.JPG
DIVULGAÇÃO
http://rn.softwarelivre.org/ensl4/
IV Encontro Nordestino de Software LivreDias 05 e 06 de Novembro – Praia Mar Hotel
OBRIGADO!
[email protected]@gmail.comhttp://cachina.com.brhttp://cachina.com.br
http://twitter.com/mayroncachinahttp://twitter.com/mayroncachina