4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
-
Upload
elias-nogueira -
Category
Technology
-
view
2.696 -
download
0
description
Transcript of 4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
www.testanywhere.com.br
AUTOMAÇÃO DE TESTES - MITOS E VERDADES
www.testanywhere.com.br
• Outsourcing
Consultoria
• Treinamento
Automação de testes• Consultoria • Automação de testes
Introdução
– O que é Teste de Software?
– Desafios
– O que é Automação de Teste?
– Expectativas
Engenheiro de Teste
– O que faz um Engenheiro de Teste?
– Qual o conhecimento necessário
– Quanto ganha um Engenheiro de Teste
Fornecedores de Ferramentas de Teste
– Pagas
AG
END
A
– Free/OpenSource
Retorno de Investimento
– Exemplo
– Considerações
Como a TestAnywhere pode ajudar você
O que é teste de software?IN
TRO
DU
ÇÃ
O
Desafios do teste de software manualIN
TRO
DU
ÇÃ
O
O que é automação de testes?IN
TRO
DU
ÇÃ
O
Falsas expectativasIN
TRO
DU
ÇÃ
O
Uma ferramenta de testes
Testabili-oquê?Você quer dizer que
para criar testes automatizados será
necessário modificar o sistema?
Testes automatizados é
testes automatizados é a
solução de todos os problemas de
qualidade.
automatizados é moleza. Basta gravar
a digitação e os cliques do mouse e depois executar o
script.
A ferramenta não é a solução de todos os problemasIN
TRO
DU
ÇÃ
O
Falso senso de segurançaTestes automatizados revelam apenas cerca de 15% dos defeitos enquanto testes
manuais revelam cerca de 85% dos defeitos (James Bach, 1997)
INTR
OD
UÇ
ÃO
Analogia adaptada de Brian Marick/James Bach
Forte dependência da estabilidade da interface gráficaIN
TRO
DU
ÇÃ
O
• As ferramentas não são infalíveis
A automação de testes não exclui o fator humanoIN
TRO
DU
ÇÃ
O
Testes manuais X Automação de testes INTR
OD
UÇ
ÃO
Testes manuais X Automação de testesIN
TRO
DU
ÇÃ
O
Automação de testes não se limita a apenas testes automatizados
INTR
OD
UÇ
ÃOA automação pode ser aplicada em todas as fases do ciclo de
vida de desenvolvimento de software por meio de ferramentas
de gestão, controle e suporte às atividades de testes.
Ferramentas X Ciclo de vida (Modelo em V)IN
TRO
DU
ÇÃ
O
Guide to the CSTE Common Body of Knowledge. QAI, 2006
Testes candidatos (recomendados)C
ASO
S DE TESTES
Testes candidatos (não recomendados)C
ASO
S DE TESTES
Quem automatiza os testes: Engenheiro de testesEN
GEN
HEIR
O D
E TESTES
Sua função é criar estratégias de teste que serão utilizadas em produtos, aplicando toda e qualquer técnica de teste em um produto em desenvolvimento.
Dentro da organização costuma:• Criar e executar testes funcionais e não funcionais• Estimar e preparar o ambiente necessário• Estimar e preparar o ambiente necessário• Automatizar os testes funcionais/não funcionais• Criar cenários de teste mais abrangentes
O que um Engenheiro de testes precisa saber?
• Linguagem de programação
• Sistemas Operacionais
• Conhecimento avançado das Técnicas de Teste
• Ferramentas de Automação
• Linguagem SQL
ENG
ENH
EIRO
DE TESTES
• Linguagem SQL
• Arquitetura de Software
• Configuração de Ambientes
• Execução de Testes não Funcionais
• Habilidade de comunicação com pessoas técnicas
Fornecedores comerciais mais importantes
� Fornecedores mais importantes segundo um estudo do
Forrester Research em 2006.
FOR
NEC
EDO
RES
Forrester Wave: Functional Testing Solution, Q2 – 2006 (Forrester Research, Inc)
Fornecedores comerciais mais importantesFO
RN
ECED
OR
ES
Ferramentas OpenSource
� Prós� Ganhando mercado pela facilidade de utilização
� Facilidade de instalação
� Sem custos diretos
� Ferramentas colaborativas
FOR
NEC
EDO
RES
� Contras� Falta de integração entre ferramentas relacionadas
� Funcionalidades não tão bem desenvolvidas
� Gastos com tempo de aprendizado e treinamento
Fornecedores free/openSource mais importantes
Ferramentas de Automação Funcional
FOR
NEC
EDO
RES
Nome BadBoy Selenium Watir
Sitehttp://www.badboy.co
m.au/http://selenium.openqa.o
rg/http://wtr.rubyforge.
org
Tecnologia Web Web Web
FinalidadeAutomação por
capture/replay na Web com suporte a Ajax
Suíte de ferramentas para automação de páginas Web via capture/replay
Automação de testes para páginas Web via programação (Ruby)
Fornecedores free/openSource mais importantes
Ferramentas de Performance, Carga e Stress
FOR
NEC
EDO
RES
Nome JMeter OpenSTA WebLOAD
Sitehttp://jakarta.apache.org
/jmeter/http://www.opensta.org/
http://www.webload.org/
Tecnologia Java C++ C++
FinalidadePerformance para
conteúdo estático e dinâmico para Java
Performance baseados em arquitetura CORBA
Perfomance para aplicações Web
ROI – Retorno de Investimento da AutomaçãoR
OI –
RETO
RN
O D
E INV
ESTIMEN
TO
ROI = Benefício / Custo
ROI = (Custo Manual – Custo
RETO
RN
O D
E INV
ESTIMEN
TO
KELLY Michael. The ROI of Test Automation.
ROI = (Custo Manual – Custo Automação) / Custo Automação
RO
I –R
ETOR
NO
DE IN
VESTIM
ENTO
Item Custo Tempo
Publicar website e executar testes Semanalmente
Desenvolver testes manuais para o site 1 tester @ R$ 50 h 4 dias
Executar testes manuais para o site 2 testers @ R$ 50 h 1 dia
ROI – Retorno de Investimento da Automação
� Exemplo de ROI para um pequeno website que é atualizado
semanalmente
RETO
RN
O D
E INV
ESTIMEN
TO
Executar testes manuais para o site 2 testers @ R$ 50 h 1 dia
Desenvolver testes automatizados para o site
1 tester @ R$ 50 h 10 dia
Executar testes automatizados para o site 1 tester @ R$ 50 h 1 h para revisar logs
Manter os casos de teste manuais 1 tester @ R$ 50 h 1 dia a cada duas semanas
Manter scripts de testes automáticos 1 tester @ R$ 50 h 1 dia a cada semana
Hardware para a execução dos teste 2 computadores @ R$ 1,000
Software de teste e licenças 2 licenças@ R$ 2,000
RO
I –R
ETOR
NO
DE IN
VESTIM
ENTO
ROI – Retorno de Investimento da Automação
� Sabemos que o website é atualizado semanalmente para o
próximo ano.
Custo da Automação = valor do hardware + valor do software + tempo para
desenvolver os scripts + (tempo para manter os scripts x tempo total de execução dos
scripts) + (tempo para executar os scripts x tempo total de execução dos scripts)
Custo da Automação = 2 computadores@ R$ 1,000 + 2 licenças @ R$ 2,000 + 10 dias
RETO
RN
O D
E INV
ESTIMEN
TO
Custo da Automação = 2 computadores@ R$ 1,000 + 2 licenças @ R$ 2,000 + 10 dias
@ R$ 50 h +(1 dia @ R$ 50 h x 52 semanas) + (1 h @ R$ 50 x 52 semanas)
Custo da Automação = R$ 2,000 + R$ 4,000 + R$ 4,000 + R$ 20,800 + R$ 2,600
Custo da Automação = R$ 33,400
RO
I –R
ETOR
NO
DE IN
VESTIM
ENTO
ROI – Retorno de Investimento da Automação
Custo Manual = tempo para desenvolver casos de teste + (tempo para manter os casos
de teste x tempo total de execução dos casos de teste) + (tempo para executar testes
manuais x tempo total de execução dos testes)
Custo Manual = 4 dias@ R$ 50 h + (1 dia @ R$ 50 x 26 semanas) + (1 dia @ R$ 100 x
52 semanas)
Custo Manual = R$ 1,600 + R$ 10,400 + R$ 41,600
RETO
RN
O D
E INV
ESTIMEN
TO
Custo Manual = R$ 1,600 + R$ 10,400 + R$ 41,600
Custo Manual = R$ 53,600
ROI = benefícios/ custos
ROI = (custo manual – custo da automação) / custo da automação
ROI = (R$ 53,600 - R$ 33,400) / R$ 33,400
ROI = cerca de 61% ao longo do ano
RO
I –R
ETOR
NO
DE IN
VESTIM
ENTO
ROI – Retorno de Investimento da Automação
� O que tem de errado com esse exemplo?
� Não podemos comparar diretamente testes manuais com
automatizados pois não são os mesmos e não proporcionam a mesma
informação
� Testes Automatizados não são tão eficazes como um teste manual
complexo
RETO
RN
O D
E INV
ESTIMEN
TO
complexo
� Técnicas de Testes diferentes são executadas
� Testes Automatizados irão encontrar erros diferentes da execução
manual. Testes de Performance são um exemplo
ROI – Retorno de Investimento da AutomaçãoR
OI –
RETO
RN
O D
E INV
ESTIMEN
TOR
ETOR
NO
DE IN
VESTIM
ENTO
Como podemos ajudá-lo?TESTA
NYW
HE
RE
O FastAutomation é um pacote de consultoria em
automação de teste de software onde realizamos uma
prova de conceito para identificar a melhor ferramenta
que se adeque as necessidades e orçamento da sua
empresa. Com base no nesta prova de conceito,
sugerimos a adoção de uma ferramenta, treinamos o
O TestExpress é um pacote de consultoria onde
alocamos um time de profissionais especializados em
automação de testes para automatizar os testes dos
sistemas da sua empresa. A ferramenta de automação
pode ser a ferramenta do cliente ou a ferramenta
sugerida pelos nossos especialistas.
time de testes e implantamos a ferramenta.