41
Testes Funcionais com Selenium Uma empresa C.E.S.A.R Tadeu Marinho [email protected] segunda-feira, 2 de janeiro de 2012

Selenium

Embed Size (px)

DESCRIPTION

Apresentação sobre automatização de testes funcionais com o Selenium para os testadores da Pitang.

Citation preview

Page 1: Selenium

Testes Funcionais com Selenium

Uma empresaC.E.S.A.R

Tadeu [email protected]

segunda-feira, 2 de janeiro de 2012

Page 2: Selenium

Agenda

Definição de teste;Teste de software;Por que testar?Testes manuais x automatizados;Testes Funcionais;Selenium.

segunda-feira, 2 de janeiro de 2012

Page 3: Selenium

Motivação

O impulso interno que leva à ação.

segunda-feira, 2 de janeiro de 2012

Page 4: Selenium

Definição de Teste

Prova, verificação da eficiência ou do bom funcionamento (de máquinas, materiais etc.) - Dicionário Aurélio

Outras:–ato de verificar se algo está funcionando;–evento ou situação que mostra o quão bom ou ruim algo é;–maneira de verificar se algo existe ou está presente.

segunda-feira, 2 de janeiro de 2012

Page 5: Selenium

Novos Sabores

segunda-feira, 2 de janeiro de 2012

Page 6: Selenium

Novos Conhecimentos

segunda-feira, 2 de janeiro de 2012

Page 7: Selenium

Formas de Ensino

segunda-feira, 2 de janeiro de 2012

Page 8: Selenium

Novas Manobras

segunda-feira, 2 de janeiro de 2012

Page 9: Selenium

Segurança

segunda-feira, 2 de janeiro de 2012

Page 10: Selenium

Paixões

segunda-feira, 2 de janeiro de 2012

Page 11: Selenium

...

segunda-feira, 2 de janeiro de 2012

Page 12: Selenium

Faz Parte do Cotidiano

segunda-feira, 2 de janeiro de 2012

Page 13: Selenium

Testes de Software

“Consiste em executar o programa com a intenção de encontrar erros (bugs).”

The Art of Software Testing - Glendford Myers, John Wiley & Son, 1979

segunda-feira, 2 de janeiro de 2012

Page 14: Selenium

Testes 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 ou identificar diferenças entre os resultados esperados e os obtidos.”

IEEE 729 - Glossary of Software Engineering Terminology, 1983

segunda-feira, 2 de janeiro de 2012

Page 15: Selenium

Testes de Software

“Consiste na verificação dinâmica do comportamento de um programa, através de um conjunto finito de casos de teste, adequadamente selecionado a partir de um conjunto infinito de possibilidades, contra um comportamento esperado especificado.”

SWEBOK - Guide to the Software Engineering Body of Knowledge

segunda-feira, 2 de janeiro de 2012

Page 16: Selenium

Por Que Testar?

“A economia norte-americana perde 60 bilhões de dólares por ano com erros de software, dos quais 20 bilhões poderia ser economizados com melhorias nos testes.”

Critical Testing Processes - Rex Black

segunda-feira, 2 de janeiro de 2012

Page 17: Selenium

Por Que Testar?

Processos de teste inadequados aumentam o risco de atraso ou cancelamento de projetos entre 25% a 300%.

Critical Testing Processes - Rex Black

Mais de 1/3 das falhas poderiam ser evitadas com testes.

NIST - http://www.nist.gov/public_affairs/

Cerca de 50% das falhas só são descobertas em produção.

NIST - http://www.nist.gov/public_affairs/

segunda-feira, 2 de janeiro de 2012

Page 18: Selenium

O Custo

segunda-feira, 2 de janeiro de 2012

Page 19: Selenium

Teste Manual

Requer um grande esforço na criação e manutenção;Baixa reutilização;Dependente da linguagem natural que é ambígua;Demorados e chatos de se executar;Suscetível ao humor do testador;Permite a exploração de situações diferentes;Exige profissionais com experiência em testes.

segunda-feira, 2 de janeiro de 2012

Page 20: Selenium

Teste Manual

Ciclo 1Ciclo 1Ciclo 1

Ciclo 2

Ciclo N - 1

Ciclo N

Desafio:

segunda-feira, 2 de janeiro de 2012

Page 21: Selenium

Automação de Testes

“O propósito da automação de testes pode ser resumidamente descrito como a aplicação de estratégias e ferramentas tendo em vista a redução do envolvimento humano em atividades manuais repetitivas.”

Cem Kaner - Lessons Learned in Software Testing

segunda-feira, 2 de janeiro de 2012

Page 22: Selenium

IMPORTANTE

Automação de testes não exclui o fator humano.

segunda-feira, 2 de janeiro de 2012

Page 23: Selenium

Automação de Testes

Requer grande esforço na criação e manutenção;Alta reutilização;Exigem que cada ação seja programada;São rápidos;Suscetíveis a pequenas mudanças no ambiente;Repetíveis e consistentes;Exige profissionais altamente qualificados.

segunda-feira, 2 de janeiro de 2012

Page 24: Selenium

Falsas Expectativas

Uma ferramenta de testes automatizados é a solução de todos os problemas de qualidade!

Quer dizer que para criar testes automatizados será necessário modificar o sistema?

Teste automatizado é moleza. Basta gravar e depois executar o script!

segunda-feira, 2 de janeiro de 2012

Page 25: Selenium

Testes Funcionais

“Procedimento que deriva e/ou seleciona casos de testes com base em uma análise da especificação da funcionalidade de um componente ou sistema sem fazer referência a sua estrutura interna.”

Glossário - ISTQB (International Software Testing Qualification Board

segunda-feira, 2 de janeiro de 2012

Page 26: Selenium

Testes Funcionais

“O Teste Funcional procura entre outras coisas, mostrar que os requisitos funcionais do software são satisfeitos, que a entrada é adequadamente aceita, que a saída esperada é produzida e que a integridade das informações externas é mantida; por isso, não existe preocupação com a estrutura lógica interna do sistema.”

Pressman, 2002

segunda-feira, 2 de janeiro de 2012

Page 27: Selenium

Aplicações Web

Como testar a camada de apresentação?Como testar a compatibilidade entre browsers?Como testar se a página foi renderizada corretamente?Como automatizar tudo isto?

segunda-feira, 2 de janeiro de 2012

Page 28: Selenium

Selenium

Automação de testes funcionais em aplicações WEB;

segunda-feira, 2 de janeiro de 2012

Page 29: Selenium

Selenese

Conteúdo específico;Componentes HTML;Funcionalidades Ajax;Manipulação de eventos;Tamanho de janela/Posição do mouse;Janelas pop-up;...

segunda-feira, 2 de janeiro de 2012

Page 30: Selenium

Selenese

Actions: Comandos que geralmente manipulam o estado da aplicação;

Accessors: Examinam o estado da aplicação e armazenam o resultado em variáveis;

Assertions: Acessores que verificam conformidades:–assert: aborta o teste;–verify: teste continua, logando o erro;–waitFor: verify com timeout.

segunda-feira, 2 de janeiro de 2012

Page 31: Selenium

Selenese

Exemplos:

Comando Target Valor

goBackAndWait

verifyTextPresent Welcome to My Page

type id=phone (555) 666-7066

type id=address1 ${myVariableAddress}

segunda-feira, 2 de janeiro de 2012

Page 32: Selenium

Componentes

Slelenium IDE

Slelenium Remote Control

Slelenium Grid

segunda-feira, 2 de janeiro de 2012

Page 33: Selenium

Selenium IDE

Extensão do Firefox;–Permite:–Gravar;–Editar;–Debugar.

Transforma ações gravadas em código em várias linguagens;

segunda-feira, 2 de janeiro de 2012

Page 34: Selenium

Selenium IDE

Vantagens:–A instalação é local e simples;–É muito fácil de usar;–Permite gravar sessões de teste para uso posterior;–Permite exportar as sessões de teste como arquivos fonte Java, C#, Perl, PHP, Python e Ruby, que podem ser usados pelo Selenium RC;–Excelente para quem inicia o uso do Selenium;–Não é preciso saber programar.

Desvantagens:–Funciona como plugin apenas no FireFox;–Possui algumas limitações para testes mais complexos;–Pode apresentar o mesmo comportamento irregular relatado no item Selenuim Core. (colocar link local para #L1) .

segunda-feira, 2 de janeiro de 2012

Page 35: Selenium

Selenium RC

Permite rodar testes em browsers de diversos fabricantes;Utiliza recursos de linguagens de programação;Controle mais apurado do tempo;Controle de sequência de eventos.

segunda-feira, 2 de janeiro de 2012

Page 36: Selenium

Selenium RC

Vantagens:–É possível importar os testes gerados pelo Selenium IDE;–Muito mais flexível e poderoso.

Desvantagens:–A instalação e configuração do ambiente é um pouco mais trabalhosa;–É necessário saber programar;–Pode ser mais complicado escrever os testes à partir do zero .

segunda-feira, 2 de janeiro de 2012

Page 37: Selenium

Selenium RC

segunda-feira, 2 de janeiro de 2012

Page 38: Selenium

Selenium Grid

Permite a execução de múltiplos testes em paralelo, em várias máquinas e em diferentes SOs.

segunda-feira, 2 de janeiro de 2012

Page 39: Selenium

Resumo

segunda-feira, 2 de janeiro de 2012

Page 40: Selenium

Referências

http://seleniumhq.org/

segunda-feira, 2 de janeiro de 2012

Page 41: Selenium

Tadeu Marinho81 3134.5875

[email protected]

segunda-feira, 2 de janeiro de 2012