testes de software - introduÇÃo

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

Upload: rafaferrocha

Post on 23-Dec-2015

23 views

Category:

Documents


5 download

DESCRIPTION

TESTES

TRANSCRIPT

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

Eduardo Souza

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

Por que testar?

eINTELLECTA

11 3257 3003

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

“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

“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

“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

“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

“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

“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

“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

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

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

Quanto custa o erro?

eINTELLECTA

11 3257 3003

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

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%?

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

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

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

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

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

Encontre um equilíbrio entre custo, prazo e qualidade

Quantos testes devo fazer?

eINTELLECTA

11 3257 3003

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

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

“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

“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!

“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!

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.

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

Por que a automação me ajuda?

eINTELLECTA

11 3257 3003

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

Manual Automático

Por que a automação me ajuda?

eINTELLECTA

11 3257 3003

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

Super Testador

Manual Manual

• 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

• 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

• 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

• 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

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

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

Metrics

http://metrics.sourceforge.net/

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

JUnit

http://www.junit.org/

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

EclEmma

http://www.eclemma.org/

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

MuClipse

http://muclipse.sourceforge.net/

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

MuClipse

http://muclipse.sourceforge.net/

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

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

Lista de Ferramentas

eINTELLECTA

11 3257 3003

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

“Um tolo com uma ferramenta ainda é um tolo”

• 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

Keyword-driven testing

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Data-driven testing

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Domain Specific language

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

Negar validadores

Técnicas de Automação

eINTELLECTA

11 3257 3003

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

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

Testes Funcionais – Automatizados com Selenium

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Testes Unitários – Automatizados com JUnit

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Testes Funcionais – Automatizados com com JMeter

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Testes de Desempenho – Automatizados com com JMeter

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Teste de Segurança – Automatizados com Acunetix

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Teste de Segurança – Automatizados com Acunetix

Tipos de Testes

eINTELLECTA

11 3257 3003

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

Servidor de Integração Contínua

Tipos de Testes

eINTELLECTA

11 3257 3003

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

• 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

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

Testar software não é fácil!

Desafios da Automação

eINTELLECTA

11 3257 3003

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

Mas paga bem!!

Desafios da Automação

eINTELLECTA

11 3257 3003

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

eINTELLECTA

11 3257 3003

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

Cargos e salários

Quanto ganha o profissional de teste e qualidade de software?

eINTELLECTA

11 3257 3003

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

Dúvidas?

Eduardo Freitas de Souza

Duvidas: [email protected]

www.qualidadedesoftware.com.br

Obrigado!

eINTELLECTA

11 3257 3003

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

eINTELLECTA

11 3257 3003

www.intellecta.com.br