Este documento discute automação de testes de software, abordando tópicos como: o que é teste de software, desafios da automação, mitos e expectativas em relação à automação, ferramentas de automação, retorno de investimento na automação e como a TestAnywhere pode ajudar empresas a automatizar testes.
3. Introdução
AGENDA
– 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
– Free/OpenSource
Retorno de Investimento
– Exemplo
– Considerações
Como a TestAnywhere pode ajudar você
7. INTRODUÇÃO
Falsas expectativas
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 gravar
solução de todos os
a digitação e os
problemas de
cliques do mouse e
qualidade.
depois executar o
script.
9. INTRODUÇÃO
Falso senso de segurança
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
14. INTRODUÇÃO
Automação de testes não se limita a apenas testes
automatizados
A 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.
18. ENGENHEIRO DE TESTES
Quem automatiza os testes: Engenheiro de 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
• Automatizar os testes funcionais/não funcionais
• Criar cenários de teste mais abrangentes
19. ENGENHEIRO DE TESTES
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
• Arquitetura de Software
• Configuração de Ambientes
• Execução de Testes não Funcionais
• Habilidade de comunicação com pessoas técnicas
20. FORNECEDORES
Fornecedores comerciais mais importantes
Fornecedores mais importantes segundo um estudo do
Forrester Research em 2006.
Forrester Wave: Functional Testing Solution, Q2 – 2006 (Forrester Research, Inc)
22. FORNECEDORES
Ferramentas 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
23. FORNECEDORES
Fornecedores free/openSource mais importantes
Ferramentas de Automação Funcional
Nome BadBoy Selenium Watir
http://www.badboy.co http://selenium.openqa.o http://wtr.rubyforge.
Site m.au/ rg/ org
Tecnologia Web Web Web
Automação por Suíte de ferramentas para Automação de testes
Finalidade capture/replay na Web automação de páginas para páginas Web via
com suporte a Ajax Web via capture/replay programação (Ruby)
24. FORNECEDORES
Fornecedores free/openSource mais importantes
Ferramentas de Performance, Carga e Stress
Nome JMeter OpenSTA WebLOAD
http://jakarta.apache.org http://www.webload.or
Site /jmeter/
http://www.opensta.org/
g/
Tecnologia Java C++ C++
Performance para
Performance baseados em Perfomance para
Finalidade conteúdo estático e
arquitetura CORBA aplicações Web
dinâmico para Java
25. ROI – RETORNO DE INVESTIMENTO
ROI – Retorno de Investimento da Automação
RETORNO DE INVESTIMENTO
ROI = Benefício / Custo
ROI = (Custo Manual – Custo
Automação) / Custo Automação
KELLY Michael. The ROI of Test Automation.
26. ROI – RETORNO DE INVESTIMENTO
ROI – Retorno de Investimento da Automação
Exemplo de ROI para um pequeno website que é atualizado
RETORNO DE INVESTIMENTO
semanalmente
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
Desenvolver testes automatizados para o 1 tester @ R$ 50 h 10 dia
site
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
27. ROI – RETORNO DE INVESTIMENTO
ROI – Retorno de Investimento da Automação
Sabemos que o website é atualizado semanalmente para o
RETORNO DE INVESTIMENTO
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
@ 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
28. ROI – RETORNO DE INVESTIMENTO
ROI – Retorno de Investimento da Automação
RETORNO DE INVESTIMENTO
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
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
29. ROI – RETORNO DE INVESTIMENTO
ROI – Retorno de Investimento da Automação
O que tem de errado com esse exemplo?
RETORNO DE INVESTIMENTO
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
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
31. TESTANYWHERE
Como podemos ajudá-lo?
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
time de testes e implantamos a ferramenta.
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.