Apresentação sobre Automação de Teste de Software no 3° BRATESTE - Seminário Brasileiro de Teste de Software em 18/06/2010
Esta apresentação contém material teórico sobre Automação de Teste, Geração de Frameworks de Automação de Teste, como definir a arquitetura da automação e um hands on com Selenium
1. (48) 4052-9536 / 9540
contato@qualister.com.br
• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
Automação de Teste
de Software
BRATESTE 2010
www.qualister.com.br
2. Sobre a Qualister
• Fundação: 2007.
• Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
de profissionais qualificados e certificados na área de testes e qualidade de
software, com o objetivo de integrar, implementar e implantar soluções com base nas
melhores práticas do mercado e normas internacionais.
• Colaboradores: A Qualister é composta por colaboradores pós-graduados e
certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
Tecnologia da Informação.
• Área de atuação: A Qualister é uma empresa especializada em serviços de
qualidade e teste de software. Tem como linhas de atuação consultoria em
teste/qualidade de software, outsourcing (terceirização dos serviços através da
alocação de profissionais) e treinamentos.
• Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e
está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da
universidade UNIVALI.
www.qualister.com.br
4. Parcerias internacionais
Soluções para automação, profilling e gestão de testes
Soluções para testes de performance
Soluções de apoio a avaliação de usabilidade
www.qualister.com.br
6. Instrutor
• Elias Nogueira
– Consultor e Instrutor de Automação de Teste na Qualister
– Arquiteto de Teste de Software na InMetrics
– Instrutor de Teste de SW na Iterasys Informática
– MBA Teste de Software
– CSTE – Certified software Testes / QAI Brasil
– Blog: http://sembugs.blogspot.com
www.qualister.com.br
7. Agenda
• Conceituação de Automação de Teste Funcional
– O que é Automação Funcional de Teste
– Desafio do Teste Manual
– Falsa expectativa
– Ferramentas não são infalíveis
– Testes Manuais x Automação de Teste
– Quem automatiza e seus papéis
• Definição de Criação e Execução de Testes Automatizados
– Escopo da Automação
– Gerações de Frameworks Automatizados (Framework Generations)
– Passos para o Design da Automação Funcional
– Tipos de Defeitos e Implementação de Manipulação de Erros
• Ferramentas para a Automação Funcionais de Teste
– Ferramentas free e open source
– Ferramentas pagas
www.qualister.com.br
8. O que é Automação Funcional de Teste?
www.qualister.com.br Desafio do Teste Manual
10. Falsa Expectativa
Testabili-oquê?
Você quer dizer que
para criar testes
automatizados será
necessário modificar o
sistema?
Uma ferramenta de
Testes
testes
automatizados é
automatizados é a
moleza. Basta
solução de todos os
gravar a digitação e
problemas de
os cliques do mouse
qualidade.
e depois executar o
script.
www.qualister.com.br Falsas Expectativas
11. Falsa Expectativa
• Testes automatizados revelam apenas cerca de
15% dos defeitos enquanto testes manuais revelam
cerca de 85% dos defeitos (James Bach, 1997)
Analogia adaptada de Brian Marick/James Bach
www.qualister.com.br Ferramentas não são infalíveis
12. Ferramentas Não São Infalíveis
• Podem trazer problemas na execução
• Podem trazer resultados errados
• Não tem imaginação
• Reconhecimento incorreto de componentes/objetos
www.qualister.com.br Teste Manual x Automação de Teste
13. Testes Manuais x Automação de Teste
www.qualister.com.br Quem automatiza e seus papéis
14. Quem Automatiza e Seus Papéis
• Automatizador de Teste
• Engenheiro de Teste
• Arquiteto de Teste
www.qualister.com.br Quem automatiza e seus papéis
15. Quem Automatiza e Seus Papéis
• O que o profissional precisa conhecer?
– Linguagem de programação
– Sistemas Operacionais
– Conhecimento avançado das Técnicas de Teste
– Ferramentas de Automação
– Linguagem SQL
– Arquitetura de Software
– Configuração de Ambientes
– Execução de Testes não Funcionais
– Habilidade de comunicação com pessoas técnicas
www.qualister.com.br Escopo da Automação
16. Escopo da Automação
• Como definir uma ferramenta de automação?
– Levantar todas as expectativas e benefício esperados
pela área de teste
– Criar um documento de comparação (benchmark)
– Listar pontos específicos da ferramenta para a
comparação (funcionalidades, benefícios, etc...)
– Decisão será por uma reunião com os stakeholders
– O termo aquisição pode ser diferente de gastar com
ferramentas
www.qualister.com.br Automação dentro da organização
17. Escopo da Automação
• Automação dentro da organização
– Revisar o atual Processo de Teste
– Aplicar todos os testes internos com a ferramenta sob o
processo
– Efetuar as Melhorias no Processo de Teste
– Obter resultados reais da utilização de ferramentas
– Real comparação da execução manual x apoio de
ferramentas
– Todas as percepções devem ser coletadas e
posteriormente analisadas
www.qualister.com.br Planejamento arquitetura e design
18. Escopo da Automação
• Planejamento, Arquitetura e Desenvolvimento
– Identificação/criação de normas e diretrizes
– Validar o ambiente (HW e SW)
– Gerar Massa de Dados
– Criar os scripts (gravar, atualizar e testar)
– Executar os scripts
– Gerar métricas de execução dos scripts
– Scripts devem ser:
• Reutilizáveis
• Plugáveis
www.qualister.com.br Execução e revisão da automação
19. Escopo da Automação
• Execução dos Testes Automatizados
– Mesma abordagem da execução manual
– Duas abordagens para os testes automatizados
• Testes focados no componente
• Testes focados na integração funcional dos componentes
• Revisão dos Testes Automatizados
– Revisar documentação gerada
– Revisar métricas coletadas
– Coletar feedbacks
– Melhorar o Processo de Teste
www.qualister.com.br 1° Geração de frameworks
20. Gerações de Frameworks
• 1°Geração de Frameworks: Linear
– Utilização de um script “reto”
– Impulsionados pelo uso do Record-and-Play
– Sem modularização, reutilização e atributos de qualidade
para scripts
• Pode ser útil para automações pontuais
www.qualister.com.br 2° Geração: Decomposição funcional
21. Gerações de Frameworks
• 2°Geração de Frameworks: Decomposição
Funcional
– Produção de componentes modularizados
– Combinação de componentes existentes
– Maior reutilização
Script
• NavegarPara
1 NavegarPara(“TelaDeBusca”)
Script
2 ColocarInformacao(“BRATESTE 2010”)
• ColocarInformacao
3 VerificarInformacao(“BRATESTE 2010”)
Script
• VerificarInformacao
www.qualister.com.br 2 Geração: Data driven
22. Gerações de Frameworks
• 2°Geração de Frameworks: Data Driven
– Mesmo bloco de código usando dados diferentes
– Dados ficam em um arquivo externo
– Apesar de forte ligação com scripts lineares, é
necessário aplicar a decomposição
Script linear
1 Acessar a página de login
2 Informar o usuário “José”
3 Informar a senha “1q2w3e”
4 Clicar no botão OK
5 Se usuario e senha OK = Sucesso
6 Senão = Falha
www.qualister.com.br 2° Geração: Data driven
23. Gerações de Frameworks
• 2°Geração de Frameworks: Data Driven
– Mesmo bloco de código usando dados diferentes
– Dados ficam em um arquivo externo
– Apesar de forte ligação com scripts lineares, é
necessário aplicar a decomposição
1 Pegar dados da Tabela Massa de Dados
2 Acessar a página de login usuario senha
3 Informar o usuário <usuario>
José 1q2w3e
4 Informar a senha <senha>
Maria ad5e6p
5 Clicar no botão OK
6 Se usuario e senha OK = Sucesso
7 Senão = Falha
8 Fechar Tabela
www.qualister.com.br 2° Geração: Keyword driven
24. Gerações de Frameworks
• 3°Geração de Frameworks: Keyword Driven
– Conhecido também como Table Driven
– Testes automatizados desenvolvidos em tabelas com o
vocabulário de palavras-chave (keyword) que são
independentes de uma ferramenta
Tela Objeto Ação Valor
TelaDeLogin usuario digitar “Elias”
TelaDeLogin senha digitar “1h5ks80”
TelaDeLogin botao clicar
TelaInicial Validar texto “Bem-vindo Elias”
www.qualister.com.br 3° Geração: Model based
25. Gerações de Frameworks
• 3°Geração de Frameworks: Model Based
– Criação e execução de testes automaticamente
– Automatizador descreve características do aplicativo
através de modelos com base em ações e resultados
esperados
Modelo
Requisitos Derivação Suítes
de Teste de Teste Abstratas
Informação Compilação
Extra de Suítes
Resultados Execução Suítes
de Teste Executáveis
www.qualister.com.br Passos para o design
26. Passos para o Design da Automação
• Nenhum processo de design será igual
• Algumas boas práticas para o design:
– Selecionar o tipo de framework
– Identificar os componentes do framework
– Criar e implementar políticas, padrões e procedimentos
– Desenvolver a Arquitetura
– Desenvolver os Testes Automatizados
– Analisar os resultados
– Relatórios e report de bugs
www.qualister.com.br Passos para o design
27. Passos para o Design da Automação
• Desenvolver os Testes Automatizados
– Gravar os scripts (Record and Play)
– Atualizar os scripts (criar loops e validações)
– Criar mecanismos de Manipulação de Erros
– Parametrizar os scripts (Data Driven)
– Gerar resultado dos scripts
– Testar os scripts
www.qualister.com.br Tipos de defeitos
28. Tipos de Defeitos e Implementação de Manipulação de Erros
• Basicamente existem 4 tipos básicos de Defeitos
– Erros de Sintaxe
– Erros em Tempo de Execução
– Erros de Lógica
– Erros da Aplicação
• Para corrigir estes defeitos utilizamos Debugging
– Identificar a existência do erro
– Reproduzir o erro
– Localizar o erro
– Corrigir o erro
www.qualister.com.br Tipos de defeitos
29. Tipos de Defeitos e Implementação de Manipulação de Erros
• O tratamento do erro deve incluir os seguintes
passos:
– Diagnóstico dos erros em potencial
– Definir mecanismo de captura
– Criar log do erro
– Criar a rotina de manipulação de erro
www.qualister.com.br Ferramentas free e open source
30. Ferramentas Free e OpenSource
• Prós
– Ganhando mercado pela facilidade de utilização
– Facilidade de instalação
– Sem custos diretos
– Ferramentas colaborativas
• Contras
– Falta de integração entre ferramentas relacionadas
– Funcionalidades não tão bem desenvolvidas
– Gastos com tempo de aprendizado e treinamento
www.qualister.com.br Ferramentas free e open source
31. Ferramentas Free e OpenSource
• Principais Players
Selenium – Testes Automatizados para Web por meios
Funcionais e de Aceitação.
http://seleniumhq.org
JMeter – Testes de performance em aplicações de diferentes
tipo de servidores (HTTP/HTTPS, SOAP, JMS, etc..).
http://jakarta.apache.org/jmeter
Watir – Testes Automatizados para Web escritos na linguagem
Ruby. Existem derivações em .Net (WatN) e Java (WatJ)
http://watir.com
FitNesse – Web server, Wiki e ferramenta de Teste
Automatizado para suportar Testes de Aceitação
http://jakarta.apache.org/jmeter/
www.qualister.com.br Ferramentas pagas
32. Ferramentas Pagas
• Principais Players
TestComplete – Testes Automatizados para Web e Desktop
(Delphi, C++, VB, PowerBuilder) em diversos níveis de teste.
http://peqno.com/testcomplete
HP QuickTest Professional – Testes Automatizados em Web e
Desktop com suporte a diversas tecnologias.
http://peqno.com/qtp
IBM Rational Functional Tester – Testes Automatizados para
Desktop (.Net e Java) e Web .
http://peqno.com/rrobot
HP LoadRunner – Testes de Performance em diversos tipos
de aplicações e protocolos (WEB, SOA, Java, .Net, Citrix, etc...)
http://peqno.com/lrunner
www.qualister.com.br Ferramentas pagas
33. Ferramentas Pagas
Gartner RAS Core Research Note G00169077, Thomas E. Murphy, 31 July 2009
www.qualister.com.br
34. Hands-On Selenium
• Automação Web através do
– Selenium IDE
– Selenium RC (Java + JUnit)
– Data-Driven
www.qualister.com.br