Selenium

1,185 views
1,108 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,185
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Selenium

  1. 1. Testes Funcionais com Selenium Uma empresa C.E.S.A.R Tadeu Marinho tadeu.marinho@pitang.com segunda-feira, 2 de janeiro de 2012
  2. 2. 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
  3. 3. Motivação O impulso interno que leva à ação. segunda-feira, 2 de janeiro de 2012
  4. 4. 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
  5. 5. Novos Sabores segunda-feira, 2 de janeiro de 2012
  6. 6. Novos Conhecimentos segunda-feira, 2 de janeiro de 2012
  7. 7. Formas de Ensino segunda-feira, 2 de janeiro de 2012
  8. 8. Novas Manobras segunda-feira, 2 de janeiro de 2012
  9. 9. Segurança segunda-feira, 2 de janeiro de 2012
  10. 10. Paixões segunda-feira, 2 de janeiro de 2012
  11. 11. ... segunda-feira, 2 de janeiro de 2012
  12. 12. Faz Parte do Cotidiano segunda-feira, 2 de janeiro de 2012
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. O Custo segunda-feira, 2 de janeiro de 2012
  19. 19. 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
  20. 20. Teste Manual Ciclo 1Ciclo 1Ciclo 1 Ciclo 2 Ciclo N - 1 Ciclo N Desafio: segunda-feira, 2 de janeiro de 2012
  21. 21. 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
  22. 22. IMPORTANTE Automação de testes não exclui o fator humano. segunda-feira, 2 de janeiro de 2012
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Selenium Automação de testes funcionais em aplicações WEB; segunda-feira, 2 de janeiro de 2012
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. Componentes Slelenium IDE Slelenium Remote Control Slelenium Grid segunda-feira, 2 de janeiro de 2012
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. Selenium RC segunda-feira, 2 de janeiro de 2012
  38. 38. 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
  39. 39. Resumo segunda-feira, 2 de janeiro de 2012
  40. 40. Referências http://seleniumhq.org/ segunda-feira, 2 de janeiro de 2012
  41. 41. Tadeu Marinho 81 3134.5875 tadeu.marinho@pitang.com www.pitang.com.br segunda-feira, 2 de janeiro de 2012

×