teste de software introdução prof. vanilson burégio prof. vanilson burégio [email protected]
TRANSCRIPT
![Page 2: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/2.jpg)
Introdução Objetivos Definição
Motivação Por que investir em testes?
Visão de negócio Visão técnica
Quando parar de testar? Custo/benefício
AgendaAgenda
![Page 3: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/3.jpg)
Introdução
![Page 4: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/4.jpg)
IntroduçãoIntrodução
“O desenvolvimento de sistemas de software envolve uma série de atividades de produção
onde oportunidades para injeção de falhas humanas são enormes” [Pressman, 2007]
Evolução da profissão de Engenharia de Software Software desempenha um importante papel em
nossas vidas (social e econômica) Sistemas cada vez mais complexos
Aumenta a pressão para foco em questões de qualidade SW de baixa qualidade devem ser rejeitadosFalhas podem causar catástrofes (dependendo do SW)
![Page 5: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/5.jpg)
Objetivo dos testesObjetivo dos testes
O principal objetivo de testar um software é encontrar, de forma sistemática, o maior número
possível de defeitos embutidos durante a construção do software
O que pode ser considerado um defeito?
Visão de teste como um processo
![Page 6: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/6.jpg)
ExemploExemplo
Calculadora do Windows 5.000 – 5 = 0 O resultado não deveria ser
4095? Pode parecer confuso para
alguns usuários...
O “.” (ponto) torna-se uma “,” (vírgula) que é automaticamente assumida como ponto decimal
Para determinar se é um defeito é preciso verificar
a especificação de requisitos do software
É um defeito? Por que? Por que não?
![Page 7: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/7.jpg)
O que é teste de software?O que é teste de software?
Teste de software é o processo de validação e verificação de um
produto para determinar se ele atingiu suas especificações e funcionou corretamente no
ambiente para o qual foi projetado.
Corretude
Completu
de
É possível termos produto errado funcionando corretamente
Ou ainda produto correto funcionando inadequadamente
![Page 8: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/8.jpg)
Então...Então...
Se eu testei um software e não encontrei erros significa que meu software está correto, ou seja, livre erros!
Verdadeiro ou Falso?
![Page 9: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/9.jpg)
Motivação
Por que investir em testes?
![Page 10: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/10.jpg)
Visão de negócio: Custo
Por que investir em testes?Por que investir em testes?
![Page 11: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/11.jpg)
Por que investir em testes?Por que investir em testes?
Razão: O custo de um Software com falha é muito alto!
Mercado começa a ver teste de software como investimento e não mais como custo
Crescente demanda por analistas de teste de software
A Microsoft tem mais de 8.000 testadores de software em centros tecnológicos espalhados pelo mundo
Muitas empresas gastam de 30% a 40% do esforço do projeto em atividades de teste de softwareMuitas empresas gastam de 30% a 40% do esforço do projeto em atividades de teste de software
![Page 12: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/12.jpg)
Casos reaisCasos reais
Hotel em Orlando Sistema 1 hora no ar com
preço de diária a U$ 1,99 ao invés de U$ 19,90
Great Deal?
![Page 13: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/13.jpg)
Casos reaisCasos reais
Prius Sedan – 2005
Carro híbrido construído pela Toyota;
Erro no software do sistema de controle eletrônico
Poderia fazer o carro entrar em modo de segurança;
Neste modo, o carro poderia paralisar o sistema de controle de combustível;
75.000 proprietários notificados;
Estima-se um prejuízo de U$ 2 bi a U$ 3 bi para correção do problema
Fonte: http://www.spinsp.org.br/
![Page 14: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/14.jpg)
Casos reaisCasos reais
First National Bank of Chicago – Maio de 1996
Atualização do software dos caixas eletrônicos
Nova codificação das mensagens não foi testada em todos os protocolos utilizados nos caixas
Resultado: Crédito de
aproximadamente U$ 925mi na conta de cada um dos 823 clientes;
Aproximadamente U$ 800bi representou o maior erro bancário da história dos EUA
Fonte: http://www.spinsp.org.br/
![Page 15: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/15.jpg)
Regra 10 de MyersRegra 10 de Myers
1979: Glenford Myers ‘The Art of Software Testing’
Custo em correção de bugs
cresce 10 vezes para cada estágio em que o projeto do software avança
Quanto mais cedo menor o custo...
![Page 16: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/16.jpg)
Outras afirmações de Myers...Outras afirmações de Myers...
Os testes unitários podem remover entre 30% e 50% dos defeitos dos programas
Os testes de sistemas podem remover entre 30% e 50% dos defeitos remanescentes
Dessa forma os sistemas podem ir para produção ainda com ~ 49% de defeitos
Revisões de código podem reduzir entre 20% a 30% desses defeitos
Defeitos encontrados no início do projeto custam menos para serem corrigidos
![Page 17: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/17.jpg)
Retorno de Investimento...Retorno de Investimento...
Quanto devo investir em teste
de software?Quanto eu
economizo ao investir em teste de
software?
![Page 18: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/18.jpg)
Retorno de Investimento...Retorno de Investimento...
Rex Black
O retorno do investimento será maior à medida que formos investindo em teste
![Page 19: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/19.jpg)
Visão técnica: ajudar a garantir qualidade
dos produtos gerados
Por que investir em testes?Por que investir em testes?
![Page 20: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/20.jpg)
Dimensões mínimas de qualidade para o teste de software
Dimensões mínimas de qualidade para o teste de software
Funcionalidade•O sistema se comporta conforme
esperado e definido nos seus requisitos
Performance•O sistema tem um tempo de
resposta adequado e aceitável mesmo quando submetido a um volume alto de processamento
Confiança•O sistema é resistente a falhas
durante a execução, isto é, não entra em “loop”, não interrompe a execução por falta de recursos, etc.
Fonte: The Rational Unified Process, An Introduction
![Page 21: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/21.jpg)
Então, no mínimo...Então, no mínimo...
Funcionalidade•O sistema se comporta conforme esperado e definido nos seus requisitos
Performance•O sistema tem um tempo de resposta adequado e aceitável mesmo quando submetido a um volume alto de processamento
Confiança•O sistema é resistente a falhas durante a execução, isto é, não entra em “loop”, não interrompe a execução por falta de recursos, etc.
Fonte: The Rational Unified Process, An Introduction
Sistemas bem
testados
Devem atender
Discussão
Essas dimensões de qualidade são suficientes?
Elas representam o mínimo necessário?
![Page 22: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/22.jpg)
Categorias da qualidade no modelo FURPS+ (desenvolvido pela HP)
Categorias da qualidade no modelo FURPS+ (desenvolvido pela HP)
Functionality (Funcionalidade): representa todo aspecto funcional do software
Usability (Usabilidade): é o atributo que avalia a interface com o usuário [prevenção de erros; estética e design; ajudas (Help) e documentação; consistência e padrões]
Reliability (Confiabilidade): refere-se a integridade, conformidade e interoperabilidade do software.
Performance (Desempenho): avalia os requisitos de desempenho do software
Supportability (Suportabilidade):testabilidade, adaptabilidade, manutenibilidade, compatibilidade, configurabilidade, instalabilidade, escalabilidade, localizabilidade entre outros
FURPS+:O “+” do acrônimo engloba outros requisitos não-funcionais como requisitos de design, de implementação, físico, etc...
![Page 23: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/23.jpg)
ISO 9126ISO 9126
![Page 24: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/24.jpg)
Quando parar de testar?Devemos testar indefinidamente até não
encontrarmos nenhum erro?
![Page 25: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/25.jpg)
Qual o momento certo de interromper o teste?
Qual o momento certo de interromper o teste?
Devido a pressões de prazo os testes são interrompidos muito
antes do tempo necessário para a sua completa cobertura
Devido a uma falta de controle ou a um
excesso de preciosismo exagerou-
se nos testes
![Page 26: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/26.jpg)
Qual o momento certo de interromper o teste?
Qual o momento certo de interromper o teste?
Testes abaixo do necessário
Testes acima do necessário
![Page 27: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/27.jpg)
Custo do Teste Vs Custo da FalhaCusto do Teste Vs Custo da Falha
![Page 28: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/28.jpg)
Custo dos defeitosCusto dos defeitos
Quality Assurance Institute
36% dos erros econtrados são provenientes da codificação
64% são erros de
análise e projeto
Maior parte dos erros estão nas fases onde corrigí-los custa muito menos
![Page 29: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/29.jpg)
Por que os testes mudaram?Por que os testes mudaram?
Demonstração
Detecção
Prevenção
Década de 60
Década de 70
Década de 90Demonstração
- Liberar sistema mesmo correndo riscos- Garantir que o produto funciona- Testes feitos pelos desenvolvedores
Detecção- Descobrir defeitos, erros e
deficiências do software- Definir capacidades e limitações- Fornecer informações sobre a
qualidade dos componentes,Sistemas e outros produtos
Prevenção- Trabalho nas especificações do software- Gerar informações que previnem ou reduzem
os defeitos- Detectar defeitos nas fases iniciais- Identificar riscos e problemas de forma a
evitá-los no futuro- Metodologias, processos, etc.
CONCEITOS HISTÓRICOS
![Page 30: Teste de Software Introdução Prof. Vanilson Burégio Prof. Vanilson Burégio vanilson@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc130497959413d8d4f2b/html5/thumbnails/30.jpg)
PerguntasPerguntas