SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Visual Studio ALM

Qualidade de Software



  Adriano Bertucci               @adrianobertucci   adriano@bertucci.com.br
  Especialista em Soluções ALM
  Microsoft MVP Visual C#        adriano.bertucci   http://www.adrianobertucci.com
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.
Qualidade uma necessidade
−    O sucesso de um projeto de software pode ser definido por um
     triângulo:
     Tempo (Prazo)
                                      Funcionalidade        Qualidade
     Orçamento (Custo)
     Funcionalidades
−   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

−   Ainda consideraremos 2 das 4 dimensões?
Caminho para o sucesso...
Ideia




                            Solução
Como chegamos até aqui?
Passado

  1962 – Acidente com Veers, $18.5M




1978 – Colapso do Hartford Coliseum, $90M
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.
Presente
           Ei, voce informou
                                 Claro! Na minha
           “Não consigo
                                 máquina funciona!
           reproduzir” no
           defeito que enviei!




Testador                                    Desenvolvedor
Presente
                                 Não, porque você
                                 está usando. Pare
            Você tentou          os seus testes que
            reproduzir no meu    eu verifico.
            ambiente de teste?




 Testador                                    Desenvolvedor
Presente
       Certo, vou parar meus    Ainda não consegui
       testes e aí você         reproduzir! Suas
       assume, olha os logs e   informações não
       refaz os passos.         estão claras.




Testador                                     Desenvolvedor
Presente




 Testador   Desenvolvedor
Futuro
− Aplicações em ambientes complexos e
  distribuídos
− Software + Serviços
− Tecnologia Multi-Touch, Tables, Smarphones, etc.
Preço da qualidade?
Í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%
Problemas
− “Visibilidade do andamento do projeto”
− “Não existe comunicação na equipe”
− “Difícil conciliar necessidade do usuário com
  riscos”
− “Modelos de desenvolvimento complexo”
− “Soluções não são testadas”
Causas
“testadores gastam                                   “um requisito mudou,
muito tempo                                          quais testes precisam ser
testando a mesma                                     feitos?”
coisa”                    “desenvolvedores e
                          testadores não falam a
                          mesma língua e trabalham
                          em silos”
“ferramentas são                                      “desenvolvedores dizem
caras (tempo, licenças,                               que os defeitos não
pessoas)”                                             servem para nada”
                             “quando o
                             software estará
                             pronto?”
O que fazer?
−   Padronizar
−   Arquitetar
−   Testar
−   Ter atitude
−   Capacitar
−   Organizar
−   Integrar
−   Fazer manutenção
−   Entregar rapidamente
Bugs Existem?
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

                            Retirado do http://desciclo.pedia.ws
Desenvolvemos a um bom tempo
POG é inadimisível!
  − Por isso temos que estudar!
Desafios comuns para qualidade
Testador   Desenvolvedor
Impacto
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
Visual Studio 2010
Segmentação dos testes
Generalista                                                              Especialista
Testes manuais   Algumas scripts      Scripts          Codificação    Grande
                                                                      experiência em
                 Scripts para setup   AlgumaMaioria das
                                                  Testes              código
      70% dos testes
                 do lab, massa        experiência em
                                                  automatizado
                 dados                 ferramentas de testes
                                      código
       ocorrem aqui
                                             foca aqui
                                      Caixa Preta
                                                          Caixa Branca
                                                                     Testes API
Visual Studio 2010
  Generalista                                                                                            Especialista
  Testes manuais          Algumas scripts           Scripts              Codificação            Grande experiência
                                                                                                em código
                          Scripts para setup do     Alguma experiência   Testes automatizado
                          lab, massa dados          em código


                                                                                       Load Test
                                                                                       Web Test
  Microsoft Test Runner                                                                  Coded UI Test
                                                                                          Unit Testing
                                    Gerenciamento de casos de teste
                                     Gerenciamento de laboratórios
                     Coletores de dados (IntelliTrace™, Impacto de testes, Metricas…)
                                                  Team Foundation Server                          Relatórios
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
Testes Funcionais




                    www.actiongroup.com.br
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
Derrubando as barreiras
                   − Bugs ricos
                   − Passos reproduzidos
                     automaticamente
                   − Vídeos como evidência
                   − Informações de sistema
                   − IntelliTrace™
                   − Imagens do ambiente de
                     testes completo
Testes de Carga e Desempenho



                          Com usuários
                       virtuais ilimitados!
Gestão Laboratórios Integrado
                 − Rapidamente
                   restaura/derruba um
                   ambiente
                 − Bugs podem guardar imagem
                   do ambiente
                 − Integração com processo de
                   build
O que buscamos?

− Qualidade
− Evolução
− Chega de apagar incêndios
Perguntas do dia a dia…
O que tem que ser feito?
 Sistemas novos
 − UML
   −   Component Diagram
   −   Class Diagram
   −   Sequence Diagram
   −   Activity Diagram
   −   Use Case Diagram
Mas como fazer?
 Sistemas existentes
 − Entendo sistemas existentes
    − Código pode ser de difícil manutenção.
    − Identificação via DEBUG

 − Qual o fluxo atual do sistema?
 − Quais são suas dependências?
Dependency Graph
Sequence Diagram
Estamos fazendo certo?
 Garantindo qualidade
 − Comunicação e Integridade
   − Informar ao time qual modelo seguir.
   − O mais importante garanta que eles estão
     seguindo.
Layer Diagram
Adriano Bertucci
         Especialista em Soluções ALM
           Microsoft MVP Visual C#



@adrianobertucci       adriano@bertucci.com.br

adriano.bertucci       http://www.adrianobertucci.com

Más contenido relacionado

La actualidad más candente

Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de TesteElias Nogueira
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Desmistificando agile testing tdc 2011
Desmistificando agile testing tdc 2011Desmistificando agile testing tdc 2011
Desmistificando agile testing tdc 2011tatiane_fukuda
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosVitor Silva
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 

La actualidad más candente (20)

Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Desmistificando agile testing tdc 2011
Desmistificando agile testing tdc 2011Desmistificando agile testing tdc 2011
Desmistificando agile testing tdc 2011
 
Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Papéis em teste e qualidade de software
Papéis em teste e qualidade de softwarePapéis em teste e qualidade de software
Papéis em teste e qualidade de software
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 

Destacado

Server Plugins - Team Foundation Server
Server Plugins - Team Foundation ServerServer Plugins - Team Foundation Server
Server Plugins - Team Foundation ServerAdriano Bertucci
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsAdriano Bertucci
 
Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013Rogério Rodrigues
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvemAdriano Bertucci
 
Criando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BICriando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BIAdriano Bertucci
 

Destacado (8)

Server Plugins - Team Foundation Server
Server Plugins - Team Foundation ServerServer Plugins - Team Foundation Server
Server Plugins - Team Foundation Server
 
Métodos Ágeis - Aula 01
Métodos Ágeis - Aula 01Métodos Ágeis - Aula 01
Métodos Ágeis - Aula 01
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvem
 
Criando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BICriando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BI
 

Similar a Qualidade de software com Visual Studio ALM

Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Adriano Bertucci
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de SoftwareIgor Takenami
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Igor Abade
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeWende Mendes
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftIgor Abade
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...Welington Monteiro
 

Similar a Qualidade de software com Visual Studio ALM (20)

Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
SonarQube
SonarQubeSonarQube
SonarQube
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Testes
TestesTestes
Testes
 
DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoft
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
 

Qualidade de software com Visual Studio ALM

  • 1. Visual Studio ALM Qualidade de Software Adriano Bertucci @adrianobertucci adriano@bertucci.com.br Especialista em Soluções ALM Microsoft MVP Visual C# adriano.bertucci http://www.adrianobertucci.com
  • 2. 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.
  • 3. Qualidade uma necessidade − O sucesso de um projeto de software pode ser definido por um triângulo: Tempo (Prazo) Funcionalidade Qualidade Orçamento (Custo) Funcionalidades − 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 − Ainda consideraremos 2 das 4 dimensões?
  • 4. Caminho para o sucesso... Ideia Solução
  • 6. Passado 1962 – Acidente com Veers, $18.5M 1978 – Colapso do Hartford Coliseum, $90M
  • 7. 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.
  • 8. Presente Ei, voce informou Claro! Na minha “Não consigo máquina funciona! reproduzir” no defeito que enviei! Testador Desenvolvedor
  • 9. Presente Não, porque você está usando. Pare Você tentou os seus testes que reproduzir no meu eu verifico. ambiente de teste? Testador Desenvolvedor
  • 10. Presente Certo, vou parar meus Ainda não consegui testes e aí você reproduzir! Suas assume, olha os logs e informações não refaz os passos. estão claras. Testador Desenvolvedor
  • 11. Presente Testador Desenvolvedor
  • 12. Futuro − Aplicações em ambientes complexos e distribuídos − Software + Serviços − Tecnologia Multi-Touch, Tables, Smarphones, etc.
  • 14. Í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%
  • 15. Problemas − “Visibilidade do andamento do projeto” − “Não existe comunicação na equipe” − “Difícil conciliar necessidade do usuário com riscos” − “Modelos de desenvolvimento complexo” − “Soluções não são testadas”
  • 16. Causas “testadores gastam “um requisito mudou, muito tempo quais testes precisam ser testando a mesma feitos?” coisa” “desenvolvedores e testadores não falam a mesma língua e trabalham em silos” “ferramentas são “desenvolvedores dizem caras (tempo, licenças, que os defeitos não pessoas)” servem para nada” “quando o software estará pronto?”
  • 17. O que fazer? − Padronizar − Arquitetar − Testar − Ter atitude − Capacitar − Organizar − Integrar − Fazer manutenção − Entregar rapidamente
  • 19. 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 Retirado do http://desciclo.pedia.ws
  • 20. Desenvolvemos a um bom tempo
  • 21. POG é inadimisível! − Por isso temos que estudar!
  • 22. Desafios comuns para qualidade
  • 23. Testador Desenvolvedor
  • 24. Impacto 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
  • 26. Segmentação dos testes Generalista Especialista Testes manuais Algumas scripts Scripts Codificação Grande experiência em Scripts para setup AlgumaMaioria das Testes código 70% dos testes do lab, massa experiência em automatizado dados ferramentas de testes código ocorrem aqui foca aqui Caixa Preta Caixa Branca Testes API
  • 27. Visual Studio 2010 Generalista Especialista Testes manuais Algumas scripts Scripts Codificação Grande experiência em código Scripts para setup do Alguma experiência Testes automatizado lab, massa dados em código Load Test Web Test Microsoft Test Runner Coded UI Test Unit Testing Gerenciamento de casos de teste Gerenciamento de laboratórios Coletores de dados (IntelliTrace™, Impacto de testes, Metricas…) Team Foundation Server Relatórios
  • 28. 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
  • 29. Testes Funcionais www.actiongroup.com.br
  • 30. 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
  • 31. Derrubando as barreiras − Bugs ricos − Passos reproduzidos automaticamente − Vídeos como evidência − Informações de sistema − IntelliTrace™ − Imagens do ambiente de testes completo
  • 32. Testes de Carga e Desempenho Com usuários virtuais ilimitados!
  • 33. Gestão Laboratórios Integrado − Rapidamente restaura/derruba um ambiente − Bugs podem guardar imagem do ambiente − Integração com processo de build
  • 34.
  • 35. O que buscamos? − Qualidade − Evolução − Chega de apagar incêndios
  • 36. Perguntas do dia a dia…
  • 37. O que tem que ser feito? Sistemas novos − UML − Component Diagram − Class Diagram − Sequence Diagram − Activity Diagram − Use Case Diagram
  • 38. Mas como fazer? Sistemas existentes − Entendo sistemas existentes − Código pode ser de difícil manutenção. − Identificação via DEBUG − Qual o fluxo atual do sistema? − Quais são suas dependências?
  • 41. Estamos fazendo certo? Garantindo qualidade − Comunicação e Integridade − Informar ao time qual modelo seguir. − O mais importante garanta que eles estão seguindo.
  • 43.
  • 44. Adriano Bertucci Especialista em Soluções ALM Microsoft MVP Visual C# @adrianobertucci adriano@bertucci.com.br adriano.bertucci http://www.adrianobertucci.com