Upload
tadeu-marinho
View
899
Download
7
Embed Size (px)
DESCRIPTION
Apresentação sobre automatização de testes funcionais com o Selenium para os testadores da Pitang.
Citation preview
Testes Funcionais com Selenium
Uma empresaC.E.S.A.R
Tadeu [email protected]
segunda-feira, 2 de janeiro de 2012
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
Motivação
O impulso interno que leva à ação.
segunda-feira, 2 de janeiro de 2012
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
Novos Sabores
segunda-feira, 2 de janeiro de 2012
Novos Conhecimentos
segunda-feira, 2 de janeiro de 2012
Formas de Ensino
segunda-feira, 2 de janeiro de 2012
Novas Manobras
segunda-feira, 2 de janeiro de 2012
Segurança
segunda-feira, 2 de janeiro de 2012
Paixões
segunda-feira, 2 de janeiro de 2012
...
segunda-feira, 2 de janeiro de 2012
Faz Parte do Cotidiano
segunda-feira, 2 de janeiro de 2012
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
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
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
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
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
O Custo
segunda-feira, 2 de janeiro de 2012
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
Teste Manual
Ciclo 1Ciclo 1Ciclo 1
Ciclo 2
Ciclo N - 1
Ciclo N
Desafio:
segunda-feira, 2 de janeiro de 2012
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
IMPORTANTE
Automação de testes não exclui o fator humano.
segunda-feira, 2 de janeiro de 2012
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
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
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
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
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
Selenium
Automação de testes funcionais em aplicações WEB;
segunda-feira, 2 de janeiro de 2012
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
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
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
Componentes
Slelenium IDE
Slelenium Remote Control
Slelenium Grid
segunda-feira, 2 de janeiro de 2012
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
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
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
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
Selenium RC
segunda-feira, 2 de janeiro de 2012
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
Resumo
segunda-feira, 2 de janeiro de 2012
Referências
http://seleniumhq.org/
segunda-feira, 2 de janeiro de 2012