O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Qualidade

Por que testar seu software?
Adriano Bertucci
Microsoft Visual Studio ALM MVP
adriano.bertucci@konia.com.br
Twi...
Quem sou eu?
• Sócio/Diretor Konia Tecnologia;
• Microsoft Visual Studio ALM MVP;
• Palestrante Microsoft;
• Adora jogar F...
Qualidade uma necessidade
Considerando que desenvolvimento de
software representa 25% dos gastos em
software, identificar ...
Qualidade uma necessidade
−

O sucesso de um projeto de software pode ser definido por um
triângulo:
Tempo (Prazo)
Orçamen...
Caminho para o sucesso...
Ideia

Solução
Como chegamos até aqui?
1
Em 1983, uma III Guerra Mundial, quase teve início, devido a um
bug no software de alerta Soviético. A falha fez com que...
2
Em 1990, um bug numa central telefônica da AT&T deixou milhões
de pessoas nos EUA sem comunicação de longa distância. O ...
3
No primeiro lançamento da série Ariane 5, em 4 de junho de
1996, menos de um minuto após o lançamento, o foguete
francês...
4
Alguns dos problemas e atrasos no lançamento do maior avião do
mundo, o Airbus A380, foram as incompatibilidades das dif...
5
Em 1998, um erro na navegação da nave espacial Mars Polar
Lander fez com que ela voasse muito baixo e se espatifasse
con...
6
Uma falha na atualização do software empregado no Ministério do
Trabalho e Pensões britânico, realizada pela empresa
EDS...
7
O efeito do famoso bug do milênio e os bilhões gastos para evitar
o temido desastre que felizmente não sucedeu.
8
Explosão de um laptop da Dell em uma feira de negócios no
Japão em 2006, diante da imprensa e da câmeras, registrando ao...
9
Um novo sistema de informática da poderosa Siemens para
controlar a emissão de passaportes implantado em 1999 sem
testes...
10
Em 2007, uma simples placa de rede defeituosa não permitiu que
parte dos 17.000 aviões do aeroporto de Los Angeles leva...
“Rigorosos testes em sistemas e documentações podem reduzir os
riscos de ocorrência de problemas no ambiente operacional, ...
Presente
− Testador reporta um erro após passar horas coletando
evidências de um problema.
− Desenvolvedor diz que não tem...
Futuro
• Aplicações em ambientes complexos e distribuídos
• Software + Serviços
• Tecnologia Multi-Touch, Tables, Smarphon...
Preço da qualidade?
Índices de sucesso em projetos
Taxa de falha aceitável?

− Baseado em tempo, orçamento e funcionalidades especificadas
ent...
Impacto no desenvolvimento
Desenvolvedores sentem-se desmotivados
• Bug ping/pong
• Falta de acesso a ambientes seguros
• ...
Bugs existem?
O que dizer sobre P.O.G?
• “A culpa é do Hardware!”
desenvolvedor de software sobre POG
• “A culpa é do Software!“
técnico...
POG é inadmissível!
• Por isso temos que estudar!
O que fazer?
• Padronizar
• Arquitetar
• Testar
• Ter atitude
• Capacitar
• Organizar
• Integrar
• Fazer manutenção
• Entr...
Solução? ALM!
• ALM (Application Lifecycle Management, Gerenciamento do Ciclo
de Vida de Aplicações):
• É a coordenação da...
Desenvolvedor

Designer

Profissional de Banco
de Dados

Arquiteto
Testador
Gerente de TI ou
de Projetos

Analistas de Neg...
Por que testar?

Teste de Software
Conceitos Básicos

Teste de Software
Testes - Conceitos
Testes - Conceitos
• Caso de Teste
• Procedimento de Teste
• Critério de Teste
Segmentação dos testes
Generalista
Testes manuais

Especialista
Algumas scripts

Scripts

Scripts para setup
do lab, massa...
Visual Studio 2012
Generalista
Testes manuais

Especialista
Algumas scripts

Scripts

Codificação

Grande experiência em
c...
Ciclo de Vida dos Testes
Cenário

Automação

Planejamento

Validação

Especificação

Execução
Analista de Qualidade
• Gestão/Planejamento de Testes
• Testes manuais
• Testes Unitários
• Testes Funcionais de UI
• WinF...
Testes Funcionais

www.actiongroup.com.br
Testes de Carga e Desempenho

Com usuários
virtuais ilimitados!
Execução e Automação
• Ferramenta independente
• Permite a execução de casos de
teste
• Coleta dados de sistema e logs de
...
Derrubando as barreiras
• Bugs ricos
• Passos reproduzidos
automaticamente
• Vídeos como evidência
• Informações de sistem...
Gestão Laboratórios Integrado
• Rapidamente restaura/derruba
um ambiente
• Bugs podem guardar imagem
do ambiente
• Integra...
Science to Business
Copyright – Direitos autorais
Copyright © 2011-2013 Konia Tecnologia. Este documento é inédito e a adv...
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
Próximos SlideShares
Carregando em…5
×

Qualidade - Porque testar seu software?

2.815 visualizações

Publicada em

Palestra ministrado na semana de tecnologia da ETEC Albert Einstein em 16 de outubro de 2013

  • Seja o primeiro a comentar

Qualidade - Porque testar seu software?

  1. 1. Qualidade Por que testar seu software? Adriano Bertucci Microsoft Visual Studio ALM MVP adriano.bertucci@konia.com.br Twitter: @adrianobertucci Charles Santana Consultor ALM e EPM Charles.santana@konia.com.br Twitter: @charlessantana0
  2. 2. Quem sou eu? • Sócio/Diretor Konia Tecnologia; • Microsoft Visual Studio ALM MVP; • Palestrante Microsoft; • Adora jogar FIFA no XBOX; • Torcedor do SC Corinthians Paulista!  adriano.bertucci@konia.com.br Twitter: @adrianobertucci
  3. 3. Qualidade uma necessidade Considerando que desenvolvimento de software representa 25% dos gastos em software, identificar a causa dos problemas e falhas nos projetos de desenvolvimento se torna uma necessidade.
  4. 4. Qualidade uma necessidade − O sucesso de um projeto de software pode ser definido por um triângulo: Tempo (Prazo) Orçamento (Custo) Funcionalidades − Funcionalidade Qualidade Nos acostumamos em aceitar 2 dos 3 Consideramos isso sucesso? − Atualmente o triângulo se transformou em um quadrado; Qualidade é a quarta dimensão Prazo Orçamento
  5. 5. Caminho para o sucesso... Ideia Solução
  6. 6. Como chegamos até aqui?
  7. 7. 1 Em 1983, uma III Guerra Mundial, quase teve início, devido a um bug no software de alerta Soviético. A falha fez com que o software mostrasse que os E.U.A. tinha lançado cinco mísseis. A nosso sorte, foi que o Tenente Coronel Stanislav Petrov, considerou que a informação estava errada e não ordenou o contra-ataque, evitando assim o inicio da III Grande Guerra.
  8. 8. 2 Em 1990, um bug numa central telefônica da AT&T deixou milhões de pessoas nos EUA sem comunicação de longa distância. O erro ocorreu num break do código C, que não foi testado corretamente. “IF YOU CANNOT TEST IT, DO NOT DO IT.”
  9. 9. 3 No primeiro lançamento da série Ariane 5, em 4 de junho de 1996, menos de um minuto após o lançamento, o foguete francês Ariane 501 se autodestruiu. A falha ocorreu devido a uma anomalia interna de software, que ocorreu durante a execução de uma conversão de dados de um número de 64 bits em ponto flutuante para um inteiro de 16 bits com sinal. O valor do número em ponto flutuante era maior do que poderia ser representado pelo inteiro de 16 bits com sinal. O resultado foi um operando inválido, que acabou gerando a falha.
  10. 10. 4 Alguns dos problemas e atrasos no lançamento do maior avião do mundo, o Airbus A380, foram as incompatibilidades das diferentes versões usadas do software de projeto e desenho mecânicos CATIA. Enquanto os sócios franceses utilizavam a última versão, a fábrica alemã não tinha ainda atualizado a mesma.
  11. 11. 5 Em 1998, um erro na navegação da nave espacial Mars Polar Lander fez com que ela voasse muito baixo e se espatifasse contra o solo. A falha foi devido a uma empresa terceirizada que confundiu o sistema de medidas americano e europeu.
  12. 12. 6 Uma falha na atualização do software empregado no Ministério do Trabalho e Pensões britânico, realizada pela empresa EDS, custou aos contribuintes mais de 1 bilhão de libras em 2004.
  13. 13. 7 O efeito do famoso bug do milênio e os bilhões gastos para evitar o temido desastre que felizmente não sucedeu.
  14. 14. 8 Explosão de um laptop da Dell em uma feira de negócios no Japão em 2006, diante da imprensa e da câmeras, registrando ao vivo, os relatos de consumidores da marca sobre acidentes do mesmo tipo ocorridos anteriormente.
  15. 15. 9 Um novo sistema de informática da poderosa Siemens para controlar a emissão de passaportes implantado em 1999 sem testes suficientes e sem pessoal qualificado para seu manejo, amargurou as férias de meio milhão de britânicos.
  16. 16. 10 Em 2007, uma simples placa de rede defeituosa não permitiu que parte dos 17.000 aviões do aeroporto de Los Angeles levantasse vôo.
  17. 17. “Rigorosos testes em sistemas e documentações podem reduzir os riscos de ocorrência de problemas no ambiente operacional, e contribui para a qualidade dos sistemas de software se os defeitos encontrados forem corrigidos antes de implantados em produção.” (Syllabus BSTQB, 2007) Os dez maiores desastres envolvendo TI, poderiam ter sido evitados com o teste de software.
  18. 18. Presente − Testador reporta um erro após passar horas coletando evidências de um problema. − Desenvolvedor diz que não tem informações suficientes. − Testador refaz os testes coletando mais evidências. − Desenvolvedor diz que não consegue reproduzir o erro em sua máquina.
  19. 19. Futuro • Aplicações em ambientes complexos e distribuídos • Software + Serviços • Tecnologia Multi-Touch, Tables, Smarphones, etc.
  20. 20. Preço da qualidade?
  21. 21. Índices de sucesso em projetos Taxa de falha aceitável? − Baseado em tempo, orçamento e funcionalidades especificadas entregues, 68% dos projetos nunca foram colocados em produção ou foram cancelados. Extreme Chaos, The Standish Group International, Inc. – 2009 Acima do Custo estimado: 45% Acima do Prazo esperado: 63% Funcionalidades entregues: 67%
  22. 22. Impacto no desenvolvimento Desenvolvedores sentem-se desmotivados • Bug ping/pong • Falta de acesso a ambientes seguros • Tempo para preparação do ambiente excessivo Testadores não são respeitados • Preparar testes e ambiente consomem 30%-50% do ciclo de testes • Maioria dos defeitos fechados como “não-reproduzíveis”” • Ferramentas não integradas ao ciclo de desenvolvimento Impacto no negócio • Falta de agilidade para responder ameaças ou oportunidades • Alta taxa de falha em projetos • Quem sente “dor” é o usuário final
  23. 23. Bugs existem?
  24. 24. O que dizer sobre P.O.G? • “A culpa é do Hardware!” desenvolvedor de software sobre POG • “A culpa é do Software!“ técnico de manutenção de hardware sobre POG • “A culpa é da rede!” vendedor de PC
  25. 25. POG é inadmissível! • Por isso temos que estudar!
  26. 26. O que fazer? • Padronizar • Arquitetar • Testar • Ter atitude • Capacitar • Organizar • Integrar • Fazer manutenção • Entregar rapidamente
  27. 27. Solução? ALM! • ALM (Application Lifecycle Management, Gerenciamento do Ciclo de Vida de Aplicações): • É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo requisitos, modelagem, desenvolvimento, construção, testes, manutenção e operações
  28. 28. Desenvolvedor Designer Profissional de Banco de Dados Arquiteto Testador Gerente de TI ou de Projetos Analistas de Negócios Relatório em Tempo Real     Defeitos – Bug Tracking Controle de Tarefas Requisitos de Negócios Controle de Versão Avançado  Metodologia & Processo de Desenvolvimento  Automação de Compilação (build)  Testes Web  Teste de Carga  Testes Unitários  Análise de Código  Documentação de Projeto  Ferramentas de Arquitetura  Ferramentas para Banco de Dados
  29. 29. Por que testar? Teste de Software
  30. 30. Conceitos Básicos Teste de Software
  31. 31. Testes - Conceitos
  32. 32. Testes - Conceitos • Caso de Teste • Procedimento de Teste • Critério de Teste
  33. 33. Segmentação dos testes Generalista Testes manuais Especialista Algumas scripts Scripts Scripts para setup do lab, massa dados Alguma experiência em código 70% dos testes ocorrem aqui Codificação Testes Maioria das automatizado ferramentas de testes foca aqui Grande experiência em código Caixa Preta Caixa Branca Testes API
  34. 34. Visual Studio 2012 Generalista Testes manuais Especialista Algumas scripts Scripts Codificação Grande experiência em código Scripts para setup do lab, massa dados Alguma experiência em código Testes automatizado Load Test Web Test Coded UI Test Unit Testing Microsoft Test Runner Gerenciamento de casos de teste Gerenciamento de laboratórios Coletores de dados (IntelliTrace™, Impacto de testes, Metricas…) Team Foundation Server Relatórios
  35. 35. Ciclo de Vida dos Testes Cenário Automação Planejamento Validação Especificação Execução
  36. 36. Analista de Qualidade • Gestão/Planejamento de Testes • Testes manuais • Testes Unitários • Testes Funcionais de UI • WinForms, WPF, IE • Testes de Desempenho • Web sites • Carga / estresse
  37. 37. Testes Funcionais www.actiongroup.com.br
  38. 38. Testes de Carga e Desempenho Com usuários virtuais ilimitados!
  39. 39. Execução e Automação • Ferramenta independente • Permite a execução de casos de teste • Coleta dados de sistema e logs de eventos • Captura imagens de tela e vídeos • Automatiza testes de aplicativos Windows Forms, WPF e Web
  40. 40. Derrubando as barreiras • Bugs ricos • Passos reproduzidos automaticamente • Vídeos como evidência • Informações de sistema • IntelliTrace™ • Imagens do ambiente de testes completo
  41. 41. Gestão Laboratórios Integrado • Rapidamente restaura/derruba um ambiente • Bugs podem guardar imagem do ambiente • Integração com processo de build
  42. 42. Science to Business Copyright – Direitos autorais Copyright © 2011-2013 Konia Tecnologia. Este documento é inédito e a advertência precedente é fixada para proteger Konia Tecnologia. no caso de publicação não autorizada. Todos os direitos reservados. Nenhuma parte deste documento pode ser reproduzida em qualquer forma, inclusive fotocópia ou transmissão eletrônica para qualquer computador, sem autorização prévia por escrito de Konia Tecnologia. As informações contidas neste documento são confidenciais e propriedade da Konia Tecnologia. e não podem ser usadas ou reveladas exceto quando expressamente autorizado por escrito por Konia Tecnologia.

×