SlideShare uma empresa Scribd logo
“Qualidade de Software no século XXI”Bruno Elias PenteadoCoordenador de Qualidade de Software MStechMestre em Ciência da Computação – UNESPCertificações ISTQB CTFL e CTAL-TA, Micosoft Web Apps C#20/05/2011
Qualidade de Software no século XXIAgradecimentos
TópicosO que é qualidade? Fazer o que deveria fazer?Como identificar qualidade? Sob que ponto de vista? Usuários, devs, comprador?Quando a qualidade vale a pena. Exemplos: números mega-sena.Qualidade x prejuízosRiscosPiores bugs da história; bugs atuais (PSP e Maps quadrilha Bauru)Tipos de indústrias e os níveis exigidos de qualidade; Ética?Conceitos básicos sobre qualidadeControle de qualidade x testes: diminuição de riscoRequisitos funcionais x não-funcionaisMitos sobre qualidadeCusta caro; evolução dos custos; prevenção x detecçãoRequisitos de um testerFuturoGrandes Desafios da ComputaçãoTendências (TaaS, outsourcing, sistemas ubíquos, disponibilidade)Novas plataformas de desenvolvimento
Qualidade de Software no século XXITópicosO que é qualidade de software?Abrangência da qualidade de softwareMitos da qualidadePiores bugs da históriaO que nos espera
O que é Qualidade de Software?
O que é Qualidade de Software?QualidadeO que é um software com qualidade?Conformidade às exigências?De quem? Relativa
O que é Qualidade de Software?Atores na qualidade de softwareGerente projetoProgramadorTestadorUsuárioCliente
O que é Qualidade de Software?Ideias sobre qualidade de softwareDefeito zero é alta qualidadeGrande número de funções é alta qualidadeCodificação elegante é alta qualidadeAlto desempenho é alta qualidadeBaixo custo de desenvolvimento é alta qualidadeDesenvolvimento rápido é alta qualidadeFacilidade para o usuário é alta qualidade
O que é Qualidade de Software?O que é qualidade?Qualidade é valor para alguma pessoaVale o custo x benefício?Pagarão para ter seus requisitos atendidos?
O que é Qualidade de Software?Efeito “não tão ruim”Todos os softwares têm erro;Satisfação dos usuários;Preferência em relação ao concorrente;Software de qualidade?Vale a pena melhorar?
O que é Qualidade de Software?Qualidade?Caso:  Google MapsSIG com fotos de satélite de alta resoluçãoDetermina rotas de trânsito
O que é Qualidade de Software?Qualidade?Caso: Google MapsUsado também para o malJornal da Cidade: Bauru, 3/5/2011
Qualidade?
O que é Qualidade de Software?QualidadeNão significa ausência de erros!Muitos erros pode significar menor valorNão garante valor ao softwareExemplos?
O que é Qualidade de Software?QualidadeConformidade com requisitos não é suficiente!Requisito é o meio: fornecer valor para quem?Requisitos identificam as pessoas importantes?Requisitos capturam seus valores?
O que é Qualidade de Software?“Qualidade é valor para alguma pessoa disposta a pagar por seus benefícios”
Abrangência da Qualidade de Software
Abrangência da Qualidade de SoftwareQualidadeRiscoFator que pode resultar em conseqüências negativas futuras;Projeto: relacionado ao gerenciamento e ao controle do projeto;Produto: relacionado ao produto em fabricação
Abrangência da Qualidade de SoftwareProcesso  de Qualidade de SoftwarePrevenção: garantia por meio de processos;TreinamentoGrupo de SQAUso de lições aprendidasMelhoria de processoDetecção: controle por meio de testes;Compilação/análise de códigoRevisão por paresTeste AuditoriasDiminuição de riscos ao longo da produção
Abrangência da Qualidade de SoftwareTestesAté quando testar?Custo x benefícioVariação conforme indústria
Abrangência da Qualidade de SoftwareNíveis dos testesUnidade, Integração, Sistema, Aceitação
Abrangência da Qualidade de SoftwareTestesAbordagem para os testesMostrar que o sistema:Faz o que não deve fazer;Não faz o que deve fazer;
Abrangência da Qualidade de SoftwareTestesCasos de testeUma funcionalidade pode acarretar em centenas de casos de teste
Abrangência da Qualidade de SoftwareTestesExemplo de caso de teste
Abrangência da Qualidade de SoftwareProcesso - padrõesGeraisISO 9126 – Qualidade de produto de softwareISO 12207 – Qualidade do processo de softwareIEEE 829 – Documentação de testesIEEE 1028 – Revisão de softwareIEEE 1044 – Classificação de incidentesBS 7925 – Técnicas de teste(...)Específicos por indústriaDO-178B – software aviônicoFDA 21 – software médico(...)
Abrangência da Qualidade de SoftwarePadrão ISO 9126Requisitos funcionais e não-funcionais
Abrangência da Qualidade de SoftwarePadrão IEEE 829Documentação do processo de testes
Abrangência da Qualidade de SoftwareProcessoExemplos de modelos de melhoria de processoProdução de softwareCMMi – CapabilityMaturityModelintegationMPS.Br – Melhoria do Processo de Software BrasileiroTeste de softwareTMMi – TestMaturityModelintegrationTPI – TestProcessImprovement
Mitos
MitosMitosO testador é inimigo do desenvolvedor
MitosMitosTesters podem ser desenvolvedores menos qualificadosGoogle: Software Engineer in TestMicrosoft: Software DevelopmentEngineer in Test
MitosMitosQualidade custa caroDefinição econômica de qualidade:“É sempre mais barato fazer certo na primeira vez!”
MitosMitosQualidade leva muito tempoNunca se tem tempo para fazer da forma corretaSempre existe tempo para refazerA cada R$ 1,00 em desenvolvimento, de R$ 2,00 a R$ 3,00 são gastos com retrabalho
Bugs históricos
Bugs históricosO que é um bug?Primeiro bug: computador Mark II, na Universidade de Harvard (1945)
Bugs históricosMariner I – 1962Missão observar para o planeta VênusFórmula matemática foi equivocadamente transcrita para o computadorDesviou de seu curso e foi destruída 4 minutos após lançamentoPrejuízo: US$ 18,5 mi
Bugs históricosGasoduto soviético – 1982Supostamente, a CIA infiltrou um ‘cavalo de Tróia’ no sistema que controlava o gasoduto TransiberianoMaior explosão não-nuclear da históriaDetectado por satélites americanos
Bugs históricosTherac-25 – 1985/1987Dispositivo de terapia por radiação sobre células cancerosas falha e libera doses letais de radiação em vários consultórios médicosCondição de disputa no SO5 mortes, várias pessoas feridas
Bugs históricosPrimeiro vírus da Internet – 1987Estudante americano criou programa que afetou em um dia até 6.000 computadores;SO: UnixBuffer overflow: função getc() da linguagem C, no sistema UNIX, fazia leitura pela redePermitia acesso não autorizado
Bugs históricosQueda da rede AT&T - 1990Falha no software dos switches de longa distância ao receber certa mensagem de uma máquina vizinha114 switches reiniciando a cada 6 segundos60 mil pessoas ficaram sem ligações à distância por 9hCorreção: o software foi mudado para sua versão antiga
Bugs históricosMíssil Patriot – 1991Dhahran, IraqueErro de software no relógio do míssil: a cada 100 horas o relógio interno do sistema desviava um terço de segundoRecomendação era rebootar o sistema de tempos em temposResultado: 600 metros de erro na distância em uma interceptação28 soldados americanos mortos
Bugs históricosDivisão de pontos flutuantes nos processadores Pentium da Intel – 1993Erro em divisões dentro de uma faixa de números (erro ~0,006% no arrendondamento)3 a 5 milhões de peças com defeitoRecall para todos que quiseram trocarCustou à Intel US$ 475 milhões
Bugs históricosPing da Morte – 1995/96Primeiras versões do TCP/IPBuffer overflow: mensagem grande (maior que limite de 64KB)Problema na manipulação de erros na remontagem de um pingmal-formado trava SO´s (Windows, Unix, Macintosh, etc.)
Bugs históricosAriane 5 vôo 501 – 1996Foguete com código reutilizado do Ariane 4 (outro hardware);O processador primário do foguete sobrecarrega os motores que se desintegraram em 40 segundos;Overflow de inteiro: conversão de floatde 64-bits para inteiro 16-bits com sinal;Não tripulado (sem vítimas); prejuízo de US$ 370 milhões
Bugs históricosBug do milênio (Y2K) – 2000Datas com apenas 2 dígitos para o anoUma das maiores histerias da históriaAo virar o ano 2000, a preocupação era que contasse como 1900Entre US$ 300 e US$ 500 bi no mundo todoBug de 2038time_tem C  número de segundos a partir de 1/1/1970. Quando usado 4 bytes = 19/1/2038
Bugs históricosToyota Prius – 2010Problema no software do sistema ABS de freios – acelerador fica preso, dificultando desaceleraçãoRecall de 400.000 veículos~  US$ 2 bilhões de prejuízo, desvalorização de 15% nas açõesFonte: BBC, Computer World UK
Bugs históricosPlay Station Network - 2011Invasão do sistemaDados privados e de cartão de crédito de ~70 mi de pessoas foram roubadosGoverno japonês não deixou voltar até atingir nível de qualidade
Próximos bugs?
Próximos bugs?Qualidade de software nos dias de hojeRedes SociaisIdentidade on-line  PrivacidadeProtegidos pelas políticas definidas nos Termos de Serviço dos sitesE se hackearem sua conta de e-mail em seu celular?Geolocalização
Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Informações (computador, browser,  termos)Estatísticas enviadas a 3os,  reusadas por patrocinadoresCriação de perfil, com propagandas perseguindo usuário
Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Google salva histórico de buscasPodem ser requisitadas legalmente;Espiado por funcionário;Hackeado
Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Indexação de conteúdo impróprioBullying, violação de direitos autorais, etc.Receita: links patrocinados / pageviewsGov. italiano condenou GoogleMídia como jornal ou televisão
Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:StreetViewGov. da Alemanha proibiuFere privacidade
Próximos bugs?Qualidade de software nos dias de hojeGoverno eletrônico	Como ter um design universal?Transparência dos dados
Próximos bugs?Qualidade de software nos dias de hojeUrna eletrônicaFabricante diz não ser seguraPossibilidade de boot pelo disco externoNão tem auditoria independenteUsava como SO: VirtuOS, Windows CE e agora Linux
Próximos bugs?Qualidade de software nos dias de hojeDispositivos móveisiPhone e Android armazenam sua localização
Próximos bugs?Então... software não é confiável?Limitação humanaPessoas não conhecem/dominam tudo;Pessoas tem habilidades, mas não são perfeitas;Pessoas cometem errosPressões por tempo, custoEspecificações incompletasManutenção em código“Grandes poderes trazem grandes responsabilidades”
O que nos espera
FuturoFuturoTópicos futurosQuais os assuntos mais promissores dentro da QS nos próximos anos?Novas plataformasQue novos tipos de software serão lançados nos próximos anos?
FuturoFuturoTópicos de pesquisaTest As A ServiceTeste baseado em riscoTestes ágeis
FuturoNovas plataformasDispositivos móveis: Tablets, smartphones, e-Readers, ...Interfaces mais naturais  uso em vários domíniosQual o padrão de uso? TV!PaperPhone
FuturoNovas plataformasCarrosE se seu carro se conectar à Internet?Sistemas multimídia embutidos de fábricaWindows EmbeddedAutomotiveDiferenciação por tecnologia
FuturoNovas plataformasCarrosE se seu carro se dirigir sozinho, auto-estacionar?Como testar?
FuturoNovas plataformasCarrosE se hackers desabilitarem seu freio?Quais testes são aplicáveis?Padrão AUTOSAR (AUTomotive Open System ARchitecture)
FuturoNovas plataformasSmartGridConsumo crescente de energia elétricaRisco de interrupçãoOtimização da distribuição, consumo e cobrança
FuturoNovas plataformasArquitetura multicoreComo os novos softwares tirarão proveito dessa arquitetura?Reescrever SO´s: vale a pena?Como testar?
FuturoNovas plataformasDispositivos médicosImplantes sofisticados  mini computadoresComo se proteger de ataques?Como testar?

Mais conteúdo relacionado

Destaque (13)

PDF
Introdução a Testes de Software
Igor Takenami
 
PDF
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
crc1404
 
PPTX
[GUTS-RS] Testes em Projetos de Implantação de ERP
GUTS-RS
 
PDF
Homologação requisitos para validar sistemas erp
Sérgio Caldeira
 
PPTX
[GUTS-RS] Performance Engineering
GUTS-RS
 
PDF
Desenvolvimento para iOS
Igor Takenami
 
PDF
Lean para potencializar a qualidade no software
Dionatan default
 
PDF
Introdução a Qualidade de Software
Igor Takenami
 
PPTX
Papéis em Teste e Qualidade de Software
Camilo Ribeiro
 
PPT
Conceitos de básicos de qualidade de software
Ronney Moreira de Castro
 
PPT
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
PPT
Testes De Software - Uma Visão Geral
paulo peres
 
PDF
Qualidade de Software - Introdução
Elaine Cecília Gatto
 
Introdução a Testes de Software
Igor Takenami
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
crc1404
 
[GUTS-RS] Testes em Projetos de Implantação de ERP
GUTS-RS
 
Homologação requisitos para validar sistemas erp
Sérgio Caldeira
 
[GUTS-RS] Performance Engineering
GUTS-RS
 
Desenvolvimento para iOS
Igor Takenami
 
Lean para potencializar a qualidade no software
Dionatan default
 
Introdução a Qualidade de Software
Igor Takenami
 
Papéis em Teste e Qualidade de Software
Camilo Ribeiro
 
Conceitos de básicos de qualidade de software
Ronney Moreira de Castro
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
Testes De Software - Uma Visão Geral
paulo peres
 
Qualidade de Software - Introdução
Elaine Cecília Gatto
 

Semelhante a Qualidade de Software no século XXI (20)

PPTX
Qualidade - Porque testar seu software?
Adriano Bertucci
 
PPTX
Qualidade não é só bonita e nem tão chata
Livia Gabos
 
PDF
Aula 6 - Qualidade de Software
Leinylson Fontinele
 
PPT
Contr avali engenharia de software-introdução
Felipe Lyra
 
PDF
Es aula01
Itaú
 
PPTX
AULA 1 - TESTE DE SOFTWARE.pptx
paulocoob
 
PDF
Qualidade_Software_Aula_1_Final_Corrected.pdf
FernandaRodriguesMac4
 
PDF
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
FernandaRodriguesMac4
 
PPT
Teste de Software - Bluesoft Labs
Ricardo Machado
 
PDF
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Renato Leal
 
PDF
1 engenharia de software
Felipe Bugov
 
PPS
Teste de Software
Wagner Zaparoli
 
PPT
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
Fabiano Souza
 
PDF
Introdução à Qualidade e Testes Ágeis de Software
Claudia Melo
 
PPTX
Testes de Software - Módulo 1
Rodrigo Paes
 
PDF
Perspectivas em teste de software
Qualister
 
PDF
Aula - Teste de Software
Mauricio Cesar Santos da Purificação
 
PPTX
Fundamentos de testes de Software
Thayse Severiano
 
PPT
Senac QSS - 1) Intro
lcbj
 
PDF
Introdução à Engenharia de Software
Claudia Melo
 
Qualidade - Porque testar seu software?
Adriano Bertucci
 
Qualidade não é só bonita e nem tão chata
Livia Gabos
 
Aula 6 - Qualidade de Software
Leinylson Fontinele
 
Contr avali engenharia de software-introdução
Felipe Lyra
 
Es aula01
Itaú
 
AULA 1 - TESTE DE SOFTWARE.pptx
paulocoob
 
Qualidade_Software_Aula_1_Final_Corrected.pdf
FernandaRodriguesMac4
 
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
FernandaRodriguesMac4
 
Teste de Software - Bluesoft Labs
Ricardo Machado
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Renato Leal
 
1 engenharia de software
Felipe Bugov
 
Teste de Software
Wagner Zaparoli
 
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
Fabiano Souza
 
Introdução à Qualidade e Testes Ágeis de Software
Claudia Melo
 
Testes de Software - Módulo 1
Rodrigo Paes
 
Perspectivas em teste de software
Qualister
 
Aula - Teste de Software
Mauricio Cesar Santos da Purificação
 
Fundamentos de testes de Software
Thayse Severiano
 
Senac QSS - 1) Intro
lcbj
 
Introdução à Engenharia de Software
Claudia Melo
 
Anúncio

Último (7)

PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Anúncio

Qualidade de Software no século XXI

  • 1. “Qualidade de Software no século XXI”Bruno Elias PenteadoCoordenador de Qualidade de Software MStechMestre em Ciência da Computação – UNESPCertificações ISTQB CTFL e CTAL-TA, Micosoft Web Apps C#20/05/2011
  • 2. Qualidade de Software no século XXIAgradecimentos
  • 3. TópicosO que é qualidade? Fazer o que deveria fazer?Como identificar qualidade? Sob que ponto de vista? Usuários, devs, comprador?Quando a qualidade vale a pena. Exemplos: números mega-sena.Qualidade x prejuízosRiscosPiores bugs da história; bugs atuais (PSP e Maps quadrilha Bauru)Tipos de indústrias e os níveis exigidos de qualidade; Ética?Conceitos básicos sobre qualidadeControle de qualidade x testes: diminuição de riscoRequisitos funcionais x não-funcionaisMitos sobre qualidadeCusta caro; evolução dos custos; prevenção x detecçãoRequisitos de um testerFuturoGrandes Desafios da ComputaçãoTendências (TaaS, outsourcing, sistemas ubíquos, disponibilidade)Novas plataformas de desenvolvimento
  • 4. Qualidade de Software no século XXITópicosO que é qualidade de software?Abrangência da qualidade de softwareMitos da qualidadePiores bugs da históriaO que nos espera
  • 5. O que é Qualidade de Software?
  • 6. O que é Qualidade de Software?QualidadeO que é um software com qualidade?Conformidade às exigências?De quem? Relativa
  • 7. O que é Qualidade de Software?Atores na qualidade de softwareGerente projetoProgramadorTestadorUsuárioCliente
  • 8. O que é Qualidade de Software?Ideias sobre qualidade de softwareDefeito zero é alta qualidadeGrande número de funções é alta qualidadeCodificação elegante é alta qualidadeAlto desempenho é alta qualidadeBaixo custo de desenvolvimento é alta qualidadeDesenvolvimento rápido é alta qualidadeFacilidade para o usuário é alta qualidade
  • 9. O que é Qualidade de Software?O que é qualidade?Qualidade é valor para alguma pessoaVale o custo x benefício?Pagarão para ter seus requisitos atendidos?
  • 10. O que é Qualidade de Software?Efeito “não tão ruim”Todos os softwares têm erro;Satisfação dos usuários;Preferência em relação ao concorrente;Software de qualidade?Vale a pena melhorar?
  • 11. O que é Qualidade de Software?Qualidade?Caso: Google MapsSIG com fotos de satélite de alta resoluçãoDetermina rotas de trânsito
  • 12. O que é Qualidade de Software?Qualidade?Caso: Google MapsUsado também para o malJornal da Cidade: Bauru, 3/5/2011
  • 14. O que é Qualidade de Software?QualidadeNão significa ausência de erros!Muitos erros pode significar menor valorNão garante valor ao softwareExemplos?
  • 15. O que é Qualidade de Software?QualidadeConformidade com requisitos não é suficiente!Requisito é o meio: fornecer valor para quem?Requisitos identificam as pessoas importantes?Requisitos capturam seus valores?
  • 16. O que é Qualidade de Software?“Qualidade é valor para alguma pessoa disposta a pagar por seus benefícios”
  • 18. Abrangência da Qualidade de SoftwareQualidadeRiscoFator que pode resultar em conseqüências negativas futuras;Projeto: relacionado ao gerenciamento e ao controle do projeto;Produto: relacionado ao produto em fabricação
  • 19. Abrangência da Qualidade de SoftwareProcesso de Qualidade de SoftwarePrevenção: garantia por meio de processos;TreinamentoGrupo de SQAUso de lições aprendidasMelhoria de processoDetecção: controle por meio de testes;Compilação/análise de códigoRevisão por paresTeste AuditoriasDiminuição de riscos ao longo da produção
  • 20. Abrangência da Qualidade de SoftwareTestesAté quando testar?Custo x benefícioVariação conforme indústria
  • 21. Abrangência da Qualidade de SoftwareNíveis dos testesUnidade, Integração, Sistema, Aceitação
  • 22. Abrangência da Qualidade de SoftwareTestesAbordagem para os testesMostrar que o sistema:Faz o que não deve fazer;Não faz o que deve fazer;
  • 23. Abrangência da Qualidade de SoftwareTestesCasos de testeUma funcionalidade pode acarretar em centenas de casos de teste
  • 24. Abrangência da Qualidade de SoftwareTestesExemplo de caso de teste
  • 25. Abrangência da Qualidade de SoftwareProcesso - padrõesGeraisISO 9126 – Qualidade de produto de softwareISO 12207 – Qualidade do processo de softwareIEEE 829 – Documentação de testesIEEE 1028 – Revisão de softwareIEEE 1044 – Classificação de incidentesBS 7925 – Técnicas de teste(...)Específicos por indústriaDO-178B – software aviônicoFDA 21 – software médico(...)
  • 26. Abrangência da Qualidade de SoftwarePadrão ISO 9126Requisitos funcionais e não-funcionais
  • 27. Abrangência da Qualidade de SoftwarePadrão IEEE 829Documentação do processo de testes
  • 28. Abrangência da Qualidade de SoftwareProcessoExemplos de modelos de melhoria de processoProdução de softwareCMMi – CapabilityMaturityModelintegationMPS.Br – Melhoria do Processo de Software BrasileiroTeste de softwareTMMi – TestMaturityModelintegrationTPI – TestProcessImprovement
  • 29. Mitos
  • 30. MitosMitosO testador é inimigo do desenvolvedor
  • 31. MitosMitosTesters podem ser desenvolvedores menos qualificadosGoogle: Software Engineer in TestMicrosoft: Software DevelopmentEngineer in Test
  • 32. MitosMitosQualidade custa caroDefinição econômica de qualidade:“É sempre mais barato fazer certo na primeira vez!”
  • 33. MitosMitosQualidade leva muito tempoNunca se tem tempo para fazer da forma corretaSempre existe tempo para refazerA cada R$ 1,00 em desenvolvimento, de R$ 2,00 a R$ 3,00 são gastos com retrabalho
  • 35. Bugs históricosO que é um bug?Primeiro bug: computador Mark II, na Universidade de Harvard (1945)
  • 36. Bugs históricosMariner I – 1962Missão observar para o planeta VênusFórmula matemática foi equivocadamente transcrita para o computadorDesviou de seu curso e foi destruída 4 minutos após lançamentoPrejuízo: US$ 18,5 mi
  • 37. Bugs históricosGasoduto soviético – 1982Supostamente, a CIA infiltrou um ‘cavalo de Tróia’ no sistema que controlava o gasoduto TransiberianoMaior explosão não-nuclear da históriaDetectado por satélites americanos
  • 38. Bugs históricosTherac-25 – 1985/1987Dispositivo de terapia por radiação sobre células cancerosas falha e libera doses letais de radiação em vários consultórios médicosCondição de disputa no SO5 mortes, várias pessoas feridas
  • 39. Bugs históricosPrimeiro vírus da Internet – 1987Estudante americano criou programa que afetou em um dia até 6.000 computadores;SO: UnixBuffer overflow: função getc() da linguagem C, no sistema UNIX, fazia leitura pela redePermitia acesso não autorizado
  • 40. Bugs históricosQueda da rede AT&T - 1990Falha no software dos switches de longa distância ao receber certa mensagem de uma máquina vizinha114 switches reiniciando a cada 6 segundos60 mil pessoas ficaram sem ligações à distância por 9hCorreção: o software foi mudado para sua versão antiga
  • 41. Bugs históricosMíssil Patriot – 1991Dhahran, IraqueErro de software no relógio do míssil: a cada 100 horas o relógio interno do sistema desviava um terço de segundoRecomendação era rebootar o sistema de tempos em temposResultado: 600 metros de erro na distância em uma interceptação28 soldados americanos mortos
  • 42. Bugs históricosDivisão de pontos flutuantes nos processadores Pentium da Intel – 1993Erro em divisões dentro de uma faixa de números (erro ~0,006% no arrendondamento)3 a 5 milhões de peças com defeitoRecall para todos que quiseram trocarCustou à Intel US$ 475 milhões
  • 43. Bugs históricosPing da Morte – 1995/96Primeiras versões do TCP/IPBuffer overflow: mensagem grande (maior que limite de 64KB)Problema na manipulação de erros na remontagem de um pingmal-formado trava SO´s (Windows, Unix, Macintosh, etc.)
  • 44. Bugs históricosAriane 5 vôo 501 – 1996Foguete com código reutilizado do Ariane 4 (outro hardware);O processador primário do foguete sobrecarrega os motores que se desintegraram em 40 segundos;Overflow de inteiro: conversão de floatde 64-bits para inteiro 16-bits com sinal;Não tripulado (sem vítimas); prejuízo de US$ 370 milhões
  • 45. Bugs históricosBug do milênio (Y2K) – 2000Datas com apenas 2 dígitos para o anoUma das maiores histerias da históriaAo virar o ano 2000, a preocupação era que contasse como 1900Entre US$ 300 e US$ 500 bi no mundo todoBug de 2038time_tem C  número de segundos a partir de 1/1/1970. Quando usado 4 bytes = 19/1/2038
  • 46. Bugs históricosToyota Prius – 2010Problema no software do sistema ABS de freios – acelerador fica preso, dificultando desaceleraçãoRecall de 400.000 veículos~ US$ 2 bilhões de prejuízo, desvalorização de 15% nas açõesFonte: BBC, Computer World UK
  • 47. Bugs históricosPlay Station Network - 2011Invasão do sistemaDados privados e de cartão de crédito de ~70 mi de pessoas foram roubadosGoverno japonês não deixou voltar até atingir nível de qualidade
  • 49. Próximos bugs?Qualidade de software nos dias de hojeRedes SociaisIdentidade on-line  PrivacidadeProtegidos pelas políticas definidas nos Termos de Serviço dos sitesE se hackearem sua conta de e-mail em seu celular?Geolocalização
  • 50. Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Informações (computador, browser, termos)Estatísticas enviadas a 3os, reusadas por patrocinadoresCriação de perfil, com propagandas perseguindo usuário
  • 51. Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Google salva histórico de buscasPodem ser requisitadas legalmente;Espiado por funcionário;Hackeado
  • 52. Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:Indexação de conteúdo impróprioBullying, violação de direitos autorais, etc.Receita: links patrocinados / pageviewsGov. italiano condenou GoogleMídia como jornal ou televisão
  • 53. Próximos bugs?Qualidade de software nos dias de hojeMecanismos de buscasEx. Google:StreetViewGov. da Alemanha proibiuFere privacidade
  • 54. Próximos bugs?Qualidade de software nos dias de hojeGoverno eletrônico Como ter um design universal?Transparência dos dados
  • 55. Próximos bugs?Qualidade de software nos dias de hojeUrna eletrônicaFabricante diz não ser seguraPossibilidade de boot pelo disco externoNão tem auditoria independenteUsava como SO: VirtuOS, Windows CE e agora Linux
  • 56. Próximos bugs?Qualidade de software nos dias de hojeDispositivos móveisiPhone e Android armazenam sua localização
  • 57. Próximos bugs?Então... software não é confiável?Limitação humanaPessoas não conhecem/dominam tudo;Pessoas tem habilidades, mas não são perfeitas;Pessoas cometem errosPressões por tempo, custoEspecificações incompletasManutenção em código“Grandes poderes trazem grandes responsabilidades”
  • 58. O que nos espera
  • 59. FuturoFuturoTópicos futurosQuais os assuntos mais promissores dentro da QS nos próximos anos?Novas plataformasQue novos tipos de software serão lançados nos próximos anos?
  • 60. FuturoFuturoTópicos de pesquisaTest As A ServiceTeste baseado em riscoTestes ágeis
  • 61. FuturoNovas plataformasDispositivos móveis: Tablets, smartphones, e-Readers, ...Interfaces mais naturais  uso em vários domíniosQual o padrão de uso? TV!PaperPhone
  • 62. FuturoNovas plataformasCarrosE se seu carro se conectar à Internet?Sistemas multimídia embutidos de fábricaWindows EmbeddedAutomotiveDiferenciação por tecnologia
  • 63. FuturoNovas plataformasCarrosE se seu carro se dirigir sozinho, auto-estacionar?Como testar?
  • 64. FuturoNovas plataformasCarrosE se hackers desabilitarem seu freio?Quais testes são aplicáveis?Padrão AUTOSAR (AUTomotive Open System ARchitecture)
  • 65. FuturoNovas plataformasSmartGridConsumo crescente de energia elétricaRisco de interrupçãoOtimização da distribuição, consumo e cobrança
  • 66. FuturoNovas plataformasArquitetura multicoreComo os novos softwares tirarão proveito dessa arquitetura?Reescrever SO´s: vale a pena?Como testar?
  • 67. FuturoNovas plataformasDispositivos médicosImplantes sofisticados  mini computadoresComo se proteger de ataques?Como testar?
  • 68. Recapitulando...O que é qualidade de software?Abrangência da qualidade de softwareMitos da qualidadePiores bugs da históriaO que nos espera
  • 69. Obrigado!“Qualidade de Software no século XXI”Bruno Elias Penteado bruno.penteado@mstech.com.brTwitter: @brunopenteadoEstamos contratando!curriculum@mstech.com.brTwitter: @_MStech