Você está na página 1de 61

Introduo a Automao de

Testes de Software
Eduardo Souza

eINTELLECTA
11 3257 3003

Contedo
-

Por que testar?

Quanto custa o erro?

Quantos testes devo fazer?

O que automao de testes?

Por que a automao me ajuda?

Objetivos da Automao

Quando Automatizar?

O que Automatizar?

O que no Automatizar?

Lista de Ferramentas

Tcnicas de Automao

Boas Prticas da Automao

Tipos de Testes

Desafios da Automao

Cargos e salrios

eINTELLECTA
11 3257 3003

Por que testar?

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


O Orbitador Climtico de Marte foi destrudo devido a um erro
de navegao. A nave espacial deveria efetuar sua insero na
rbita de Marte a uma altitude de 140 a 150 km da superfcie.
Porm devido a um equvoco, a nave espacial entrou a uma
altitude de 57 km e foi destruda pela sua frico com a
atmosfera de Marte. O erro deveu-se a equipe da terra que fez o
uso de medidas inglesas para calcular os parmetros de insero
e enviou os dados a nave e esta apenas realizavam clculos no
sistema mtrico.

http://twixar.com/NtBuMevlecqu
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


A empresa Sony prometeu hoje compensar
os 78 milhes de utilizadores afetados pelo
roubo de dados privados do servio
Playstation Network.
Onze dias depois da falha de segurana, a
empresa japonesa voltou a reconhecer que os
dados bancrios dos utilizadores poderiam ter
sido igualmente furtados.

http://twixar.com/YiKSfm6S2vI3q
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


Cerca de 150 mil contas do Gmail foram
afetadas por um defeito durante o final de
semana. Menos de 0,08% dos usurios do
servio de e-mail tiveram seus contedos,
como mensagens, anexos e arquivos de
conversas no Gtalk perdidos.

http://twixar.com/g1LjpEuX42RRA
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


A Apple reconheceu ontem que o iOS 5, a
ltima verso de seu sistema operacional para
aparelhos mveis, tem alguns erros que
reduzem a vida til da bateria dos
dispositivos. A empresa afirmou tambm que
vai lanar uma atualizao de software para
corrigir o problema em poucas semanas.

http://twixar.com/3neu6QnclCKv
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


A Honda far um recall de grandes
propores ao redor do mundo: nada menos
que 200 mil veculos sero convocados. O
motivo um possvel defeito no sistema de
arrefecimento, causado por parafusos do
motor, que pode provocar vazamento do
fluido e conseqente superaquecimento.

http://twixar.com/5hkt0sio5JdnF
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


Carregado de compras do supermercado, o
tcnico em qumica Gustavo Funada teve
certeza de que aquele monte de sacolas no
caberia no porta-malas de seu Fox 2004. O
jeito, pensou, era rebater os bancos traseiros.
Foi o que fez. S no imaginava que isso
custaria a ponta do dedo mdio. "No achei a
ala e puxei a trava do encosto, ela prendeu
meu dedo e o banco despencou, decepando o
dedo da mo direita. Tudo numa frao de
segundos", diz Gustavo.

http://twixar.com/PdCgtXVwlI
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


O software do Airbus no gerenciou
corretamente a situao anmala de ter um
manete no "IDLE" e outro no "CLIMB",
considerando-se a velocidade e a altitude.
Interpretando erroneamente que o piloto pedia
mais potncia, aplicou acelerao total
sorrateiramente, e mesmo com o reverso
acionado permaneceu em acelerao.
Estavam no aparelho 187 pessoas; no houve
sobreviventes. Houve ainda outras 12 mortes
no solo.

http://twixar.com/iNn2lR8kq
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


20 Desastres Famosos de Software
http://www.devtopics.com/20-famous-software-disasters/
http://www.devtopics.com/20-famous-software-disasters-part-2/
http://www.devtopics.com/20-famous-software-disasters-part-3/
http://www.devtopics.com/20-famous-software-disasters-part-4/

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que testar?


Quando um cdigo defeituoso executado, falhas ocorrem. Um sistema
com falhas gera insatisfao, ferimentos ou at mesmo a morte dos
clientes e usurios.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quanto custa o erro?

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Ento eu devo testar o software 100%?
possvel testar o software 100%?
Da tempo de testar o software 100%?

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Vamos testar 100% uma calculadora em java que apenas soma dois nmeros inteiros!

2 * 2 = 2

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Vamos testar 100% uma calculadora em java que apenas soma dois nmeros inteiros!

2 * 2 = 2


18.446.744.073.709.551.616 (Quintilho)

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Vamos testar 100% uma calculadora em java que apenas soma dois nmeros inteiros!

2 * 2 = 2


18.446.744.073.709.551.616 (Quintilho)
1 Teste por nanosegundo
(Bilionsimo = 0,000 000 001)

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Vamos testar 100% uma calculadora em java que apenas soma dois nmeros inteiros!

2 * 2 = 2


18.446.744.073.709.551.616 (Quintilho)
1 Teste por nanosegundo
(Bilionsimo = 0,000 000 001)

6 Sculos

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?

Testes so por Amostragem


(estatstica)
Testar demais to ineficiente
quanto testar pouco.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Encontre um equilbrio entre custo, prazo e qualidade

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quantos testes devo fazer?


Princpio de Pareto
A Lei de Pareto (tambm conhecido como princpio 80
80--20
20), afirma que para
muitos fenmenos, 80% das consequncias advm de 20% das causas.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que automao de testes?


Automao de teste o uso de software para controlar a execuo do teste de software,
a comparao dos resultados esperados com os resultados reais, a configurao das prcondies de teste e outras funes de controle e relatrio de teste.
Fonte: Wikipdia
http://totvs.vc/1OrP

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que automao de testes?


Automao de teste o uso de software para controlar a execuo do teste de software,
a comparao dos resultados esperados com os resultados reais, a configurao das prcondies de teste e outras funes de controle e relatrio de teste.
Fonte: Wikipdia
http://totvs.vc/1OrP

Automao de testes
testar um software com outro software!

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que automao de testes?


Automao de teste o uso de software para controlar a execuo do teste de software,
a comparao dos resultados esperados com os resultados reais, a configurao das prcondies de teste e outras funes de controle e relatrio de teste.
Fonte: Wikipdia
http://totvs.vc/1OrP

Automao de testes
testar um software com outro software!

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que automao de testes?


So robs (scripts) construdos para usar o sistema no lugar de pessoas, podem ser mais
rpidos na execuo dos testes e deteco dos erros e trabalham na escala 24 por 7.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que a automao me ajuda?


Fim de semana de um analista de qualidade!

Testes Manuais

Testes Automticos

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que a automao me ajuda?


Manual

Automtico

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Por que a automao me ajuda?


Manual

Manual

Super Testador
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Objetivos da Automao
Aumentar a consistncia e abrangncia;
Reduzir o tempo ou esforo de teste;
Diminuir o custo;
Aumentar a produtividade do desenvolvimento de
software como um todo;
Aumentar a qualidade do produto final.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Quando Automatizar?
Aplicao estvel;
Constantes execues de teste;
Aplicao sem expectativa de grandes alteraes em
seus fluxos e objetos;
Caso de Testes com grande variao de massa.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que Automatizar?
Testes de regresso;
Smoke tests;
Tarefas repetitivas;
Clculos matemticos;
Funcionalidades crticas.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

O que no Automatizar?
Funcionalidades pouco usadas;
Funcionalidades que exigem inspeo visual;
Prottipos;
Funcionalidades novas.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas
Testes Funcionais

Testes Unitarios

Selenium

Functional Tester

JUnit

soapUI

Robot

TestNG

BadBoy

Quick Test Pro

NUnit

Testes de Performance
JMeter

Testes de Segurana

Performance Tester

AppScan

Load Runner

Acunetix

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

Metrics

http://metrics.sourceforge.net/
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

JUnit

http://www.junit.org/
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

EclEmma

http://www.eclemma.org/
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

MuClipse

http://muclipse.sourceforge.net/
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

MuClipse

http://muclipse.sourceforge.net/
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas
Verificar se a ferramenta de teste apropriada para testar o software

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Lista de Ferramentas

Um tolo com uma ferramenta


ainda um tolo

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tcnicas de Automao
KDT (Keyword-driven testing)
DDT (Data-driven testing)
DSL (Domain Specific language)
Record & Playback
Negar validadores

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tcnicas de Automao
Keyword-driven testing

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tcnicas de Automao
Data-driven testing

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tcnicas de Automao
Domain Specific language

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tcnicas de Automao
Negar validadores

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Boas Prticas da Automao


1. Definir padronizao
1.
2.
3.
4.

2.

Diretrio comum entre o time


Nomenclatura dos scripts (lvs_cpp_01.java)
Excluso de componentes especficos

Executar e salvar sempre que alterar o script


1. Gravar
Executar
Salvar

2. Inserir validadores
Executar
Salvar

3. Parametrizar
Executar
Salvar

4. Correlacionar
Executar
Salvar

5. Modularizar
Executar
Salvar

6.

1. Backup dirio dos scripts


4.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Testes Funcionais Automatizados com Selenium

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Testes Unitrios Automatizados com JUnit

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Testes Funcionais Automatizados com com JMeter

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Testes de Desempenho Automatizados com com JMeter

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Teste de Segurana Automatizados com Acunetix

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Teste de Segurana Automatizados com Acunetix

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Tipos de Testes
Servidor de Integrao Contnua

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Desafios da Automao
Arquitetura do teste;
Ambiente de teste;
Custo da automao e manuteno dos testes;
Captao de profissionais qualificados;
Concorrncia ou execuo assncrona.

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Desafios da Automao
1. Bug na ferramenta de teste;
Armazenar resultados no JMeter
JVM do Functional Tester
2. 120% de consumo do disco (Swap);
3. Servidor com 8GB em OS de 32 Bits que s administra 4GB;
4. Servidor indisponvel para monitorao;
5. Lentido na rede onde ocorre os testes de carga;
6. Sobrecarga no System (Troca de contexto);
7. Diferena de idioma entre OS master e slave (60%);
8. Ferramenta de teste posicional;
9. Erros funcionais em testes de performance;
10.Consumo de memria por usurio virtual;
11.Testes unitrios em Web Service;
12.Fragilidade com testes de interface;
http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Desafios da Automao

Testar software
no fcil!

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Desafios da Automao

Mas paga bem!!

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Cargos e salrios
Quanto ganha o profissional de teste e qualidade de software?

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Dvidas?

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

Obrigado!

Eduardo Freitas de Souza


Duvidas: oraculo@intellecta.com.br
www.qualidadedesoftware.com.br

http://www.intellecta.com.br/cursos

eINTELLECTA
11 3257 3003

www.intellecta.com.br