QUALIDADE DE SOFTWARE COM
VISUAL STUDIO 2012
ADRIANO BERTUCCI
 • Sócio/Diretor da Konia Tecnologia
 • Microsoft Visual Studio ALM MVP
 • Fascinado por:
      – Conhecimento;
      – História;
      – Filosofia;
 • Adora jogar um FIFA (BertucciLife)
E-mail: adriano.bertucci@konia.com.br | Twitter: @adrianobertucci
Desafios – Problemas comuns
• Requisitos de negócios não são gerenciados de
  forma efetiva
• Ferramentas e dados dispersos
• Testes não alinhados aos objetivos de negócios
• Falta de orientações e processos definidos
• Problemas de comunicação entre os membros da
  equipe
• Visibilidade limitada do status do projeto para
  tomada de decisões
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
Processo de Trabalho
                                                                             Builds
                                                       Bugs
                Requerimentos                                     Test
                  de Negócio



                 Cenários                    Tarefas


  Analista de                                                     Time de
   Negócio                      Gerente de                    Desenvolvimento
                 Requisição
                                 Projeto
                De Mudança                    Implantação
                                                                         Erros em
                                                                         Produção

Itens de trabalho são a unidade
de comunicação entre as                                              Operações
pessoas do time
Como esta a saúde do seu projeto?
• Cronograma e controle de atividades?
• Controle de defeitos?
• Quais cenários foram testados com sucesso?
• Cobertura do código testado?
• Rotatividade do código – estabilização?
• Requisições de mudanças gerenciadas
  adequadamente?
• Controle sobre que fontes foram alterados por
  causa de determinado requisito / correção?
Indicadores de Qualidade
Planejamento de Projetos
Relatórios em Excel
Desempenho da Equipe
Requisitos Implementados
Desenvolvedor      DBA
                                   Designer
                                                                       Testador
                    Arquiteto

                                                                            Gerente de TI ou
Analistas de Negócios                                                         de Projetos

                                      Relatório em Tempo Real




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

  • A qualidade de software é uma área de
    conhecimento da engenharia de software que
    objetiva garantir a qualidade do software
    através da DEFINIÇÃO e NORMATIZAÇÃO de
    PROCESSOS DE DESENVOLVIMENTO.
Fonte: Wikipedia
Qualidade – Pontos Importantes
Teste ≠ Qualidade
Antes -> Durante -> Depois
Desafios comuns para qualidade
Qualidade uma necessidade
• O sucesso de um projeto de software pode ser definido por um triângulo:
• Nos acostumamos em aceitar 2 dos 3 Funcionalidade                  Qualidade
    –   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
Impacto de uma falha


   1962 – Acidente com Veers, $18.5M




1978 – Colapso do Hartford Coliseum, $90M
Impacto no ciclo
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
O que fazer?
•   Padronizar
•   Arquitetar
•   Testar
•   Ter atitude
•   Capacitar
•   Organizar
•   Integrar
•   Fazer manutenção
•   Entregar rapidamente
Teste de Software
Segmentação dos testes

Generalista                                                                   Especialista
Testes manuais   Algumas scripts      Scripts              Codificação    Grande experiência
                                                                          em código
                 Scripts para setup         Maioria das
                                      Alguma experiência
                                                  Testes
       70% dos testes
                 do lab, massa        em código   automatizado
                                       ferramentas de testes
        ocorrem aqui
                 dados

                                             foca aqui
                                      Caixa Preta
                                                              Caixa Branca
                                                                         Testes API
O que fazer?
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
O que fazer?
                   Cenário




       Automação              Planejamento




       Validação              Especificação




                   Execução
DEMO
DÚVIDAS????


E-mail: adriano.bertucci@konia.com.br
Twitter: @adrianobertucci
PROGRAMA JOVEM TALENTO
O que buscamos em um profissional?

•   Transparência
•   Atitude
•   Espírito de Equipe
•   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 gostaria de atuar com ALM?
• Porque me considero um talento em TI?
• Que professional sou eu?
• Meus pontos fortes e meus pontos fracos.

BaixadaTech 2012 - Qualidade de Software

  • 1.
    QUALIDADE DE SOFTWARECOM VISUAL STUDIO 2012
  • 2.
    ADRIANO BERTUCCI •Sócio/Diretor da Konia Tecnologia • Microsoft Visual Studio ALM MVP • Fascinado por: – Conhecimento; – História; – Filosofia; • Adora jogar um FIFA (BertucciLife) E-mail: adriano.bertucci@konia.com.br | Twitter: @adrianobertucci
  • 4.
    Desafios – Problemascomuns • Requisitos de negócios não são gerenciados de forma efetiva • Ferramentas e dados dispersos • Testes não alinhados aos objetivos de negócios • Falta de orientações e processos definidos • Problemas de comunicação entre os membros da equipe • Visibilidade limitada do status do projeto para tomada de decisões
  • 5.
    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
  • 6.
    Processo de Trabalho Builds Bugs Requerimentos Test de Negócio Cenários Tarefas Analista de Time de Negócio Gerente de Desenvolvimento Requisição Projeto De Mudança Implantação Erros em Produção Itens de trabalho são a unidade de comunicação entre as Operações pessoas do time
  • 7.
    Como esta asaúde do seu projeto? • Cronograma e controle de atividades? • Controle de defeitos? • Quais cenários foram testados com sucesso? • Cobertura do código testado? • Rotatividade do código – estabilização? • Requisições de mudanças gerenciadas adequadamente? • Controle sobre que fontes foram alterados por causa de determinado requisito / correção?
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Desenvolvedor DBA Designer Testador Arquiteto Gerente de TI ou Analistas de Negócios de Projetos Relatório em Tempo Real  Defeitos – Bug Tracking  Metodologia & Processo  Análise de Código  Controle de Tarefas de Desenvolvimento  Documentação  Requisitos de Negócios  Automação de de Projeto Compilação (build)  Ferramentas de  Controle de Versão Avançado  Testes Web Arquitetura  Teste de Carga  Ferramentas para Banco  Testes Unitários de Dados
  • 14.
  • 15.
    QUALIDADE DE SOFTWARE • A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da DEFINIÇÃO e NORMATIZAÇÃO de PROCESSOS DE DESENVOLVIMENTO. Fonte: Wikipedia
  • 16.
    Qualidade – PontosImportantes Teste ≠ Qualidade Antes -> Durante -> Depois
  • 17.
  • 18.
    Qualidade uma necessidade •O sucesso de um projeto de software pode ser definido por um triângulo: • Nos acostumamos em aceitar 2 dos 3 Funcionalidade Qualidade – Consideramos isso sucesso? • Atualmente o triângulo se transformou em um quadrado; – Qualidade é a quarta dimensão Prazo Orçamento
  • 19.
    Caminho para osucesso Ideia Solução
  • 20.
    Impacto de umafalha 1962 – Acidente com Veers, $18.5M 1978 – Colapso do Hartford Coliseum, $90M
  • 21.
    Impacto no ciclo 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
  • 22.
    O que fazer? • Padronizar • Arquitetar • Testar • Ter atitude • Capacitar • Organizar • Integrar • Fazer manutenção • Entregar rapidamente
  • 23.
  • 24.
    Segmentação dos testes Generalista Especialista Testes manuais Algumas scripts Scripts Codificação Grande experiência em código Scripts para setup Maioria das Alguma experiência Testes 70% dos testes do lab, massa em código automatizado ferramentas de testes ocorrem aqui dados foca aqui Caixa Preta Caixa Branca Testes API
  • 25.
    O que fazer? 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.
    O que fazer? Cenário Automação Planejamento Validação Especificação Execução
  • 27.
  • 28.
  • 29.
  • 30.
    O que buscamosem um profissional? • Transparência • Atitude • Espírito de Equipe • Valorização do profissional • Descontração • Comprometimento • Respeito
  • 31.
    O que oferecemos? • Rendimento Compatível; • Aprendizado Garantido; • Ambiente Descontraído; • Plano de Carreira;
  • 32.
    Como participar? Email para:carreira@konia.com.br Assunto: Eu sou um TALENTO! Conteúdo: • Porque gostaria de atuar com ALM? • Porque me considero um talento em TI? • Que professional sou eu? • Meus pontos fortes e meus pontos fracos.