Download - TESTES DE SOFTWARE - INTRODUÇÃO
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
“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
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
eINTELLECTA
11 3257 3003
http://www.intellecta.com.br/cursos
Cargos e salários
Quanto ganha o profissional de teste e qualidade de software?
Eduardo Freitas de Souza
Duvidas: [email protected]
www.qualidadedesoftware.com.br
Obrigado!
eINTELLECTA
11 3257 3003
http://www.intellecta.com.br/cursos