61
Introdução a Automação de Testes de Software Eduardo Souza

Automacao de Testes de Softwares

Embed Size (px)

Citation preview

Page 1: Automacao de Testes de Softwares

Introdução a Automação de Testes de Software

Eduardo Souza

Page 2: Automacao de Testes de Softwares

Conteúdo

eINTELLECTA

11 3257 3003

- Por que testar?

- Quanto custa o erro?

- Quantos testes devo fazer?

- O que é automação de testes?

- Por que a automação me ajuda?

- Objetivos da Automação

- Quando Automatizar?

- O que Automatizar?

- O que não Automatizar?

- Lista de Ferramentas

- Técnicas de Automação

- Boas Práticas da Automação

- Tipos de Testes

- Desafios da Automação

- Cargos e salários

Page 3: Automacao de Testes de Softwares

Por que testar?

eINTELLECTA

11 3257 3003

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

Page 4: Automacao de Testes de Softwares

“O Orbitador Climático de Marte foi destruído devido a um erro de navegação. A nave espacial deveria efetuar sua inserção na órbita de Marte a uma altitude de 140 a 150 km da superfície. Porém devido a um equívoco, a nave espacial entrou a uma altitude de 57 km e foi destruída pela sua fricção com a atmosfera de Marte. O erro deveu-se a equipe da terra que fez o uso de medidas inglesas para calcular os parâmetros de inserção e enviou os dados a nave e esta apenas realizavam cálculos no sistema métrico.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/NtBuMevlecqu

Page 5: Automacao de Testes de Softwares

“A empresa Sony prometeu hoje compensar os 78 milhões de utilizadores afetados pelo roubo de dados privados do serviço Playstation Network.

Onze dias depois da falha de segurança, a empresa japonesa voltou a reconhecer que os dados bancários dos utilizadores poderiam ter sido igualmente furtados.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/YiKSfm6S2vI3q

Page 6: Automacao de Testes de Softwares

“Cerca de 150 mil contas do Gmail foram afetadas por um defeito durante o final de semana. Menos de 0,08% dos usuários do serviço de e-mail tiveram seus conteúdos, como mensagens, anexos e arquivos de conversas no Gtalk perdidos.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/g1LjpEuX42RRA

Page 7: Automacao de Testes de Softwares

“A Apple reconheceu ontem que o iOS 5, a última versão de seu sistema operacional para aparelhos móveis, tem alguns erros que reduzem a vida útil da bateria dos dispositivos. A empresa afirmou também que vai lançar uma atualização de software para corrigir o problema em poucas semanas.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/3neu6QnclCKv

Page 8: Automacao de Testes de Softwares

“A Honda fará um recall de grandes proporções ao redor do mundo: nada menos que 200 mil veículos serão convocados. O motivo é um possível defeito no sistema de arrefecimento, causado por parafusos do motor, que pode provocar vazamento do fluido e conseqüente superaquecimento.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/5hkt0sio5JdnF

Page 9: Automacao de Testes de Softwares

“Carregado de compras do supermercado, o técnico em química Gustavo Funada teve certeza de que aquele monte de sacolas não caberia no porta-malas de seu Fox 2004. O jeito, pensou, era rebater os bancos traseiros. Foi o que fez. Só não imaginava que isso custaria a ponta do dedo médio. "Não achei a alça e puxei a trava do encosto, ela prendeu meu dedo e o banco despencou, decepando o dedo da mão direita. Tudo numa fração de segundos", diz Gustavo.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/PdCgtXVwlI

Page 10: Automacao de Testes de Softwares

“O software do Airbus não gerenciou corretamente a situação anômala de ter um manete no "IDLE" e outro no "CLIMB", considerando-se a velocidade e a altitude. Interpretando erroneamente que o piloto pedia mais potência, aplicou aceleração total sorrateiramente, e mesmo com o reverso acionado permaneceu em aceleração.”

“Estavam no aparelho 187 pessoas; não houve sobreviventes. Houve ainda outras 12 mortes no solo.”

Por que testar?

eINTELLECTA

11 3257 3003

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

http://twixar.com/iNn2lR8kq

Page 11: Automacao de Testes de Softwares

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/

Por que testar?

eINTELLECTA

11 3257 3003

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

Page 12: Automacao de Testes de Softwares

Quando um código defeituoso é executado, falhas ocorrem. Um sistema com falhas gera insatisfação, ferimentos ou até mesmo a morte dos clientes e usuários.

Por que testar?

eINTELLECTA

11 3257 3003

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

Page 13: Automacao de Testes de Softwares

Quanto custa o erro?

eINTELLECTA

11 3257 3003

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

Page 14: Automacao de Testes de Softwares

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Então eu devo testar o software 100%?

É possível testar o software 100%?

Da tempo de testar o software 100%?

Page 15: Automacao de Testes de Softwares

Vamos testar 100% uma calculadora em java que apenas soma dois números inteiros!

2�� * 2�� = 2��

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 16: Automacao de Testes de Softwares

Vamos testar 100% uma calculadora em java que apenas soma dois números inteiros!

2�� * 2�� = 2��

18.446.744.073.709.551.616 (Quintilhão)

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 17: Automacao de Testes de Softwares

Vamos testar 100% uma calculadora em java que apenas soma dois números inteiros!

2�� * 2�� = 2��

18.446.744.073.709.551.616 (Quintilhão)

1 Teste por nanosegundo(Bilionésimo = 0,000 000 001)

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 18: Automacao de Testes de Softwares

Vamos testar 100% uma calculadora em java que apenas soma dois números inteiros!

2�� * 2�� = 2��

18.446.744.073.709.551.616 (Quintilhão)

1 Teste por nanosegundo(Bilionésimo = 0,000 000 001)

6 Séculos

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 19: Automacao de Testes de Softwares

Testes são por Amostragem(estatística)

Testar demais é tão ineficiente quanto testar pouco.

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 20: Automacao de Testes de Softwares

Encontre um equilíbrio entre custo, prazo e qualidade

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 21: Automacao de Testes de Softwares

Princípio de Pareto

A Lei de Pareto Lei de Pareto Lei de Pareto Lei de Pareto (também conhecido como princípio 80princípio 80princípio 80princípio 80----20202020), afirma que para muitos fenómenos, 80% das consequências advém de 20% das causas.

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

Page 22: Automacao de Testes de Softwares

“Automação de teste é o uso de software para controlar a execução do teste de software, a comparação dos resultados esperados com os resultados reais, a configuração das pré-condições de teste e outras funções de controle e relatório de teste.”

Fonte: Wikipédia http://totvs.vc/1OrP

O que é automação de testes?

eINTELLECTA

11 3257 3003

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

Page 23: Automacao de Testes de Softwares

“Automação de teste é o uso de software para controlar a execução do teste de software, a comparação dos resultados esperados com os resultados reais, a configuração das pré-condições de teste e outras funções de controle e relatório de teste.”

Fonte: Wikipédiahttp://totvs.vc/1OrP

O que é automação de testes?

eINTELLECTA

11 3257 3003

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

Automação de testes é testar um software com outro software!

Page 24: Automacao de Testes de Softwares

“Automação de teste é o uso de software para controlar a execução do teste de software, a comparação dos resultados esperados com os resultados reais, a configuração das pré-condições de teste e outras funções de controle e relatório de teste.”

Fonte: Wikipédiahttp://totvs.vc/1OrP

O que é automação de testes?

eINTELLECTA

11 3257 3003

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

Automação de testes é testar um software com outro software!

Page 25: Automacao de Testes de Softwares

O que é automação de testes?

eINTELLECTA

11 3257 3003

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

São robôs (scripts) construídos para usar o sistema no lugar de pessoas, podem ser mais rápidos na execução dos testes e detecção dos erros e trabalham na escala 24 por 7.

Page 26: Automacao de Testes de Softwares

Por que a automação me ajuda?

eINTELLECTA

11 3257 3003

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

Fim de semana de um analista de qualidade!

Testes Manuais Testes Automáticos

Page 27: Automacao de Testes de Softwares

Por que a automação me ajuda?

eINTELLECTA

11 3257 3003

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

Manual Automático

Page 28: Automacao de Testes de Softwares

Por que a automação me ajuda?

eINTELLECTA

11 3257 3003

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

Super Testador

Manual Manual

Page 29: Automacao de Testes de Softwares

• Aumentar a consistência e abrangência;

• Reduzir o tempo ou esforço de teste;

• Diminuir o custo;

• Aumentar a produtividade do desenvolvimento de software como um todo;

• Aumentar a qualidade do produto final.

Objetivos da Automação

eINTELLECTA

11 3257 3003

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

Page 30: Automacao de Testes de Softwares

• Aplicação estável;

• Constantes execuções de teste;

• Aplicação sem expectativa de grandes alterações em seus fluxos e “objetos”;

• Caso de Testes com grande variação de massa.

Quando Automatizar?

eINTELLECTA

11 3257 3003

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

Page 31: Automacao de Testes de Softwares

• Testes de regressão;

• Smoke tests;

• Tarefas repetitivas;

• Cálculos matemáticos;

• Funcionalidades críticas.

O que Automatizar?

eINTELLECTA

11 3257 3003

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

Page 32: Automacao de Testes de Softwares

• Funcionalidades pouco usadas;

• Funcionalidades que exigem inspeção visual;

• Protótipos;

• Funcionalidades novas.

O que não Automatizar?

eINTELLECTA

11 3257 3003

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

Page 33: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

Testes Funcionais

Selenium Functional Tester

soapUI Robot

BadBoy Quick Test Pro

Testes de Performance

JMeter Performance Tester

Load Runner

Testes Unitarios

JUnit

TestNG

NUnit

Testes de Segurança

AppScan

Acunetix

Page 34: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

Metrics

http://metrics.sourceforge.net/

Page 35: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

JUnit

http://www.junit.org/

Page 36: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

EclEmma

http://www.eclemma.org/

Page 37: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

MuClipse

http://muclipse.sourceforge.net/

Page 38: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

MuClipse

http://muclipse.sourceforge.net/

Page 39: Automacao de Testes de Softwares

Verificar se a ferramenta de teste é apropriada para testar o software

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

Page 40: Automacao de Testes de Softwares

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

“Um tolo com uma ferramenta ainda é um tolo”

Page 41: Automacao de Testes de Softwares

• KDT (Keyword-driven testing)

• DDT (Data-driven testing)

• DSL (Domain Specific language)

• Record & Playback

• Negar validadores

• …

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Page 42: Automacao de Testes de Softwares

Keyword-driven testing

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Page 43: Automacao de Testes de Softwares

Data-driven testing

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Page 44: Automacao de Testes de Softwares

Domain Specific language

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Page 45: Automacao de Testes de Softwares

Negar validadores

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Page 46: Automacao de Testes de Softwares

1. Definir padronização1. Diretório comum entre o time2. Nomenclatura dos scripts (lvs_cpp_01.java)3. Exclusão de componentes específicos4. …

2. Executar e salvar sempre que alterar o script1. Gravar

ExecutarSalvar

2. Inserir validadoresExecutarSalvar

3. ParametrizarExecutarSalvar

4. CorrelacionarExecutarSalvar

5. ModularizarExecutarSalvar

6. …

1. Backup diário dos scripts

4. …

Boas Práticas da Automação

eINTELLECTA

11 3257 3003

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

Page 47: Automacao de Testes de Softwares

Testes Funcionais – Automatizados com Selenium

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 48: Automacao de Testes de Softwares

Testes Unitários – Automatizados com JUnit

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 49: Automacao de Testes de Softwares

Testes Funcionais – Automatizados com com JMeter

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 50: Automacao de Testes de Softwares

Testes de Desempenho – Automatizados com com JMeter

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 51: Automacao de Testes de Softwares

Teste de Segurança – Automatizados com Acunetix

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 52: Automacao de Testes de Softwares

Teste de Segurança – Automatizados com Acunetix

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 53: Automacao de Testes de Softwares

Servidor de Integração Contínua

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Page 54: Automacao de Testes de Softwares

• Arquitetura do teste;

• Ambiente de teste;

• Custo da automação e manutenção dos testes;

• Captação de profissionais qualificados;

• Concorrência ou execução assíncrona.

Desafios da Automação

eINTELLECTA

11 3257 3003

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

Page 55: Automacao de Testes de Softwares

1. Bug na ferramenta de teste;Armazenar resultados no JMeterJVM 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 indisponível para monitoração;5. Lentidão na rede onde ocorre os testes de carga;6. Sobrecarga no System (Troca de contexto);7. Diferença de idioma entre OS master e slave (60%);8. Ferramenta de teste posicional;9. Erros funcionais em testes de performance;10.Consumo de memória por usuário virtual;11.Testes unitários em Web Service;12.Fragilidade com testes de interface;

Desafios da Automação

eINTELLECTA

11 3257 3003

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

Page 56: Automacao de Testes de Softwares

Testar software não é fácil!

Desafios da Automação

eINTELLECTA

11 3257 3003

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

Page 57: Automacao de Testes de Softwares

Mas paga bem!!

Desafios da Automação

eINTELLECTA

11 3257 3003

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

Page 58: Automacao de Testes de Softwares

eINTELLECTA

11 3257 3003

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

Cargos e salários

Quanto ganha o profissional de teste e qualidade de software?

Page 59: Automacao de Testes de Softwares

eINTELLECTA

11 3257 3003

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

Dúvidas?

Page 60: Automacao de Testes de Softwares

Eduardo Freitas de Souza

Duvidas: [email protected]

www.qualidadedesoftware.com.br

Obrigado!

eINTELLECTA

11 3257 3003

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

Page 61: Automacao de Testes de Softwares

eINTELLECTA

11 3257 3003

www.intellecta.com.br