Post on 25-May-2015
description
www.qualister.com.br
(48) 4052-9536 / 9540
contato@qualister.com.br
Automação de Teste de Software
BRATESTE 2010
• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
www.qualister.com.br
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
Alguns clientes
www.qualister.com.br
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
Contato
• Email : contato@qualister.com.br• Telefone : (48) 4052-9540 e (48) 4052-9536• Endereço : Rua Patrício Antônio Teixeira, 317, Sala 406-A,
Jardim Carandaí. Biguaçu/SC. CEP 88160-000
www.qualister.com.br
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
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
O que é Automação Funcional de Teste?
Desafio do Teste Manual
www.qualister.com.br
Desafio do Teste Manual
Falsas Expectativas
www.qualister.com.br
Falsa Expectativa
Uma ferramenta de
testes
automatizados é a
solução de todos os
problemas de
qualidade.
Testabili-oquê?
Você quer dizer que
para criar testes
automatizados será
necessário modificar o
sistema?
Testes
automatizados é
moleza. Basta
gravar a digitação e
os cliques do mouse
e depois executar o
script.
Falsas Expectativas
www.qualister.com.br
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 BachFerramentas não são infalíveis
www.qualister.com.br
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
Teste Manual x Automação de Teste
www.qualister.com.br
Testes Manuais x Automação de Teste
Quem automatiza e seus papéis
www.qualister.com.br
Quem Automatiza e Seus Papéis
• Automatizador de Teste
• Engenheiro de Teste
• Arquiteto de Teste
Quem automatiza e seus papéis
www.qualister.com.br
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
Escopo da Automação
www.qualister.com.br
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
Automação dentro da organização
www.qualister.com.br
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
Planejamento arquitetura e design
www.qualister.com.br
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
Execução e revisão da automação
www.qualister.com.br
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
1° Geração de frameworks
www.qualister.com.br
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
2° Geração: Decomposição funcional
www.qualister.com.br
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
1 NavegarPara(“TelaDeBusca”)
2 ColocarInformacao(“BRATESTE 2010”)
3 VerificarInformacao(“BRATESTE 2010”)
Script
• NavegarPara• NavegarPara
Script
• ColocarInformacao• ColocarInformacao
Script
• VerificarInformacao• VerificarInformacao
2 Geração: Data driven
www.qualister.com.br
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 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
Script linear
2° Geração: Data driven
www.qualister.com.br
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
usuario senha
José 1q2w3e
Maria ad5e6p
Massa de Dados1 Pegar dados da Tabela
2 Acessar a página de login
3 Informar o usuário <usuario>
4 Informar a senha <senha>
5 Clicar no botão OK
6 Se usuario e senha OK = Sucesso
7 Senão = Falha
8 Fechar Tabela
2° Geração: Keyword driven
www.qualister.com.br
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”
3° Geração: Model based
www.qualister.com.br
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
Requisitos Requisitos
de Teste
Modelo
Abstratas
Suítes
Abstratas
Compilação
de Suítes
Derivação
de Teste
Executáveis
Suítes
Executáveis
Execução
de TesteResultados
Informação Informação
Extra
Passos para o design
www.qualister.com.br
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
Passos para o design
www.qualister.com.br
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
Tipos de defeitos
www.qualister.com.br
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
Tipos de defeitos
www.qualister.com.br
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
Ferramentas free e open source
www.qualister.com.br
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
Ferramentas free e open source
www.qualister.com.br
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/
Ferramentas pagas
www.qualister.com.br
Ferramentas Pagas
• Principais PlayersTestComplete – 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
Ferramentas pagas
www.qualister.com.br
Ferramentas Pagas
Gartner RAS Core Research Note G00169077, Thomas E. Murphy, 31 July 2009
www.qualister.com.br
Hands-On Selenium
• Automação Web através do– Selenium IDE
– Selenium RC (Java + JUnit)
– Data-Driven
www.qualister.com.br
Dúvidas
• Dúvidas?
• Email : elias.nogueira@qualister.com.br• Telefone : (48) 4052-9540 e (48) 4052-9536• Endereço : Rua Patrício Antônio Teixeira, 317, Sala 406-A,
Jardim Carandaí. Biguaçu/SC. CEP 88160-000