Transformando testes manuais para testes automatizados – Visual Studio 2012

Qualidade de Software

Adriano Bertucci
Microsoft Visual Studio ALM MVP

adriano.bertucci@konia.com.br
Twitter: @adrianobertucci
Quem sou eu?
• Sócio/Diretor Konia Tecnologia;
• Microsoft Visual Studio ALM MVP;
• Palestrante Microsoft;
• Adora jogar FIFA no XBOX;
• Corithiano acima de tudo! 
adriano.bertucci@konia.com.br
Twitter: @adrianobertucci
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
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




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%
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
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 testando                                  quais testes precisam ser
a mesma coisa”                                        feitos?”
                         “desenvolvedores e testadores
                         não falam a mesma língua e
                         trabalham em silos”

“ferramentas são caras                                  “desenvolvedores dizem
(tempo, licenças,                                       que os defeitos não servem
pessoas)”                                               para nada”
                             “quando o software
                             estará pronto?”
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
POG é inadmissível!


  • Por isso temos que estudar!
O que fazer?
• Padronizar
• Arquitetar
• Testar
• Ter atitude
• Capacitar
• Organizar
• Integrar
• Fazer manutenção
• Entregar rapidamente
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
Desenvolvedor
                                        Designer                   Profissional de Banco
                                                                         de Dados
                        Arquiteto
                                                                                           Testador
                                                                                                      Gerente de TI ou
Analistas de Negócios                                                                                   de Projetos
                                              Relatório em Tempo Real




             Defeitos – Bug Tracking           Metodologia & Processo de      Análise de Código
             Controle de Tarefas                Desenvolvimento                Documentação
             Requisitos de Negócios            Automação de Compilação         de Projeto
                                                 (build)                        Ferramentas de Arquitetura
             Controle de Versão
              Avançado                          Testes Web                     Ferramentas para Banco de
                                                Teste de Carga                  Dados
                                                Testes Unitários
Ciclo de Vida dos Testes
                           Cenário




               Automação              Planejamento




               Validação              Especificação




                           Execução
Segmentação dos testes

Generalista                                                               Especialista
Testes manuais   Algumas scripts      Scripts          Codificação    Grande experiência
                                                                      em código
                 Scripts para setup   AlgumaMaioria das
                                                  Testes
      70% dos testes
                 do lab, massa        experiência em
                                                  automatizado
                                       ferramentas de testes
       ocorrem aqui
                 dados                código
                                             foca aqui
                                      Caixa Preta
                                                          Caixa Branca
                                                                     Testes API
Visual Studio 2012

  Generalista                                                                                                Especialista
  Testes manuais           Algumas scripts           Scripts                 Codificação            Grande experiência em
                                                                                                    código
                           Scripts para setup do     Alguma experiência em   Testes automatizado
                           lab, massa dados          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
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
  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
Gestão Laboratórios Integrado

                       • Rapidamente restaura/derruba
                         um ambiente
                       • Bugs podem guardar imagem
                         do ambiente
                       • Integração com processo de
                         build
Konia Tecnologia

Programa de Talentos
O que buscamos em um profissional?

• Transparência
• Atitude
• Time
• Valorização do profissional
• Descontração
• Comprometimento
• Respeito
O que oferecemos…

• Rendimento Compatível;
• Aprendizado Garantido;
• Ambiente Descontraído;
• Plano de Carreira;
Como participar

Email para: carreira@konia.com.br
Assunto: Eu sou um TALENTO!

Conteúdo:
• Porque me considero um talento em TI?
• Que professional sou eu?
• Meus pontos fortes e meus pontos fracos.

Qualidade de Software com Visual Studio 2012

  • 1.
    Transformando testes manuaispara testes automatizados – Visual Studio 2012 Qualidade de Software Adriano Bertucci Microsoft Visual Studio ALM MVP adriano.bertucci@konia.com.br Twitter: @adrianobertucci
  • 2.
    Quem sou eu? •Sócio/Diretor Konia Tecnologia; • Microsoft Visual Studio ALM MVP; • Palestrante Microsoft; • Adora jogar FIFA no XBOX; • Corithiano acima de tudo!  adriano.bertucci@konia.com.br Twitter: @adrianobertucci
  • 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.
    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
  • 5.
    Caminho para osucesso... Ideia Solução
  • 6.
  • 7.
    Passado 1962 – Acidente com Veers, $18.5M 1978 – Colapso do Hartford Coliseum, $90M
  • 8.
    Presente − Testador reportaum 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.
  • 9.
    Presente Testador Desenvolvedor
  • 10.
    Futuro • Aplicações emambientes complexos e distribuídos • Software + Serviços • Tecnologia Multi-Touch, Tables, Smarphones, etc.
  • 11.
  • 12.
    Índices de sucessoem 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%
  • 13.
    Impacto no desenvolvimento Desenvolvedoressentem-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
  • 14.
    Problemas • “Visibilidade doandamento 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”
  • 15.
    Causas “testadores gastam “um requisito mudou, muito tempo testando quais testes precisam ser a mesma coisa” feitos?” “desenvolvedores e testadores não falam a mesma língua e trabalham em silos” “ferramentas são caras “desenvolvedores dizem (tempo, licenças, que os defeitos não servem pessoas)” para nada” “quando o software estará pronto?”
  • 16.
  • 17.
    O que dizersobre 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
  • 18.
    POG é inadmissível! • Por isso temos que estudar!
  • 19.
    O que fazer? •Padronizar • Arquitetar • Testar • Ter atitude • Capacitar • Organizar • Integrar • Fazer manutenção • Entregar rapidamente
  • 20.
    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
  • 21.
    Desenvolvedor Designer Profissional de Banco de Dados Arquiteto Testador Gerente de TI ou Analistas de Negócios de Projetos Relatório em Tempo Real  Defeitos – Bug Tracking  Metodologia & Processo de  Análise de Código  Controle de Tarefas Desenvolvimento  Documentação  Requisitos de Negócios  Automação de Compilação de Projeto (build)  Ferramentas de Arquitetura  Controle de Versão Avançado  Testes Web  Ferramentas para Banco de  Teste de Carga Dados  Testes Unitários
  • 23.
    Ciclo de Vidados Testes Cenário Automação Planejamento Validação Especificação Execução
  • 24.
    Segmentação dos testes Generalista Especialista Testes manuais Algumas scripts Scripts Codificação Grande experiência em código Scripts para setup AlgumaMaioria das Testes 70% dos testes do lab, massa experiência em automatizado ferramentas de testes ocorrem aqui dados código foca aqui Caixa Preta Caixa Branca Testes API
  • 25.
    Visual Studio 2012 Generalista Especialista Testes manuais Algumas scripts Scripts Codificação Grande experiência em código Scripts para setup do Alguma experiência em Testes automatizado lab, massa dados 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
  • 26.
    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
  • 27.
    Testes Funcionais www.actiongroup.com.br
  • 28.
    Testes de Cargae Desempenho Com usuários virtuais ilimitados!
  • 29.
    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
  • 30.
    Derrubando as barreiras • Bugs ricos • Passos reproduzidos automaticamente • Vídeos como evidência • Informações de sistema • IntelliTrace™ • Imagens do ambiente de testes completo
  • 31.
    Gestão Laboratórios Integrado • Rapidamente restaura/derruba um ambiente • Bugs podem guardar imagem do ambiente • Integração com processo de build
  • 33.
  • 34.
    O que buscamosem um profissional? • Transparência • Atitude • Time • Valorização do profissional • Descontração • Comprometimento • Respeito
  • 35.
    O que oferecemos… •Rendimento Compatível; • Aprendizado Garantido; • Ambiente Descontraído; • Plano de Carreira;
  • 36.
    Como participar Email para:carreira@konia.com.br Assunto: Eu sou um TALENTO! Conteúdo: • Porque me considero um talento em TI? • Que professional sou eu? • Meus pontos fortes e meus pontos fracos.