automação de testes: teoria e prática (senai) - qualister
DESCRIPTION
Nesta apresentação discutiremos as melhores práticas e desafios sobre automação de testes de softwareTRANSCRIPT
www.qualister.com.br
(48) 4052-9536 / 9540
Automação de testesTeoria e Prática
• Terceirização de profissionais• Consultoria de teste• Avaliação de usabilidade• Automação de testes• Testes de performance• Treinamentos
www.qualister.com.br
Direitos autorais
Importante– É proibida a cópia e reprodução de
qualquer parte do conteúdo desta
apresentação incluindo, mas não limitado
a, textos, imagens, gráficos e tabelas. Esta
apresentação é protegida pelas leis de
Copyright e são propriedade de Cristiano
Caetano e Qualister Consultoria e
Treinamento LTDA.
– Não é permitido modificar, copiar, guardar
em banco de dados público, alugar, vender
ou republicar qualquer parte desta
apresentação, sem prévia permissão
explícita do autor.
– Quando houver permissão de uso deste
material, é obrigatória a referência
bibliográfica conforme as normas vigentes.
www.qualister.com.br
Instrutor
Cristiano CaetanoEmail: [email protected]ções: slideshare.net/cristianocaetanoBlog: cristianocaetano.wordpress.com É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de
experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br).
www.qualister.com.br
twitter.com/c_caetano
www.qualister.com.br
Apresentação
www.slideshare.net/cristianocaetano
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.
www.qualister.com.br
Alguns clientes
www.qualister.com.br
Alguns clientes
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
Tópico
• Empresa típica de desenvolvimento de software
www.qualister.com.br
Empresa típica de desenvolvimento de software
• Não existe requisitos ou documentação• Controle de mudança e de versões inadequados (ou
inexistente)• Carência de um processo de desenvolvimento e de
testes• Não existe levantamento de métricas e indicadores• Foco na entrega (em detrimento a níveis mínimos de
qualidade)• Inexistência de um time de testes (ou um time de
testes formado por pessoas inexperientes na área de testes)
• Time de testes focado em testes superficiais (sem o uso de automação de testes, de ferramentas de gestão de testes, de gestão de defeitos, etc)
www.qualister.com.br
Cultura predominante
No meu computador funcionou!
No meu computador funcionou!
Não está escrito no requisito!
Não está escrito no requisito!
Ninguém pediu para verificar
isso!
Ninguém pediu para verificar
isso!
Compilou, tá pronto!
Compilou, tá pronto!
Ninguém vai digitar isso
nesse campo!
Ninguém vai digitar isso
nesse campo!
Esse erro não é na tela que eu
estou trabalhando!
Esse erro não é na tela que eu
estou trabalhando!
Por que testar?Por que testar?
Libera para o cliente e vamos
ver o que acontece!
Libera para o cliente e vamos
ver o que acontece!
www.qualister.com.br
Sistemas liberados em produção com muitos defeitos críticos
• Defeitos encontrados em softwares causam:– Prejuízos financeiros;– Danos físicos significativos;– Perdas de vidas humanas;– Comprometimento da reputação da empresa.
www.qualister.com.br
Teste de software
Versão 1Versão 1 Versão 2Versão 2 Versão 3Versão 3
A B A B
C
A
B
C
D
www.qualister.com.br
Teste de software
Versão 1Versão 1 Versão 2Versão 2 Versão 3Versão 3
A B A B
C
A B
C
D E
TESTES
TESTES
TESTES
TESTES
TESTES
TESTES
www.qualister.com.br
Teste de software
Versão 1Versão 1 Versão 2Versão 2 Versão 3Versão 3
A B A B
C
A B
C
D E
TESTES
TESTES
TESTES
www.qualister.com.br
Teste de software
Versão 1Versão 1 Versão 2Versão 2 Versão 3Versão 3
A B A B
C
A B
C
D E
TESTES
TESTES
TESTES
www.qualister.com.br
Teste de software
Versão 1Versão 1 Versão 2Versão 2 Versão 3Versão 3
A B A B
C
A B
C
D E
TESTES
TESTES
TESTES
DEFEITOS REMANESCENTES
DEFEITOS REMANESCENTES
DEFEITOS REMANESCENTES
www.qualister.com.br
Risco: Os testes não acompanham o aumento das funcionalidades
Funcionalidades
Testes
RIS
CO
www.qualister.com.br
Risco: As funcionalidades não são testadas individualmente e integradas
www.qualister.com.br
Modelos de maturidade (Genéricos e específicos para testes)
www.qualister.com.br
Mesmo atingindo maturidade em algum modelo a equipe de testes executando testes manuais transforma-se no gargalo
www.qualister.com.br
Tópico
• A importância da automação de testes
www.qualister.com.br
Automação de testes
• Por que é dado um grande enfoque em automação de testes?– A automação oferece uma rede de
segurança por meio de regressões completas
– A automação viabiliza ciclos curtos de entrega
– A automação oferece feedback contínuo– A automação libera as pessoas para
realizarem tarefas mais criativas ao invés de terem que executar testes manuais, enfadonhos e repetitivos
www.qualister.com.br
Pirâmide dos testes automatizados – Cenário desejado
Testes funcionais manuaisPoucos ou nenhum
Testes automatizadosFoco em testes de API e interface
gráfica
Testes unitários e de integracãoAbundantes (100% de cobertura)
Criados pelos desenvolvedores
Baseado em: Mike Cohn - Test Automation Pyramid
www.qualister.com.br
Pirâmide dos testes automatizados – Realidade nas empresas
Testes funcionais manuaisFoco na interface gráfica
Testes automatizadosFoco na interface gráfica via
capture/playback
Testes unitários e de integracãoPoucos ou inexistentes
Baseado em: Mike Cohn - Test Automation Pyramid
www.qualister.com.br
Pirâmide dos testes automatizados – Cenário desejado
Testes funcionais manuaisPoucos ou nenhum
Testes automatizadosFoco em testes de API e interface
gráfica
Testes unitários e de integracãoAbundantes (100% de cobertura)
Criados pelos desenvolvedores
Baseado em: Mike Cohn - Test Automation Pyramid
O cenário desejado muitas
vezes é impossível de ser
atingido porque os sistemas
possuem plataformas e
tecnologias legadas
www.qualister.com.br
Tópico
• Mitos e desafios da automação de testes
www.qualister.com.br
Mitos
Uma ferramenta de testes
automatizados é a solução de todos os
problemas de qualidade.
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.
www.qualister.com.br
Desafios da automação de testes
• A automação de testes é a solução dos problemas de qualidade
• A ferramenta de automação substitui o profissional de teste e qualidade de software
• Todos os testes devem ser automatizados• Falta de testabilidade• Falso senso de segurança• Desconhecimento das ferramentas
existentes ou uso incorreto das ferramentas• Carência de testes sob a perspectiva do
API’s e código• Profissionais não qualificados ou sem
treinamento adequado• As ferramentas não são infalíveis• Infra-estrutura de suporte a automação
inadequada• Expectativa de que o retorno de
investimento em automação seja no curto prazo
Desafios técnicos
Desafios culturais
www.qualister.com.br
Desafios da automação de testes
• A automação de testes é a solução dos problemas de qualidade
www.qualister.com.br
Desafios da automação de testes
• A ferramenta de automação substitui o profissional de teste e qualidade de software
www.qualister.com.br
Desafios da automação de testes
• As ferramentas não são infalíveis
www.qualister.com.br
Desafios da automação de testes
• Todos os testes devem ser automatizados
www.qualister.com.br
Desafios da automação de testes
• Falso senso de segurança
www.qualister.com.br
Desafios da automação de testes
• Profissionais não qualificados ou sem treinamento adequado
www.qualister.com.br
Desafios da automação de testes
• Falta de testabilidade no software
www.qualister.com.br
Desafios da automação de testes
• Infra-estrutura de suporte a automação inadequada– Computadores de alto
desempenho– Computadores dedicados
e isolados– Ambiente similar ao de
produção
www.qualister.com.br
Desafios da automação de testes
• Massa de dados inconsistente– A automação de testes é um
tipo de teste que exige ambiente/dados rigorosamente controlados. A automação não é adaptativa, flexível, exploratória.
– Massa de dados consistente qualitativa e quantitativamente para satisfazer as pré-condições dos testes automatizados
– Procedimentos automatizados para restaurar a massa de dados ao estado “conhecido” após a execução dos testes
www.qualister.com.br
Desafios da automação de testes
• Expectativa de que o retorno de investimento em automação seja no curto prazo
www.qualister.com.br
Tópico
• Benefícios da automação de testes
www.qualister.com.br
Automação de testes
Alta velocidade na execução
Maior amplitude e profundidade dos
testes
Repetitível
Pouco envolvimento humano
Resultados consistentes
Alta velocidade na execução
Maior amplitude e profundidade dos
testes
Repetitível
Pouco envolvimento humano
Resultados consistentes
www.qualister.com.br
Tópico
• Ferramentas e Demo
www.qualister.com.br
Ferramentas de automação de testes funcionais
Selenium – Testes automatizados para Web por meios Funcionais. http://seleniumhq.org
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çãohttp://jakarta.apache.org/jmeter/TestComplete – Testes automatizados para Web e sistemas Desktophttp://www.qualister.com.br/produtos/testcomplete