SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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
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
9.
Desafio do Teste Manual
www.qualister.com.br Falsas Expectativas
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