Testes com TestLink e Selenium

AndrThiago1 6,410 views 85 slides Oct 20, 2012
Slide 1
Slide 1 of 85
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85

About This Presentation

No description available for this slideshow.


Slide Content

TestesTestes
com TestLink e Seleniumcom TestLink e Selenium

Quem sou eu?Quem sou eu?
✔André ThiagoAndré Thiago
✔Bacharel em Bacharel em Ciência da Computação – UnBCiência da Computação – UnB
✔Analista de Informática Analista de Informática MPUMPU
✔Arquiteto de Software Arquiteto de Software PGR/MPUPGR/MPU
✔Sócio-fundador e líder técnico da startup Sócio-fundador e líder técnico da startup
TripFansTripFans ( (www.tripfans.com.brwww.tripfans.com.br ))
✔Entusiasta de práticas ágeisEntusiasta de práticas ágeis

O que vamos ver hojeO que vamos ver hoje
✔Testes? Pra quê?Testes? Pra quê?
✔FerramentasFerramentas
✔TestLinkTestLink
✔SeleniumSelenium
✔DemoDemo
✔ProvocaçõesProvocações

Como você verifica se Como você verifica se
um software não tem um software não tem
problemas?problemas?

A resposta é A resposta é
simples: simples:
FAÇA TESTESFAÇA TESTES

Mas testes não são perda Mas testes não são perda
de tempo?de tempo?

Testes == Qualidade ?Testes == Qualidade ?

Tipos de TestesTipos de Testes

Tipos de TestesTipos de Testes
✔Teste de AceitaçãoTeste de Aceitação

Tipos de TestesTipos de Testes
✔Teste de AceitaçãoTeste de Aceitação
✔Teste de carga/stressTeste de carga/stress

Tipos de TestesTipos de Testes
✔Teste de AceitaçãoTeste de Aceitação
✔Teste de carga/stressTeste de carga/stress
✔Teste funcionaisTeste funcionais

Tipos de TestesTipos de Testes
✔Teste de AceitaçãoTeste de Aceitação
✔Teste de carga/stressTeste de carga/stress
✔Teste funcionaisTeste funcionais
✔Teste de integraçãoTeste de integração

Tipos de TestesTipos de Testes
✔Teste de AceitaçãoTeste de Aceitação
✔Teste de carga/stressTeste de carga/stress
✔Teste funcionaisTeste funcionais
✔Teste de integraçãoTeste de integração
✔Teste de unidadeTeste de unidade

Vantagens de se Vantagens de se
testar softwaretestar software

Garantir qualidade mínimaGarantir qualidade mínima

Encontrar erros cedoEncontrar erros cedo

Prevenir regressãoPrevenir regressão

ConfiabilidadeConfiabilidade

Servem como Servem como
documentaçãodocumentação

Conceitos básicosConceitos básicos

Caso de testeCaso de teste

Suíte de testeSuíte de teste

Elementos de um caso de Elementos de um caso de
testeteste
✔Identificação do caso de testeIdentificação do caso de teste
✔DescriçãoDescrição
✔PassosPassos
✔Resultados esperadosResultados esperados
✔Resultados obtidosResultados obtidos
✔Passou/falhouPassou/falhou

Aplicativo web de gerenciamento Aplicativo web de gerenciamento
de testes, provendo suporte para de testes, provendo suporte para
a especificação, execução e a especificação, execução e
monitoramento das atividades de monitoramento das atividades de
teste.teste.

Casos de Teste (Test Casos de Teste (Test
Case)Case)

Suítes de Teste (Test Suítes de Teste (Test
Suite)Suite)

Planos de Teste (Test Planos de Teste (Test
Plan)Plan)

Projeto de Teste (Test Projeto de Teste (Test
Project)Project)

Usuário (User)Usuário (User)

DemoDemo

DemoDemo
✔Cadastrar/gerenciar usuáriosCadastrar/gerenciar usuários
✔Criar um novo projeto de testeCriar um novo projeto de teste
✔Criar suíte de testeCriar suíte de teste
✔Criar casos de testeCriar casos de teste
✔Criar planos de testeCriar planos de teste
✔Criar buildsCriar builds
✔Execução dos testesExecução dos testes
✔RelatóriosRelatórios

““Selenium automates Selenium automates
browser”browser”

Ok, mas o que isso quer Ok, mas o que isso quer
dizer?dizer?

De forma geral, o principal uso De forma geral, o principal uso
do Selenium é do Selenium é automatizarautomatizar
testes em aplicações web.testes em aplicações web.

Teste automatizado necessita

Teste automatizado necessita

do auxílio de alguma ferramentado auxílio de alguma ferramenta

VantagensVantagens
✔Testes de regressão mais Testes de regressão mais
frequentesfrequentes

VantagensVantagens
✔Testes de regressão mais Testes de regressão mais
frequentesfrequentes
✔Feedback mais rápido para os Feedback mais rápido para os
implementadoresimplementadores

VantagensVantagens
✔Testes de regressão mais Testes de regressão mais
frequentesfrequentes
✔Feedback mais rápido para os Feedback mais rápido para os
implementadoresimplementadores
✔Iterações ilimitadas na execução Iterações ilimitadas na execução
de casos de testede casos de teste

VantagensVantagens
✔Testes de regressão mais Testes de regressão mais
frequentesfrequentes
✔Feedback mais rápido para os Feedback mais rápido para os
implementadoresimplementadores
✔Iterações ilimitadas na execução de Iterações ilimitadas na execução de
casos de testecasos de teste
✔Encontrar defeitos que testes Encontrar defeitos que testes
deixam passardeixam passar

Legal. Mas a automação é sempre Legal. Mas a automação é sempre
vantajosa?vantajosa?

ProjetosProjetos

Selenium IDESelenium IDE

Selenium IDESelenium IDE
✔Ferramenta de prototipaçãoFerramenta de prototipação
para construir scripts de testespara construir scripts de testes

Selenium IDESelenium IDE
✔Ferramenta de prototipaçãoFerramenta de prototipação
para construir scripts de testespara construir scripts de testes
✔Plugin do FirefoxPlugin do Firefox

Selenium IDESelenium IDE
✔Ferramenta de prototipaçãoFerramenta de prototipação
para construir scripts de testespara construir scripts de testes
✔Plugin do FirefoxPlugin do Firefox
✔Função de gravaçãoFunção de gravação

Selenium IDESelenium IDE
✔Ferramenta de prototipaçãoFerramenta de prototipação para para
construir scripts de testesconstruir scripts de testes
✔Plugin do FirefoxPlugin do Firefox
✔Função de gravaçãoFunção de gravação
✔ExportaExporta as ações dos usuários como um as ações dos usuários como um
script reutilizávelscript reutilizável em diferentes em diferentes
linguagens de programaçãolinguagens de programação

AtençãoAtenção
““Selenium IDE não foi projetado para Selenium IDE não foi projetado para
executar seus testes nem foi executar seus testes nem foi
projetado para construir todos os projetado para construir todos os
testes automatizados que você vai testes automatizados que você vai
precisar.”precisar.”
(Documentação do Selenium)(Documentação do Selenium)

Selenium Remote Control (RC)Selenium Remote Control (RC)

Selenium Remote Control Selenium Remote Control
(RC)(RC)
✔Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo,
antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium

Selenium Remote Control Selenium Remote Control
(RC)(RC)
✔Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo,
antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium
✔Hoje as releases desse projeto são principalmente Hoje as releases desse projeto são principalmente
corretivascorretivas

Selenium Remote Control Selenium Remote Control
(RC)(RC)
✔Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo,
antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium
✔Hoje as releases desse projeto são principalmente Hoje as releases desse projeto são principalmente
corretivascorretivas
✔Provê algumas funcionalidades que ainda não estão Provê algumas funcionalidades que ainda não estão
disponíveis no Selenium 2: suporte a diversas linguagens; disponíveis no Selenium 2: suporte a diversas linguagens;
suporte a diversos navegadoressuporte a diversos navegadores

Selenium WebDriver (Selenium 2)Selenium WebDriver (Selenium 2)

Selenium WebDriver Selenium WebDriver
(Selenium 2)(Selenium 2)
✔API melhoradaAPI melhorada

Selenium WebDriver Selenium WebDriver
(Selenium 2)(Selenium 2)
✔API melhoradaAPI melhorada
✔Resoluções de algumas limitações Resoluções de algumas limitações
da versão anteriorda versão anterior

Selenium WebDriver Selenium WebDriver
(Selenium 2)(Selenium 2)
✔API melhoradaAPI melhorada
✔Resoluções de algumas limitações Resoluções de algumas limitações
da versão anteriorda versão anterior
✔Junção ao WebDriverJunção ao WebDriver

Selenium GridSelenium Grid

Selenium GridSelenium Grid
✔Solução escalável para suítes de Solução escalável para suítes de
testes pesadastestes pesadas

Selenium GridSelenium Grid
✔Solução escalável para suítes de Solução escalável para suítes de
testes pesadastestes pesadas
✔Permite a execução de testes em Permite a execução de testes em
paraleloparalelo

Qual devo usar então?Qual devo usar então?

Se não conhece linguagem de Se não conhece linguagem de
programação, use o Selenium IDE programação, use o Selenium IDE
para se familiarizarpara se familiarizar

Para o uso mais efetivo, a Para o uso mais efetivo, a
recomendação é pelo Selenium 2 recomendação é pelo Selenium 2
ou RC em conjunto com alguma ou RC em conjunto com alguma
linguagem de programação.linguagem de programação.

Navegadores e plataforma Navegadores e plataforma
suportadossuportados
Selenium 2 (WebDriver)Selenium 2 (WebDriver)

Navegadores e plataforma Navegadores e plataforma
suportadossuportados
Selenium 1 (RC)Selenium 1 (RC)

Demo Selenium IDEDemo Selenium IDE
✔InstalaçãoInstalação
✔Abrindo o IDE e demonstrando Abrindo o IDE e demonstrando
opçõesopções
✔Construindo Test CasesConstruindo Test Cases

Comandos mais utilizadosComandos mais utilizados
✔open open
✔click/clickAndWaitclick/clickAndWait
✔verifyTitle/assertTitleverifyTitle/assertTitle
✔verifyTextPresent verifyTextPresent
✔verifyElementPresent verifyElementPresent
✔waitForPageToLoad waitForPageToLoad
✔waitForElementPresent waitForElementPresent

Exemplos Selenium Exemplos Selenium
WebDriverWebDriver
✔Configurando um projeto JavaConfigurando um projeto Java
✔Exemplos do IDE e executá-los Exemplos do IDE e executá-los
via Javavia Java

Demonstração mais realDemonstração mais real

DemonstraçãoDemonstração
✔TestLinkTestLink
✔SeleniumSelenium

PetclinicPetclinic
✔Testar um casos de usoTestar um casos de uso
✔Adicionar proprietário (owner)Adicionar proprietário (owner)
✔Adicionar animaisAdicionar animais
✔Cadastrar planos de teste no TestLinkCadastrar planos de teste no TestLink
✔Executá-losExecutá-los

ProvocaçõesProvocações

Porque não testar desde Porque não testar desde
o início do ciclo de o início do ciclo de
desenvolvimento?desenvolvimento?

Tem como fazer isso?Tem como fazer isso?

TDD (Test-Driven TDD (Test-Driven
Development)Development)

Integração ContínuaIntegração Contínua

Entrega ContínuaEntrega Contínua
(automatize tudo)(automatize tudo)

Automatize tudo o que Automatize tudo o que
puder!puder!

Obrigado pela atenção!Obrigado pela atenção!