SlideShare uma empresa Scribd logo
1 de 71
(48) 3285 5615 / 9645 5506
 contato@qualister.com.br

•  Terceirização de profissionais
•  Consultoria de teste             Revisão	
  e	
  inspeção	
  de	
  
•  Avaliação de usabilidade         artefatos	
  (verificação)	
  
•  Automação de testes
•  Testes de performance
•  Treinamentos




  www.qualister.com.br
Quer saber mais?

            Estes	
  são	
  apenas	
  alguns	
  slides	
  do	
  curso	
  de	
  
           revisão	
  e	
  inspeção	
  de	
  artefatos	
  (verificação)	
  
                           oferecido	
  pela	
  Qualister.	
  	
  
	
  

                   Para	
  maiores	
  informações	
  visite	
  nosso	
  site:	
  
	
  
               h@p://www.qualister.com.br/cursos	
  	
  
	
  


	
  

       www.qualister.com.br
Direitos autorais




                       Importante                                             er
                                                         produção de qualqu
                                   proibida a cópia e re
                       –         É                             resentação incluindo,
                                 parte do conteúdo desta ap
                                                             , imagens, gráficos e
                                 mas  não limitado a, textos
                                                                é protegida pelas leis
                                 tabela s. Esta apresentação                  no
                                                        opriedade de Cristia
                                 de Copyright e são pr                e Treinamento
                                  Caetano e   Qualister Consultoria
                                  LTDA.

                                                           r, copiar, guardar em
                        –         Não é permitido modifica
                                                              ugar, vender ou
                                  banco  de dados público, al
                                                                   apresentação,
                                  republicar qualquer parte desta
                                                       o explícita do autor.
                                  sem prévia permissã

                                                                      o deste material,
                            –      Quando ho   uver permissão de us                  e
                                                               bibliográfica conform
                                   é ob rigatória a referência
                                   as normas vigentes.




www.qualister.com.br
Instrutor

                       Cristiano Caetano
                       Email: cristiano.caetano@qualister.com.br
                       Apresentações: slideshare.net/cristianocaetano
                       Blog: cristianocaetano.wordpress.com
                       É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já
                             trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP
                             Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos
                             livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e
                             Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e
                             Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor
                             do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software
                             (www.testexpert.com.br).




www.qualister.com.br
Twitter




             twitter.com/c_caetano




www.qualister.com.br
Sobre a Qualister

•       Fundação: 2007.
•       Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
        de profissionais qualificados e certificados na área de testes e qualidade de software,
        com o objetivo de integrar, implementar e implantar soluções com base nas melhores
        práticas do mercado e normas internacionais.
•       Colaboradores: A Qualister é composta por colaboradores pós-graduados e
        certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
        Tecnologia da Informação.
•       Área de atuação: A Qualister é uma empresa especializada em serviços de
        qualidade e teste de software. Tem como linhas de atuação consultoria em teste/
        qualidade de software, outsourcing (terceirização dos serviços através da alocação
        de profissionais) e treinamentos.




     www.qualister.com.br
Parcerias internacionais


  	
                    Soluções para automação, profilling e gestão de testes
  	
  
  	
  
  	
  
  	
  
  	
  
  	
                   Soluções para testes de performance
  	
  
  	
  
  	
  
  	
  
  	
                    Soluções de apoio a avaliação de usabilidade
  	
  
  	
  
  	
  




www.qualister.com.br
Tópico




                 • Introdução


www.qualister.com.br
Introdução

•  Qualidade de software
     –  Q qualidade de software é a conformidade a requisitos funcionais e de desempenho
        explicitamente declarados, a padrões de desenvolvimento claramente documentados e a
        características implícitas que são esperadas de todo software profissionalmente desenvolvido
        (PRESSMAN).

     –  Esta definição enfatiza, três pontos chave: os requisitos de software, padrões especificados e
        um conjunto de requisitos implícitos. Os requisitos de software são a base a partir da qual a
        qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade. Em
        resumo, a visão de Pressman pode ser enumerada da seguinte forma:

            •  1. Os requisitos de software são a base a partir da qual a qualidade é medida. A falta de
               conformidade aos requisitos significa falta de qualidade;
            •  2. Padrões especificados definem um conjunto de critérios de desenvolvimento que
               orientam a maneira segundo o qual o software passa pelo trabalho de engenharia. Se os
               critérios não forem seguidos, o resultado quase que seguramente será a falta de
               qualidade;
            •  3. Há um conjunto de características implícitas que freqüentemente não são mencionadas
               (usabilidade, manutebilidade, testabilidade, etc). Se o software se adequar a seus
               requisitos explícitos, mas deixar de cumprir as suas características implícitas, a qualidade
               do software será suspeita.



 www.qualister.com.br
Introdução

•      Garantia de qualidade: (Qualidade do processo X Qualidade do produto)


                       Qualidade	
  do	
  processo	
                                                       Qualidade	
  do	
  produto	
  
           • 	
  Foco:	
  garanFr	
  que	
  o	
  projeto	
  empresa	
  todos	
  os	
         • 	
  Foco:	
  descobrir	
  defeitos	
  em	
  produtos	
  de	
  
           processos	
  e	
  padrões	
  necessários	
  para	
  atender	
  	
                 trabalho	
  gerados	
  ao	
  longo	
  do	
  projeto	
  e	
  eliminar	
  
           aos	
  requisitos	
                                                               suas	
  causas	
  
           • 	
  Forma	
  mais	
  usual:	
  auditorias	
  de	
  processo	
  e	
  de	
        • 	
  Forma	
  mais	
  usual:	
  testes	
  diversos	
  e	
  revisões	
  
           produto,	
  orientadas	
  por	
  checklists	
                                     por	
  pares	
  (simples,	
  inspeção,	
  walkthrough)	
  
           • 	
  UFliza	
  métodos,	
  procedimentos	
  e	
  padrões	
                       • 	
  UFliza	
  casos	
  de	
  teste,	
  checklists	
  e	
  revisões	
  
           para	
  comparar	
  preciso	
  com	
  realizado	
                                 para	
  comparar	
  o	
  esperado	
  com	
  o	
  obFdo	
  	
  
           • 	
  Assegurar	
  que	
  o	
  processo	
  empregado	
  é	
                       • 	
  Assegurar	
  que	
  os	
  produtos	
  de	
  trabalho	
  
           definido	
  e	
  apropriado	
                                                      gerados	
  estão	
  consistentes	
  e	
  alinhados	
  
           • 	
  É	
  orientada	
  a	
  processo,	
  visando	
  à	
  prevenção	
             • 	
  É	
  orientado	
  a	
  produto,	
  visando	
  à	
  detecção	
  e	
  
           de	
  defeitos	
                                                                  correção	
  de	
  defeitos	
  
           • 	
  Cuida	
  da	
  monitoração	
  e	
  melhoria	
  dos	
                        • Cuida	
  da	
  monitoração	
  e	
  da	
  consistência	
  dos	
  
           processos	
  e	
  padrões	
  empregados	
                                         produtos	
  em	
  relação	
  aos	
  requisitos	
  e	
  à	
  
           • 	
  Assegura	
  que	
  se	
  faz	
  da	
  maneira	
  correta	
  (diz	
  o	
     uFlização	
  
           que	
  faz	
  e	
  faz	
  que	
  diz)	
                                           • 	
  Assegurar	
  que	
  se	
  faz	
  as	
  coisas	
  certas	
  (faz	
  certo	
  
                                                                                             o	
  que	
  atende	
  a	
  necessidade	
  e	
  uso	
  pretendido)	
  




     www.qualister.com.br
Introdução

•      Garantia de qualidade: (Qualidade do processo X Qualidade do produto)


                    Qualidade	
  do	
  processo	
             Qualidade	
  do	
  produto	
  
           • ISO/IEC	
  12207	
                       • ISO/IEC	
  9126	
  
           • CMMI	
                                   • ISO/IEC	
  14598	
  
           • MPS.BR	
                                 • Etc	
  
           • Etc	
  




     www.qualister.com.br
Introdução

•  Verificação X Validação

•  Verificação: avalia se o software desenvolvido é aderente
   aos padrões previamente estabelecidos e está em
   conformidade com os seus requisitos.
     –  Estamos construindo o produto de maneira correta?


•  Validação: avalia se o software desenvolvido atende às
   expectativas do cliente quando colocado no ambiente para
   qual foi desenvolvido.
     –  Estamos construindo o produto certo?




www.qualister.com.br
Introdução

•  Análise estática X Análise dinâmica

     –  Análise estática, é uma técnica de verificação onde os artefatos são examinados
        estaticamente, ou seja, o programa não é executado. Por este motivo podem ser
        utilizadas em todas as fases do desenvolvimento do software. Porém essa técnica
        não demonstra que o software é útil operacionalmente, já que não pode testar
        algumas características do software como desempenho, confiabilidade, etc. Dentre
        as técnicas de verificação existentes, as revisões são as técnicas mais conhecidas.

     –  Análise dinâmica é uma técnica de validação que consiste em exercitar o
        programa usando dados reais de entrada e avaliar se as saídas obtidas estão de
        acordo com as saídas esperadas. Uma técnica dinâmica muito utilizada são os
        testes de software que são essenciais para descoberta de defeitos que só podem
        ser obtidas com a execução do programa.




www.qualister.com.br
Introdução

•  Propagação de defeitos entre as fases do ciclo de vida de
   desenvolvimento
    –  A partir dos diferentes modelos de ciclo de vida do software como
       o cascata, o iterativo, o incremental, entre outros, é importante
       entender a transição de uma atividade para outra, pois todos os
       ambientes produzem um documento ao final de cada fase,
       caracterizando o final de uma fase e o início da próxima. Cada
       um desses documentos produzidos em cada fase representa o
       software em um nível de abstração mais baixo, incluindo mais
       e mais detalhes, até alcançar a representação do código fonte
       na linguagem utilizada.




 www.qualister.com.br
Introdução

•  Propagação de defeitos entre as fases do ciclo de vida de
   desenvolvimento
    –  Informação perdida durante a transformação
    –  Informação transformada incorretamente
    –  Informação estranha introduzida
    –  Ocorrência de múltiplas transformações inconsistentes a partir de
       uma mesma fonte de informação




 www.qualister.com.br
Introdução

•  Retrabalho em projetos de desenvolvimento de software
     –  O esforço gasto por organizações de software com retrabalho pode variar
        em média entre 40% e 50% do esforço total do desenvolvimento de um
        projeto. Uma estimativa da distribuição do retrabalho pelas atividades de
        desenvolvimento de software está ilustrada na figura abaixo:




                       Distribuição do retrabalho pelas atividades de desenvolvimento de software.
                       Adaptado de (WHEELER et al., 1996).
www.qualister.com.br
Introdução

•  Custo relativo para a correção de um defeito
     –  o custo do retrabalho para correção de defeitos aumenta na medida em que o processo de
        desenvolvimento progride. Desta forma, iniciativas devem ser realizadas no sentido de
        encontrar e corrigir defeitos tão logo sejam introduzidos. Uma abordagem que tem se mostrado
        eficiente e de baixo custo para encontrar defeitos, reduzindo o retrabalho e melhorando a
        qualidade dos produtos é a revisão dos artefatos produzidos ao longo do processo de
        desenvolvimento de software.




www.qualister.com.br
Introdução

•       Revisões são filtros aplicados ao processo para evitar a propagação de
        defeitos
         –  Revisões e inspeções constituem “filtros” aplicados ao processo,
            detectando erros e evitando sua propagação. À primeira vista, eles
            podem parecer retardar o fluxo de desenvolvimento, porém na realidade
            eles removem problemas que precisam ser tratados, que só seriam
            evidenciados mais adiante e poderiam ser amplificados.




     www.qualister.com.br
Introdução

•  O que é revisão?

     –  São técnicas empregadas durante o processo de desenvolvimento de um
        software.

     –  Visam detectar antecipadamente falhas nos vários artefatos produzidos
        durante o processo de desenvolvimento.

     –  Segundo Wiegers, a implantação de processos de inspeção agregados
        aos processos de desenvolvimento de software podem consumir de 5 a
        15% do orçamento do projeto.




                       WIEGERS, Karl E., “Improve Quality Through Software Inspections”, 1999.
www.qualister.com.br
Introdução

•  Por que é necessário revisar um software?

     –  Errar é humano.

     –  É preciso garantir que os erros serão eliminados nas iniciais do ciclo de
        vida de desenvolvimento de software

     –  Aumentar a qualidade do produto.

     –  Quando uma pessoa revisa o trabalho da outra a identificação das falhas
        é muito maior.




www.qualister.com.br
Introdução

•       Distribuição das revisões nas fases do ciclo de vida de desenvolvimento
         –  LAITENBERGER e DEBAUD demonstram que, conforme representado na
            imagem abaixo, inspeções em código são as mais comuns. No entanto,
            sabe-se que os benefícios de inspeções são maiores para os artefatos
            produzidos no início do ciclo de desenvolvimento.




                            Laitenberger and J. Debaud, An encompassing life cycle-centric survey of software inspection,
                            Journal of Systems Software 50 (2000)
     www.qualister.com.br
Introdução

•  O que pode ser revisado?

     –  Muitos profissionais pensam que somente o código pode ser revisado. Na
        verdade vários outros artefatos do processo de desenvolvimento devem
        ser revisados

     –  Por exemplo:
            •    Especificações de Requisitos.
            •    Modelos da Análise.
            •    Modelos de Processos.
            •    Regras de Negócio.
            •    Casos de Teste
            •    Códigos
            •    Documentos do Projeto e Arquitetura




www.qualister.com.br
Introdução

•  Tipos de defeitos encontrados nos artefatos
 Defeito	
                        Descrição	
  
 Fato	
  incorreto	
              Algumas	
  informações	
  no	
  artefato	
  de	
  soaware	
  	
  contradizem	
  as	
  
                                  informações	
  presentes	
  na	
  especificação	
  de	
  requisitos	
  ou	
  o	
  
                                  conhecimento	
  geral	
  do	
  domínio	
  
 Omissão	
                        As	
  informações	
  necessárias	
  sobre	
  o	
  sistema	
  foram	
  omiFdos	
  do	
  
                                  artefato	
  de	
  soaware.	
  
 Inconsistência	
  	
             As	
  informações	
  em	
  uma	
  parte	
  do	
  artefato	
  de	
  soaware	
  estão	
  
                                  inconsistentes	
  com	
  outras	
  partes	
  no	
  artefato	
  de	
  soawares.	
  
 Ambigüidade	
  	
                As	
  informações	
  no	
  artefato	
  de	
  soaware	
  são	
  ambíguas,	
  isto	
  é,	
  é	
  
                                  possível	
  ao	
  desenvolvedor	
  interpretar	
  as	
  informações	
  de	
  diferentes	
  
                                  maneiras,	
  podendo	
  não	
  levar	
  a	
  uma	
  implementação	
  correta.	
  	
  
 Informação	
  estranha	
         As	
  informações	
  são	
  fornecidas,	
  mas	
  não	
  são	
  necessárias	
  ou	
  mesmo	
  
                                  usadas.	
  




                          Adaptado de IEEE (IEEE 830, 1998)
www.qualister.com.br
Introdução

•  Benefícios da revisão
     –  A revisão auxilia a detectar os problemas do produto no início do ciclo de
        desenvolvimento do software, evitando o alto custo de retrabalho na
        manutenção do sistema (BOEHM, 2001).
     –  Visão antecipada e melhor dos riscos e questões de qualidade do projeto.
     –  Os inspetores identificam a causa dos defeitos detectados na raiz,
        propondo modificações no processo de desenvolvimento do software e
        prevenindo a ocorrência de defeitos similares em projetos futuros
        (DOOLAN, 1992).
     –  Certeza que os requisitos corretos estão sendo implementados.




www.qualister.com.br
Introdução

•  Resultados diretos de uma revisão
    –  Uma revisão tem o objetivo de assegurar que:
            •  O artefato satisfaz as especificações funcionais e atributos de
               qualidade;
            •  O artefato atende às necessidades do cliente;
            •  O artefato está dentro dos padrões especificados;
            •  O artefato cumpre com as regulamentações, regras, políticas,
               planejamentos e procedimentos, identificando os possíveis
               desvios.




                       WIEGERS, Karl E., “Improve Quality Through Software Inspections”, 1999.
www.qualister.com.br
Introdução

•  Revisão X Inspeção

•  Inspeções são um tipo de revisão.

•  Uma revisão (também chamada de revisão técnica (Technical review))
   é uma leitura crítica de um artefato, onde:
      –    Nem sempre é necessário um plano formal
      –    Nem sempre e necessário o uso de regras de leitura pré-definidas
      –    Nem sempre é necessário uma pequena equipe com papéis pré-definidos
      –    Nem sempre os defeitos, dúvidas e melhorias são formalmente registrados


•  Uma inspeção é uma leitura crítica formal de um artefato, onde:
      –    É realizada de acordo com um plano formal
      –    A inspeção obedece regras de leitura pré-definidas
      –    Envolve uma pequena equipe com papéis pré-definidos
      –    Os defeitos, dúvidas e melhorias são formalmente registrados
      –    Os registros de defeitos geram métricas e indicadores para a melhoria do produto e processo



 www.qualister.com.br
Introdução

•  Eficiência das revisões


           Técnica	
                                        Eficiência	
  (%	
  defeitos	
  detectados)	
  
           Revisões	
  informais	
  de	
  arquitetura	
     25%	
  a	
  40%	
  
           Inspeções	
  formais	
  de	
  arquitetura	
      45%	
  a	
  65%	
  
           Revisões	
  informais	
  de	
  código	
          20%	
  a	
  35%	
  
           Inspeções	
  formais	
  de	
  código	
           45%	
  a	
  70%	
  




                         Caper Jones, Software Defect-Removal Efficiency. IEEE Computer, march 1996
www.qualister.com.br
Introdução

•  Contras
    –  Freqüentemente a qualidade da revisão depende da
       habilidade e comprometimento dos revisores

     –  Em alguns casos a qualidade dos Checklists determina
        a qualidade da revisão




www.qualister.com.br
Introdução


•  Modelos de maturidade




     Nível	
  2:	
  GaranFa	
  de	
  qualidade	
       Nível	
  F:	
  GaranFa	
  de	
  qualidade	
  
     Nível	
  3:	
  Validação	
  e	
  Verificação	
     Nível	
  D:	
  Validação	
  e	
  Verificação	
  




www.qualister.com.br
Introdução

•  MPS.BR: Processo de Verificação
   –  Resultados esperados
            •  VER1 - Produtos de trabalho a serem verificados são identificados
            •  VER2 - Uma estratégia de verificação é desenvolvida e implementada,
               estabelecendo cronograma, revisores envolvidos, métodos para
               verificação e qualquer material a ser utilizado na verificação
            •  VER3 - Critérios e procedimentos para verificação dos produtos de
               trabalho a serem verificados são identificados e um ambiente para
               verificação é estabelecido
            •  VER4 - Atividades de verificação, incluindo inspeções e revisões por
               pares, são executadas
            •  VER5 - Defeitos são identificados e registrados
            •  VER6 - Resultados de atividades de verificação são analisados e
               disponibilizados para as partes interessadas




www.qualister.com.br
Tópico




                 • Tipos de revisão



www.qualister.com.br
Tipos de revisão

•  Aspectos usados para classificar e caracterizar os
   tipos de revisão:
     –  Formalidade
         •  Técnicas sistemáticas (formal): o avaliador recebe um
            treinamento de como ler o artefato que será avaliado, definindo
            um procedimento formal no processo de revisão.
         •  Técnicas não sistemáticas (informal): o avaliador não
            recebe nenhum treinamento ou diretriz sobre como ler o
            artefato a ser inspecionado, não possuindo um procedimento
            claro a ser seguido na revisão.




www.qualister.com.br
Tipos de revisão

•  Aspectos usados para classificar e caracterizar os
   tipos de revisão:
     –  Foco
         •  Técnicas específicas: os avaliadores procuram tipos
            específicos de defeitos.
         •  Técnicas gerais: os avaliadores procuram por qualquer tipo de
            defeitos.




www.qualister.com.br
Tipos de revisão

•  Aspectos usados para classificar e caracterizar os
   tipos de revisão:
     –  Responsabilidade
         •  Técnicas distintas: cada avaliador tem a sua
            responsabilidade, sendo que a sobreposição de
            responsabilidades é pouca ou nula.
         •  Técnicas idênticas: não há divisão das responsabilidades
            entre os avaliadores que participam da revisão, todos têm as
            mesmas responsabilidades.




www.qualister.com.br
Tipos de revisão

•  Classificação das tipos de revisões
     –  Dependendo da formalidade da revisão podemos classificar as
        principais técnicas de revisão segundo a figura a abaixo (Wiegers,
        2002).

       Mais                                                                  Menos
      Formal                                                                 Formal




    Inspeção            Revisão   Walkthrough       Pair      Deskcheck   Revisão Ad hoc
                        em Time                 Programming




 www.qualister.com.br
Tipos de revisão

•  Classificação das tipos de revisões
     –  Dependendo da formalidade da revisão podemos classificar as
        principais técnicas de revisão segundo a figura a abaixo (Wiegers,
        2002).

       Mais                                                                  Menos
      Formal                                                                 Formal




    Inspeção            Revisão   Walkthrough       Pair      Deskcheck   Revisão Ad hoc
                        em Time                 Programming




 www.qualister.com.br
Tipos de revisão

•  Inspeção
     –  Inspeção é uma técnica desenvolvida por Fagan em 1972, enquanto
        desenvolvia seu trabalho na IBM, e foi criada visando aumentar a
        qualidade de software e aumentar a produtividade dos programadores.
        Esta técnica inicialmente centrou foco na localização de defeitos na
        estrutura e no código de programas.

     –  Posteriormente ampliada para aplicação em outros artefatos de
        software (como requisitos, especificações, arquitetura, planos de teste), A
        literatura aponta que o processo de inspeção pode detectar de 30% a
        90% dos erros existentes nos artefatos gerados num processo de
        desenvolvimento de software

     –  O processo de inspeção caracteriza-se pela utilização de uma técnica
        de leitura aplicável a um artefato, buscando a localização de erros ou
        defeitos no mesmo, segundo um critério pré-estabelecido.



www.qualister.com.br
Tipos de revisão

•  Inspeção
     –  É realizado em seis etapas consecutivas: Planejamento, Visão
        Geral, Preparação, Reunião de Inspeção, Retrabalho e Revisão;

     –  Compreende a definição de uma equipe de inspeção para verificar
        o artefato, que é composta pelo moderador, relator, inspetor e
        autor, etc;

     –  Os participantes que irão inspecionar o produto têm suas funções
        bem definidas durante o processo, cada qual cumprindo a sua
        tarefa;

     –  O resultado final é gerar um documento do que foi obtido na
        inspeção individual e nas discussões das reuniões das equipes.


www.qualister.com.br
Tipos de revisão

•  Inspeção
     –    O processo de inspeção compreende várias etapas, iniciando pela coleta dos artefatos a serem utilizados e/ou
          analisados, passando pela inspeção propriamente dita e chegando ao acompanhamento da correção dos defeitos
          encontrados. Os participantes desempenham diferentes papéis, dependendo da etapa em desenvolvimento, e também
          do grau de conhecimento e envolvimento no projeto.


                               Planeja	
          Apresen        Prepara
                                                                               Reunião	
     Retrabalho	
      Revisão	
  
                               mento	
             tação	
         ção	
  



                 •  Organizador

                 •  Moderador
                                                                     Processo                                        •  A serem
                                                                                                                     inspecionados
                 •  Autor de Artefato
                                               Papéis                  Inspeção	
               Artefatos            •  Para
                 •  Inspetor                                                                                         conduzirem a
                                                                                                                     inspeção
                 •  Secretário/Relator                         Técnicas de Leitura
                                             •  Leitura Ad-hoc
                                             •  Leitura Baseada em Checklists
                                             •  Leituras baseadas em defeitos (DBR - Defect-Based Reading)
                                             •  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading)
                                             •  Leituras baseadas em orientação a objetos (OORT’s -Object-Oriented Reading
                                             Techniques)


                           Laitenberger, Oliver e DeBaud, Jean-Marc. An Encompassing Life Cycle Centric Survey of Software
www.qualister.com.br       Inspection. The Journal of Systems and Software, vol 50, 2000
Tipos de revisão

•  Inspeção (processo)




www.qualister.com.br
Tipos de revisão

•  Inspeção (processo)
     –  FAGAN (1976) desenvolveu o processo tradicional de inspeção de software, uma forma
        detalhada de se realizar uma revisão. Neste processo, existem seis atividades principais:
            •    Planejamento. Um usuário, desempenhando o papel de organizador da inspeção, define o contexto da
                 inspeção (descrição da inspeção, técnica a ser utilizada na detecção de defeitos, artefato a ser
                 inspecionado, autor do documento, entre outros), seleciona os inspetores e distribui o material a ser
                 inspecionado.
            •    Apresentação (Visão geral). Os autores dos artefatos a serem inspecionados apresentam as
                 características destes. Esta fase pode ser omitida se os inspetores possuem conhecimento sobre o
                 projeto e os artefatos que devem ser inspecionados.
            •    Preparação. Os inspetores estudam os artefatos individualmente, e eventualmente fazem anotações
                 sobre estes produzindo uma lista de discrepâncias. O uso de técnicas de leitura pode facilitar a execução
                 desta tarefa.
            •    Reunião de inspeção. Uma reunião em equipe ocorre, envolvendo o moderador, os inspetores e os
                 autores do artefato. Discrepâncias são discutidas, e classificadas como defeito ou falso positivos. A
                 decisão final sobre a classificação de uma discrepância sendo discutida é do moderador. A solução dos
                 defeitos não é discutida durante a reunião, que não deve exceder duas horas, uma vez que após este
                 tempo a concentração e a capacidade de análise dos inspetores costuma reduzir drasticamente.
            •    Retrabalho. Nesta etapa, os defeitos detectados, devidamente documentados, são encaminhados ao
                 autor do produto que foi inspecionado, para que seja providenciada a remoção destes defeitos.
            •    Revisão. O material corrigido pelos autores é repassado para o moderador, que faz uma análise da
                 inspeção como um todo e re-avalia a qualidade do artefato inspecionado. Ele tem a liberdade de decidir
                 se uma nova inspeção deve ocorrer ou não.




www.qualister.com.br
Tipos de revisão

•  Inspeção (papéis)
     –  No processo de inspeção existem diferentes papéis a serem
        desempenhados pelos participantes:
            •  O organizador é aquele que se responsabiliza pela organização e
               condução do processo como um todo, coletando documentos e
               informações necessárias, selecionando os participantes de acordo com
               seu perfil, distribuindo os papéis, agendando encontros e acompanhando
               a correção dos defeitos.
            •  O moderador conduz a reunião de inspeção, e deve ter experiência na
               condução de trabalhos em equipe e mediar e resolver eventuais conflitos.
            •  O autor do artefato apresenta uma visão global do mesmo, antes da
               inspeção ser efetuada.
            •  O inspetor analisa os artefatos, seguindo uma técnica de leitura pré-
               definida, anotando os defeitos encontrados e repassando-os ao secretário.
            •  O secretário/relator reúne os defeitos encontrados pelos vários
               inspetores, consolida-os num documento e os repassa ao moderador.




www.qualister.com.br
Tipos de revisão

•  Inspeção (artefatos)
    –  Artefatos para serem inspecionados
            •  Qualquer artefato (produto de trabalho) produzido ao longo do ciclo de
               vida de desenvolvimento de software


     –  Artefatos para conduzir a inspeção
            •  Checklists de apoio a leitura
            •  Padrões, políticas, diretrizes e procedimentos aplicáveis
            •  Relatórios contendo o relato dos defeitos e divergências encontradas




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  As técnicas de leitura, são um conjunto concreto de instruções dadas ao
        leitor de como ler e o que olhar em um produto de software.

     –  Os inspetores aplicam as técnicas ao ler o documento, como por exemplo,
        no documento de requisitos ou de código, com o propósito de encontrar
        defeitos. Essas técnicas, o termo “leitura” é usado para enfatizar as
        semelhanças com os processos mentais, para tentar entender
        suficientemente qualquer texto.

     –  O objetivo das técnicas de leitura é criar um procedimento formal (ou um
        guia) a ser seguido pelo revisor auxiliando o processo de revisão.

     –  Técnicas de leitura em documentos foram elaboradas de forma a
        maximizar a descoberta de defeitos.


www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
    –  Tipos de técnicas de leitura
            •  Leitura Ad-hoc
            •  Leitura Baseada em Checklists
            •  Leitura Baseada em Cenários
                   –  Leituras Baseadas em Defeitos (DBR - Defect-Based Reading)
                   –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading)
            •  Leituras baseadas em Orientação a objetos (OORT’s -Object-
               Oriented Reading Techniques)




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
    –  Leitura Ad-hoc
            •  Leitura Ad Hoc é amplamente usada na prática. Os inspetores não
               são orientados e assim, a descoberta de defeitos depende da sorte e/
               ou da experiência/esforço do inspetor.

            •  A leitura Ad Hoc é classificada como não sistemática (os inspetores
               não recebem nenhuma orientação), geral (os inspetores devem
               conferir todos os aspectos do documento) e idêntica (não existe
               divisão de responsabilidades).




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Ad-hoc
            •  As qualidades a serem satisfeitas num documento de requisitos e que podem
               ser verificadas por esta técnica de leitura são:
                 –  Clareza (os requisitos estão bem determinados?)
                 –  Completude (estão presentes todos os requisitos necessários à
                    especificação do sistema?)
                 –  Consistência (os requisitos são consistentes com a visão geral do
                    sistema?)
                 –  Corretude (os requisitos descrevem as funcionalidades de maneira
                    correta?)
                 –  Funcionalidade (as funcionalidades descritas são necessárias e
                    suficientes para atingir os objetivos do sistema?)
                 –  Testabilidade (as funcionalidades permitem a verificação ou teste de
                    forma a mostrar que os requisitos são satisfeitos?)
                 –  Detalhamento (o nível de detalhe nos requisitos é suficiente para
                    fornecer uma base adequada ao desenho do sistema?)


www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Ad-hoc
            •  Desvantagens:
                   –  O número de defeitos encontrados fica dependente
                      exclusivamente da habilidade e experiência do inspetor
                   –  O resultado da inspeção pode variar bastante entre os inspetores
                   –  Os revisores não aprendem uns com os outros
                   –  O procedimento não é documentado, nenhum conhecimento é
                      transferido entre os inspetores e nem de uma inspeção para outra




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Baseada em Checklists
            •  Na técnica de leitura baseada em checklists, já consolidada na
               indústria, o conjunto de inspetores utiliza uma mesma lista para a
               leitura e análise do artefato. Esta lista relaciona os itens a serem
               verificados e o que deve ser entendido como defeito. Para cada
               tipo de artefato há uma lista específica (Documento de Requisitos,
               Cenários, Plano de Testes, Casos de Teste, Código, ...).

            •  Essas listas são adaptáveis, e podem levar em consideração os
               defeitos de maior ocorrência nos sistemas desenvolvidos
               naquele ambiente. Um dos efeitos colaterais desta abordagem é que,
               com o uso freqüente de inspeções,defeitos de tipos não
               caracterizados no checklist não serão detectados.




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Baseada em Checklists
            •  Esta técnica de inspeção, quando aplicada a artefatos de requisitos, pode
               detectar os seguintes tipos de defeitos:
                 –  sintaxe incorreta nos artefatos (as sentenças/termos não seguem a
                    sintaxe estabelecida)
                 –  informação inconsistente entre artefatos (símbolos definidos num artefato
                    e não referido em outros; símbolos utilizados mas não definidos;
                    descrição não condizente com o símbolo; sinônimos incorretos)
                 –  requisitos não funcionais não explicitados
                 –  informação ambígua (símbolos, termos ou sentenças que possam
                    provocar diferentes interpretações)
                 –  informação desnecessária (atores e/ou recursos em excesso nos
                    cenários)
                 –  ausência de informação (pré-condições, atores e recursos necessários
                    nos cenários)
                 –  exceções não previstas



www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Baseada em Checklists
            •  Desvantagens:
                –  Para que o checklist não seja muito específico, as perguntas
                   devem ser muito genéricas o que acaba abrindo margem para
                   interpretações

                   –  Os checklists tendem a ser muito longos o que torna o processo
                      tedioso e demorado

                   –  Todos os integrantes da equipe usam o mesmo checklist.




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Tipos de técnicas de leitura
            •  Leitura Baseada em Cenários
                   –  Leituras Baseadas em Defeitos (DBR - Defect-Based
                      Reading)
                   –  Leituras Baseadas em Perspectivas (PBR - Perspective-
                      Based Reading)




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras baseadas em defeitos (DBR - Defect-Based
        Reading)

            •  A leitura baseada em defeitos concentra-se em detectar classes
               específicas de defeitos. A principal idéia da leitura baseada em defeito
               é que diferentes revisores focalizam diferentes classes de defeito
               enquanto examinam o mesmo artefato.

            •  Para cada classe de defeito, há um cenário que consiste em um
               conjunto de perguntas que um revisor deve responder enquanto lê. Ao
               responder as perguntas, o revisor deve estar detectando defeitos
               daquela classe em particular.




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  A técnica de leitura baseada em perspectiva foi elaborada para a detecção de
               defeitos em documentos de requisitos escritos em linguagem natural (existem
               variações que permitem a revisão de código fonte).

            •  Um documento de requisitos bem escrito deve ser capaz de apoiar os
               diferentes usos que este pode ter: servir de base para o desenvolvimento
               do projeto do sistema, permitir a criação de casos de teste apropriados
               às funcionalidades envolvidas e garantir que o sistema como um todo
               tenha as funcionalidades esperadas pelos clientes e usuários. Assim,
               identificaríamos três diferentes “consumidores” deste artefato: projetistas,
               testadores e usuários do sistema.

                Requisitos	
        Projeto	
          Código	
     Testes	
     Uso	
  



                                 Documento	
  de	
  
                                   Requisitos	
  
www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  Nesse sentido, a técnica de leitura baseada em perspectivas assegura que
               cada revisor avaliará o requisito segundo uma dessas perspectivas ao criar
               um modelo físico com base nos requisitos.

            •  A combinação de diferentes perspectivas resulta em uma melhor cobertura do
               documento, sendo que uma inspeção baseada em perspectivas permite
               certificar que os requisitos tenham qualidade suficiente para apoiar todos os
               estágios posteriores necessários do desenvolvimento do software

            •  O objetivo não é duplicar o trabalho realizado em outros pontos do ciclo de
               desenvolvimento do software, mas criar representações que possam ser
               usadas como base para a criação futura de artefatos mais específicos e que
               possam revelar quão bem os requisitos conseguem apoiar as tarefas
               seguintes.



www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
         •  A versão atual da técnica de leitura baseada em perspectivas
            para documentos de requisitos define três perspectivas:
                   –  a) a perspectiva do usuário que exige que o inspetor desenvolva
                      casos de uso para representar a utilização do sistema;
                   –  b) a perspectiva do projetista que exige que o inspetor construa
                      um diagramas de projeto;
                   –  c) a perspectiva do testador que exige que o inspetor construa
                      casos de teste.

     –  Pode-se classificar a técnica de leitura baseada em perspectivas como sistemática
        (porque uma perspectiva orienta o inspetor com respeito a como e onde procurar
        defeitos), específica (porque o inspetor concentra-se em certos tipos de defeitos) e
        distinta (porque os inspetores com a equipe de inspeção têm responsabilidades
        distintas).


www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  A técnica de leitura baseada em perspectivas consiste em três partes
               principais: introdução, instruções e perguntas:
                   –  A introdução é um resumo que explica como o inspetor deverá usar a
                      técnica de leitura.
                   –  As instruções informam o inspetor como ele deve extrair a informação do
                      documento de requisitos. O inspetor deve construir um modelo físico do
                      sistema. Por exemplo, a perspectiva do testador orienta o inspetor na
                      criação de casos de testes para o documento de requisitos. Dessa forma,
                      os inspetores ganham um entendimento mais profundo do sistema e,
                      além disso, asseguram que eles estão bem preparados para as próximas
                      atividades.
                   –  As perguntas representam um questionário altamente especializado. O
                      questionário focaliza a atenção do inspetor para aspectos específicos do
                      seu trabalho, auxiliando a descobrir os defeitos.



www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  Exemplos de perguntas usadas na perspectiva do usuário:
                   –  Todas as funções necessárias para escrever os cenários estão
                      especificadas no documento de requisitos ou na especificação funcional?
                   –  As condições para inicializar os cenários estão claras e corretas?
                   –  As interfaces entre as funções estão bem definidas e compatíveis (por ex.,
                      as entradas de uma função) têm ligação com as saídas da função
                      anterior?
                   –  Você consegue chegar num estado do sistema que deve ser evitado (por
                      ex., por razões de segurança)?
                   –  Os cenários podem fornecer diferentes respostas dependendo de como a
                      especificação é interpretada?
                   –  A especificação funcional faz sentido de acordo com o que você conhece
                      sobre essa aplicação ou sobre o que foi especificado em uma descrição
                      geral?



www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  Exemplos de perguntas usadas na perspectiva do testador:
                   –  Você tem toda informação necessária para identificar o item a ser testado
                      e o critério de teste?
                   –  Você pode gerar um bom caso de teste para cada item, baseando-se no
                      critério?
                   –  Você tem certeza de que os testes gerados fornecerão os valores corretos
                      nas unidades corretas?
                   –  Existe outra interpretação dos requisitos de forma que o programador
                      possa estar se baseando nela?
                   –  Existe outro requisito para o qual você poderia gerar um caso de teste
                      similar, mas que poderia levar a um resultado contraditório?
                   –  A especificação funcional ou de requisitos faz sentido de acordo com
                      aquilo que você conhece sobre a aplicação ou a partir daquilo que está
                      descrito na especificação geral?



www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based
        Reading)
            •  Exemplos de perguntas usadas na perspectiva do projetista/desenvolvedor:
                   –  O requisito foi adequadamente traduzido em diagramas de projeto?
                   –  O modelo de dados reflete adequadamente os requisitos, seus atributos e relações?
                   –  A manutenibilidade foi levada em consideração?
                   –  São definidas interfaces para os módulos e para os elementos de sistema externos?
                   –  O projeto foi adequadamente traduzido em código?
                   –  Há erros de ortografia ou tipográficos no código?
                   –  As convenções da linguagem foram adequadamente utilizadas?
                   –  Existe concordância em relação aos padrões de codificação quanto ao estilo da
                      linguagem, comentários e cabeçalho de cada código fonte?
                   –  Há comentários incorretos ou ambíguos?
                   –  Os tipos de dados das variáveis são apropriados?
                   –  As constantes estão corretas?




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leituras baseadas em orientação a objetos (OORT’s -Object-
        Oriented Reading Techniques)
         •  As leituras baseadas em orientação a objetos representa uma
            família de técnicas de leitura que fornecem um procedimento
            para as revisões individuais dos diferentes diagramas e
            documentos de projetos OO.

            •  O processo de leitura baseada em orientação a objetos é
               realizado em duas dimensões: leitura horizontal e vertical.
               Na leitura horizontal, diferentes diagramas de arquitetura são
               revisados para assegurar que estejam consistentes entre si. Na
               leitura vertical, é necessária a revisão dos documentos de
               especificação de requisitos em relação aos diagramas de
               arquitetura para assegurar que estejam consistentes entre si.


www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Vertical:
            •  Quando lemos de um documento de mais alto nível como referência e o
               comparamos com um documento de mais baixo nível. Artefatos de níveis de
               abstração diferentes devem descrever o mesmo sistema




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Leitura Horizontal:
            •  Quando lemos de um documento do mesmo nível como referência e o
               comparamos com um documento também do mesmo nível. Assegurar que os
               artefatos de um mesmo nível de abstração representem o mesmo sistema e
               são consistentes entre si.




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
          –  Leitura vertical e horizontal
Artefatos	
  inspecionados	
                                                 Tipo	
                    ObjeAvo	
  
                                     	
                                      	
                        Verificar	
   se	
   um	
   diagrama	
   de	
   classes	
   para	
   um	
   sistema	
   descreve	
   as	
   classes	
   e	
   seus	
  
                                     	
                                      	
                        relacionamentos	
   de	
   forma	
   que	
   is	
   comportamentos	
   especificados	
   no	
   diagramas	
   de	
  
                                     	
                                      	
                        seqüência	
  estão	
  capturados	
  corretamente.	
  
             Diagramas	
  	
  de	
  Seqüência	
  x	
  Classe	
                      Horizontal	
       Para	
   fazer	
   isso,	
   primeiramente	
   deve-­‐se	
   verificar	
   se	
   as	
   classes	
   e	
   objetos	
   especificados	
   no	
  
                                                                                                       diagrama	
   de	
   seqüência	
   aparecem	
   no	
   diagrama	
   de	
   classe.	
   Assim,	
   será	
   verificado	
   se	
   o	
  
                                                                                                       diagrama	
   de	
   classes	
   descreve	
   os	
   relacionamentos,	
   comportamentos	
   e	
   condições	
   que	
  
                                                                                                       capturam	
  a	
  dinâmica	
  dos	
  serviços	
  como	
  estão	
  descritos	
  no	
  diagrama	
  de	
  seqüência.	
  
      Diagramas	
  de	
  Estado	
  x	
  Descrição	
  de	
  Classes	
                Horizontal	
       Verificar	
  se	
  as	
  classes	
  estão	
  descritas	
  de	
  forma	
  a	
  capturar	
  a	
  funcionalidade	
  especifica	
  
                                                                                                       pelo	
  diagrama	
  de	
  estados.	
  
             Diagrama	
  de	
  Seqüência	
  x	
  Estados	
                          Horizontal	
       Verificar	
  se	
  toda	
  transcrição	
  de	
  estado	
  para	
  um	
  objeto	
  pode	
  ser	
  realizada	
  pelas	
  
                                                                                                       mensagens	
  enviadas	
  e	
  recebidas	
  pelo	
  objeto.	
  
       Diagrama	
  de	
  Classes	
  x	
  Descrição	
  de	
  Classe	
                Horizontal	
       Verificar	
  se	
  as	
  descrição	
  detalhadas	
  das	
  classes	
  contêm	
  toda	
  a	
  informação	
  necessária	
  de	
  
                                                                                                       acordo	
  com	
  o	
  diagrama	
  de	
  classes	
  e	
  se	
  a	
  descrição	
  	
  da	
  classe	
  possui	
  um	
  senFdo	
  
                                                                                                       semânFco.	
  
   Descrições	
  de	
  Classe	
  x	
  Descrições	
  de	
  Requisitos	
               VerFcal	
  	
     Verificar	
  de	
  os	
  conceitos	
  e	
  serviços	
  descritos	
  pelos	
  requisitos	
  funcionais	
  estão	
  
                                                                                                       capturadas	
  apropriadamente	
  pela	
  descrições	
  das	
  classes.	
  
        Diagramas	
  de	
  Seqüência	
  x	
  Casos	
  de	
  Uso	
  	
                VerFcal	
  	
     Verificar	
  se	
  os	
  diagramas	
  de	
  seqüência	
  descrevem	
  uma	
  combinação	
  apropriada	
  de	
  
                                                                                                       objetos	
  e	
  mensagens	
  que	
  trabalham	
  em	
  conjunto	
  para	
  capturar	
  a	
  funcionalidade	
  
                                                                                                       descrita	
  pelo	
  caso	
  de	
  uso.	
  
   Diagrama	
  de	
  Estado	
  x	
  Descrição	
  de	
  Requisitos	
  e	
             VerFcal	
         Verificar	
  se	
  os	
  diagramas	
  de	
  estado	
  descrevem	
  apropriadamente	
  os	
  estados	
  dos	
  objetos	
  
                         Casos	
  de	
  Uso	
                                                          e	
  eventos	
  que	
  disparam	
  as	
  trocas	
  de	
  estado	
  conforme	
  descritos	
  nos	
  requisitos	
  e	
  casos	
  
                                                                                                       de	
  uso.	
  




 www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
    –  Este tipo de técnica de inspeção, pode detectar os
       seguintes tipos de defeitos:
            •  ausência de informação (definição de termos, unidades de medida,...)
            •  informação ambígua (vários significados possíveis para um único
               termo)
            •  informação inconsistente (quando existem requisitos em conflito)
            •  fatos incorretos (fato que não pode ser verdadeiro nas condições
               especificadas para o sistema)
            •  informação desnecessária (excesso de informação pode confundir os
               usuários)
            •  outros tipos de defeitos (defeitos não classificados em nenhum dos
               tipos anteriores, como por exemplo requisito em seção incorreta)




www.qualister.com.br
Tipos de revisão

•  Inspeção (técnicas de leitura)
     –  Dificuldades relatadas na literatura
            •  O moderador que lidera o processo de inspeção não foi bem treinado;
            •  As pessoas que compõem a equipe de inspeção não assumem as suas
               tarefas;
            •  Dificuldade dos participantes entenderem o uso das técnicas de inspeção
               durante o treinamento;
            •  O tempo disponível para detectar os defeitos é insuficiente, acarretando um
               projeto mal inspecionado;
            •  Falta de conhecimento por parte dos participantes com relação ao domínio do
               projeto;
            •  Para a maioria das organizações a produtividade ainda é vista e medida em
               termos de linhas de código, sendo que as inspeções requerem esforço sem
               produzir qualquer linha de código, não sendo vista como um benefício tangível;
            •  Para os desenvolvedores, é constrangedor avaliar o seu trabalho e deixá-lo ser
               avaliado por outros, pois pode comprometer a sua reputação profissional;




www.qualister.com.br
Tipos de revisão

•  Inspeção (workshop)
     –  Exercícios Práticos




www.qualister.com.br
Tópico




                 • Ferramentas


www.qualister.com.br
Ferramentas

•  Ferramentas de revisão em software são extremante
   complexas de serem construídas.

•  Normalmente usadas para gestão, apoio e
   armazenamento do resultado da revisão e gerar métricas
   e estatísticas.

•  Algumas ferramentas são usadas para a execução de
   análise estática automatizada do código.

•  Nos próximos slides apresentaremos e conheceremos
   diversos exemplos de ferramentas

www.qualister.com.br
Quer saber mais?

            Estes	
  são	
  apenas	
  alguns	
  slides	
  do	
  curso	
  de	
  
           revisão	
  e	
  inspeção	
  de	
  artefatos	
  (verificação)	
  
                           oferecido	
  pela	
  Qualister.	
  	
  
	
  

                   Para	
  maiores	
  informações	
  visite	
  nosso	
  site:	
  
	
  
               h@p://www.qualister.com.br/cursos	
  	
  
	
  


	
  

       www.qualister.com.br
Dúvidas?


•  Contato:
     –  Email: cristiano.caetano@qualister.com.br




www.qualister.com.br

Mais conteúdo relacionado

Mais procurados

Palestra sobre diabetes mellitus
Palestra sobre diabetes mellitusPalestra sobre diabetes mellitus
Palestra sobre diabetes mellitusadrianomedico
 
Policloropreno
PolicloroprenoPolicloropreno
PolicloroprenoBorrachas
 
Aula Síndrome Metabólica Paab VI
Aula Síndrome Metabólica Paab VIAula Síndrome Metabólica Paab VI
Aula Síndrome Metabólica Paab VIProfessor Robson
 
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12Development Workshop Angola
 
Biomarcadores na Nefrologia (e-book)
Biomarcadores na Nefrologia (e-book)Biomarcadores na Nefrologia (e-book)
Biomarcadores na Nefrologia (e-book)Arquivo-FClinico
 
Definição, classificação, composição e conservação aula 2
Definição, classificação, composição e conservação aula 2Definição, classificação, composição e conservação aula 2
Definição, classificação, composição e conservação aula 2UERGS
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresDalton Martins
 
Carta de apresentação para pesquisa de campo
Carta de apresentação para pesquisa de campoCarta de apresentação para pesquisa de campo
Carta de apresentação para pesquisa de campomatemagico10lula
 
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.PauloHenrique350
 
Leucemia Mielóide Crônica
Leucemia Mielóide CrônicaLeucemia Mielóide Crônica
Leucemia Mielóide CrônicaJoão Marcos
 

Mais procurados (20)

Palestra sobre diabetes mellitus
Palestra sobre diabetes mellitusPalestra sobre diabetes mellitus
Palestra sobre diabetes mellitus
 
Dislipidemia - MS
Dislipidemia - MSDislipidemia - MS
Dislipidemia - MS
 
01 aula sistema de qualidade
01 aula sistema de qualidade01 aula sistema de qualidade
01 aula sistema de qualidade
 
Policloropreno
PolicloroprenoPolicloropreno
Policloropreno
 
Anemia
AnemiaAnemia
Anemia
 
Trabalho anemia
Trabalho anemiaTrabalho anemia
Trabalho anemia
 
Aula Síndrome Metabólica Paab VI
Aula Síndrome Metabólica Paab VIAula Síndrome Metabólica Paab VI
Aula Síndrome Metabólica Paab VI
 
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12
Alexandra Simeaao - Anemia Falciforme, DW Debate 2014/12/12
 
Biomarcadores na Nefrologia (e-book)
Biomarcadores na Nefrologia (e-book)Biomarcadores na Nefrologia (e-book)
Biomarcadores na Nefrologia (e-book)
 
Definição, classificação, composição e conservação aula 2
Definição, classificação, composição e conservação aula 2Definição, classificação, composição e conservação aula 2
Definição, classificação, composição e conservação aula 2
 
Custos Logísticos no Brasil
Custos Logísticos no BrasilCustos Logísticos no Brasil
Custos Logísticos no Brasil
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
 
Carta de apresentação para pesquisa de campo
Carta de apresentação para pesquisa de campoCarta de apresentação para pesquisa de campo
Carta de apresentação para pesquisa de campo
 
Carboidratos
CarboidratosCarboidratos
Carboidratos
 
Aula bioquimica 1
Aula bioquimica 1Aula bioquimica 1
Aula bioquimica 1
 
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
 
Aula 4 ferro
Aula 4   ferroAula 4   ferro
Aula 4 ferro
 
Carboidratos
CarboidratosCarboidratos
Carboidratos
 
Leucemia Mielóide Crônica
Leucemia Mielóide CrônicaLeucemia Mielóide Crônica
Leucemia Mielóide Crônica
 

Destaque

Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterQualister
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeQualister
 
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
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Revisão por pares: Como funciona (?) e nossas pesquisas no tema
Revisão por pares: Como funciona (?) e nossas pesquisas no temaRevisão por pares: Como funciona (?) e nossas pesquisas no tema
Revisão por pares: Como funciona (?) e nossas pesquisas no temaVinícius M. Kern
 
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...Luana Lobão
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeisQualister
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareQualister
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
GED- Gerenciamento Eletrônico de Documentos
GED- Gerenciamento Eletrônico de DocumentosGED- Gerenciamento Eletrônico de Documentos
GED- Gerenciamento Eletrônico de DocumentosSoraya D. Fonseca
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 
Plano+de+gerenciamento+da+qualidade
Plano+de+gerenciamento+da+qualidadePlano+de+gerenciamento+da+qualidade
Plano+de+gerenciamento+da+qualidadeleopaiva217101
 
Projeto Guará - Implementação GED
Projeto Guará - Implementação GEDProjeto Guará - Implementação GED
Projeto Guará - Implementação GEDMarco Coghi
 
IMPLANTAÇÃO DE UM SISTEMA GED
IMPLANTAÇÃO DE UM SISTEMA GEDIMPLANTAÇÃO DE UM SISTEMA GED
IMPLANTAÇÃO DE UM SISTEMA GEDMarco Coghi
 
Manual de protocolo e expedição de documentos
Manual de protocolo e expedição de documentosManual de protocolo e expedição de documentos
Manual de protocolo e expedição de documentosLeimson Riverio Moreira
 
Perspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwarePerspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwareQualister
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDDQualister
 

Destaque (20)

Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter
 
Inspeções em desenvolvimento de software
Inspeções em desenvolvimento de softwareInspeções em desenvolvimento de software
Inspeções em desenvolvimento de software
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação Usabilidade
 
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
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Revisão por pares: Como funciona (?) e nossas pesquisas no tema
Revisão por pares: Como funciona (?) e nossas pesquisas no temaRevisão por pares: Como funciona (?) e nossas pesquisas no tema
Revisão por pares: Como funciona (?) e nossas pesquisas no tema
 
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...
Práticas e Técnicas de Testes Manuais e Automáticos para Aplicativo de TV Dig...
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeis
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
GED- Gerenciamento Eletrônico de Documentos
GED- Gerenciamento Eletrônico de DocumentosGED- Gerenciamento Eletrônico de Documentos
GED- Gerenciamento Eletrônico de Documentos
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 
Plano+de+gerenciamento+da+qualidade
Plano+de+gerenciamento+da+qualidadePlano+de+gerenciamento+da+qualidade
Plano+de+gerenciamento+da+qualidade
 
Projeto Guará - Implementação GED
Projeto Guará - Implementação GEDProjeto Guará - Implementação GED
Projeto Guará - Implementação GED
 
IMPLANTAÇÃO DE UM SISTEMA GED
IMPLANTAÇÃO DE UM SISTEMA GEDIMPLANTAÇÃO DE UM SISTEMA GED
IMPLANTAÇÃO DE UM SISTEMA GED
 
Manual de protocolo e expedição de documentos
Manual de protocolo e expedição de documentosManual de protocolo e expedição de documentos
Manual de protocolo e expedição de documentos
 
Perspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de softwarePerspectivas do profissional de teste e qualidade de software
Perspectivas do profissional de teste e qualidade de software
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDD
 

Semelhante a Qualidade de software e garantia

Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeterCristiano Caetano
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Cristiano Caetano
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeisQualister
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareCristiano Caetano
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de softwareQualister
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareCristiano Caetano
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurançaQualister
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade softwareCristiano Caetano
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
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 SoftwareCamilo Ribeiro
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testesCristiano Caetano
 
Processos De Software Ana Regina
Processos De Software Ana ReginaProcessos De Software Ana Regina
Processos De Software Ana ReginaCristina Cerdeiral
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de SoftwareWellington Oliveira
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 

Semelhante a Qualidade de software e garantia (20)

Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeter
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de software
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade software
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
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
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Processos De Software Ana Regina
Processos De Software Ana ReginaProcessos De Software Ana Regina
Processos De Software Ana Regina
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de Software
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 

Mais de Qualister

Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de softwareQualister
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitQualister
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de softwareQualister
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicarQualister
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterQualister
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxQualister
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraQualister
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasQualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemQualister
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingQualister
 

Mais de Qualister (20)

Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de software
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnit
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean ux
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
Agile testing
Agile testingAgile testing
Agile testing
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testing
 

Qualidade de software e garantia

  • 1. (48) 3285 5615 / 9645 5506 contato@qualister.com.br •  Terceirização de profissionais •  Consultoria de teste Revisão  e  inspeção  de   •  Avaliação de usabilidade artefatos  (verificação)   •  Automação de testes •  Testes de performance •  Treinamentos www.qualister.com.br
  • 2. Quer saber mais? Estes  são  apenas  alguns  slides  do  curso  de   revisão  e  inspeção  de  artefatos  (verificação)   oferecido  pela  Qualister.       Para  maiores  informações  visite  nosso  site:     h@p://www.qualister.com.br/cursos         www.qualister.com.br
  • 3. Direitos autorais Importante er produção de qualqu proibida a cópia e re –  É resentação incluindo, parte do conteúdo desta ap , imagens, gráficos e mas não limitado a, textos é protegida pelas leis tabela s. Esta apresentação no opriedade de Cristia de Copyright e são pr e Treinamento Caetano e Qualister Consultoria LTDA. r, copiar, guardar em –  Não é permitido modifica ugar, vender ou banco de dados público, al apresentação, republicar qualquer parte desta o explícita do autor. sem prévia permissã o deste material, –  Quando ho uver permissão de us e bibliográfica conform é ob rigatória a referência as normas vigentes. www.qualister.com.br
  • 4. Instrutor Cristiano Caetano Email: cristiano.caetano@qualister.com.br Apresentações: slideshare.net/cristianocaetano Blog: cristianocaetano.wordpress.com É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br). www.qualister.com.br
  • 5. Twitter twitter.com/c_caetano www.qualister.com.br
  • 6. Sobre a Qualister •  Fundação: 2007. •  Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união de profissionais qualificados e certificados na área de testes e qualidade de software, com o objetivo de integrar, implementar e implantar soluções com base nas melhores práticas do mercado e normas internacionais. •  Colaboradores: A Qualister é composta por colaboradores pós-graduados e certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de Tecnologia da Informação. •  Área de atuação: A Qualister é uma empresa especializada em serviços de qualidade e teste de software. Tem como linhas de atuação consultoria em teste/ qualidade de software, outsourcing (terceirização dos serviços através da alocação de profissionais) e treinamentos. www.qualister.com.br
  • 7. Parcerias internacionais   Soluções para automação, profilling e gestão de testes             Soluções para testes de performance           Soluções de apoio a avaliação de usabilidade       www.qualister.com.br
  • 8. Tópico • Introdução www.qualister.com.br
  • 9. Introdução •  Qualidade de software –  Q qualidade de software é a conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido (PRESSMAN). –  Esta definição enfatiza, três pontos chave: os requisitos de software, padrões especificados e um conjunto de requisitos implícitos. Os requisitos de software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade. Em resumo, a visão de Pressman pode ser enumerada da seguinte forma: •  1. Os requisitos de software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade; •  2. Padrões especificados definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo o qual o software passa pelo trabalho de engenharia. Se os critérios não forem seguidos, o resultado quase que seguramente será a falta de qualidade; •  3. Há um conjunto de características implícitas que freqüentemente não são mencionadas (usabilidade, manutebilidade, testabilidade, etc). Se o software se adequar a seus requisitos explícitos, mas deixar de cumprir as suas características implícitas, a qualidade do software será suspeita. www.qualister.com.br
  • 10. Introdução •  Garantia de qualidade: (Qualidade do processo X Qualidade do produto) Qualidade  do  processo   Qualidade  do  produto   •   Foco:  garanFr  que  o  projeto  empresa  todos  os   •   Foco:  descobrir  defeitos  em  produtos  de   processos  e  padrões  necessários  para  atender     trabalho  gerados  ao  longo  do  projeto  e  eliminar   aos  requisitos   suas  causas   •   Forma  mais  usual:  auditorias  de  processo  e  de   •   Forma  mais  usual:  testes  diversos  e  revisões   produto,  orientadas  por  checklists   por  pares  (simples,  inspeção,  walkthrough)   •   UFliza  métodos,  procedimentos  e  padrões   •   UFliza  casos  de  teste,  checklists  e  revisões   para  comparar  preciso  com  realizado   para  comparar  o  esperado  com  o  obFdo     •   Assegurar  que  o  processo  empregado  é   •   Assegurar  que  os  produtos  de  trabalho   definido  e  apropriado   gerados  estão  consistentes  e  alinhados   •   É  orientada  a  processo,  visando  à  prevenção   •   É  orientado  a  produto,  visando  à  detecção  e   de  defeitos   correção  de  defeitos   •   Cuida  da  monitoração  e  melhoria  dos   • Cuida  da  monitoração  e  da  consistência  dos   processos  e  padrões  empregados   produtos  em  relação  aos  requisitos  e  à   •   Assegura  que  se  faz  da  maneira  correta  (diz  o   uFlização   que  faz  e  faz  que  diz)   •   Assegurar  que  se  faz  as  coisas  certas  (faz  certo   o  que  atende  a  necessidade  e  uso  pretendido)   www.qualister.com.br
  • 11. Introdução •  Garantia de qualidade: (Qualidade do processo X Qualidade do produto) Qualidade  do  processo   Qualidade  do  produto   • ISO/IEC  12207   • ISO/IEC  9126   • CMMI   • ISO/IEC  14598   • MPS.BR   • Etc   • Etc   www.qualister.com.br
  • 12. Introdução •  Verificação X Validação •  Verificação: avalia se o software desenvolvido é aderente aos padrões previamente estabelecidos e está em conformidade com os seus requisitos. –  Estamos construindo o produto de maneira correta? •  Validação: avalia se o software desenvolvido atende às expectativas do cliente quando colocado no ambiente para qual foi desenvolvido. –  Estamos construindo o produto certo? www.qualister.com.br
  • 13. Introdução •  Análise estática X Análise dinâmica –  Análise estática, é uma técnica de verificação onde os artefatos são examinados estaticamente, ou seja, o programa não é executado. Por este motivo podem ser utilizadas em todas as fases do desenvolvimento do software. Porém essa técnica não demonstra que o software é útil operacionalmente, já que não pode testar algumas características do software como desempenho, confiabilidade, etc. Dentre as técnicas de verificação existentes, as revisões são as técnicas mais conhecidas. –  Análise dinâmica é uma técnica de validação que consiste em exercitar o programa usando dados reais de entrada e avaliar se as saídas obtidas estão de acordo com as saídas esperadas. Uma técnica dinâmica muito utilizada são os testes de software que são essenciais para descoberta de defeitos que só podem ser obtidas com a execução do programa. www.qualister.com.br
  • 14. Introdução •  Propagação de defeitos entre as fases do ciclo de vida de desenvolvimento –  A partir dos diferentes modelos de ciclo de vida do software como o cascata, o iterativo, o incremental, entre outros, é importante entender a transição de uma atividade para outra, pois todos os ambientes produzem um documento ao final de cada fase, caracterizando o final de uma fase e o início da próxima. Cada um desses documentos produzidos em cada fase representa o software em um nível de abstração mais baixo, incluindo mais e mais detalhes, até alcançar a representação do código fonte na linguagem utilizada. www.qualister.com.br
  • 15. Introdução •  Propagação de defeitos entre as fases do ciclo de vida de desenvolvimento –  Informação perdida durante a transformação –  Informação transformada incorretamente –  Informação estranha introduzida –  Ocorrência de múltiplas transformações inconsistentes a partir de uma mesma fonte de informação www.qualister.com.br
  • 16. Introdução •  Retrabalho em projetos de desenvolvimento de software –  O esforço gasto por organizações de software com retrabalho pode variar em média entre 40% e 50% do esforço total do desenvolvimento de um projeto. Uma estimativa da distribuição do retrabalho pelas atividades de desenvolvimento de software está ilustrada na figura abaixo: Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996). www.qualister.com.br
  • 17. Introdução •  Custo relativo para a correção de um defeito –  o custo do retrabalho para correção de defeitos aumenta na medida em que o processo de desenvolvimento progride. Desta forma, iniciativas devem ser realizadas no sentido de encontrar e corrigir defeitos tão logo sejam introduzidos. Uma abordagem que tem se mostrado eficiente e de baixo custo para encontrar defeitos, reduzindo o retrabalho e melhorando a qualidade dos produtos é a revisão dos artefatos produzidos ao longo do processo de desenvolvimento de software. www.qualister.com.br
  • 18. Introdução •  Revisões são filtros aplicados ao processo para evitar a propagação de defeitos –  Revisões e inspeções constituem “filtros” aplicados ao processo, detectando erros e evitando sua propagação. À primeira vista, eles podem parecer retardar o fluxo de desenvolvimento, porém na realidade eles removem problemas que precisam ser tratados, que só seriam evidenciados mais adiante e poderiam ser amplificados. www.qualister.com.br
  • 19. Introdução •  O que é revisão? –  São técnicas empregadas durante o processo de desenvolvimento de um software. –  Visam detectar antecipadamente falhas nos vários artefatos produzidos durante o processo de desenvolvimento. –  Segundo Wiegers, a implantação de processos de inspeção agregados aos processos de desenvolvimento de software podem consumir de 5 a 15% do orçamento do projeto. WIEGERS, Karl E., “Improve Quality Through Software Inspections”, 1999. www.qualister.com.br
  • 20. Introdução •  Por que é necessário revisar um software? –  Errar é humano. –  É preciso garantir que os erros serão eliminados nas iniciais do ciclo de vida de desenvolvimento de software –  Aumentar a qualidade do produto. –  Quando uma pessoa revisa o trabalho da outra a identificação das falhas é muito maior. www.qualister.com.br
  • 21. Introdução •  Distribuição das revisões nas fases do ciclo de vida de desenvolvimento –  LAITENBERGER e DEBAUD demonstram que, conforme representado na imagem abaixo, inspeções em código são as mais comuns. No entanto, sabe-se que os benefícios de inspeções são maiores para os artefatos produzidos no início do ciclo de desenvolvimento. Laitenberger and J. Debaud, An encompassing life cycle-centric survey of software inspection, Journal of Systems Software 50 (2000) www.qualister.com.br
  • 22. Introdução •  O que pode ser revisado? –  Muitos profissionais pensam que somente o código pode ser revisado. Na verdade vários outros artefatos do processo de desenvolvimento devem ser revisados –  Por exemplo: •  Especificações de Requisitos. •  Modelos da Análise. •  Modelos de Processos. •  Regras de Negócio. •  Casos de Teste •  Códigos •  Documentos do Projeto e Arquitetura www.qualister.com.br
  • 23. Introdução •  Tipos de defeitos encontrados nos artefatos Defeito   Descrição   Fato  incorreto   Algumas  informações  no  artefato  de  soaware    contradizem  as   informações  presentes  na  especificação  de  requisitos  ou  o   conhecimento  geral  do  domínio   Omissão   As  informações  necessárias  sobre  o  sistema  foram  omiFdos  do   artefato  de  soaware.   Inconsistência     As  informações  em  uma  parte  do  artefato  de  soaware  estão   inconsistentes  com  outras  partes  no  artefato  de  soawares.   Ambigüidade     As  informações  no  artefato  de  soaware  são  ambíguas,  isto  é,  é   possível  ao  desenvolvedor  interpretar  as  informações  de  diferentes   maneiras,  podendo  não  levar  a  uma  implementação  correta.     Informação  estranha   As  informações  são  fornecidas,  mas  não  são  necessárias  ou  mesmo   usadas.   Adaptado de IEEE (IEEE 830, 1998) www.qualister.com.br
  • 24. Introdução •  Benefícios da revisão –  A revisão auxilia a detectar os problemas do produto no início do ciclo de desenvolvimento do software, evitando o alto custo de retrabalho na manutenção do sistema (BOEHM, 2001). –  Visão antecipada e melhor dos riscos e questões de qualidade do projeto. –  Os inspetores identificam a causa dos defeitos detectados na raiz, propondo modificações no processo de desenvolvimento do software e prevenindo a ocorrência de defeitos similares em projetos futuros (DOOLAN, 1992). –  Certeza que os requisitos corretos estão sendo implementados. www.qualister.com.br
  • 25. Introdução •  Resultados diretos de uma revisão –  Uma revisão tem o objetivo de assegurar que: •  O artefato satisfaz as especificações funcionais e atributos de qualidade; •  O artefato atende às necessidades do cliente; •  O artefato está dentro dos padrões especificados; •  O artefato cumpre com as regulamentações, regras, políticas, planejamentos e procedimentos, identificando os possíveis desvios. WIEGERS, Karl E., “Improve Quality Through Software Inspections”, 1999. www.qualister.com.br
  • 26. Introdução •  Revisão X Inspeção •  Inspeções são um tipo de revisão. •  Uma revisão (também chamada de revisão técnica (Technical review)) é uma leitura crítica de um artefato, onde: –  Nem sempre é necessário um plano formal –  Nem sempre e necessário o uso de regras de leitura pré-definidas –  Nem sempre é necessário uma pequena equipe com papéis pré-definidos –  Nem sempre os defeitos, dúvidas e melhorias são formalmente registrados •  Uma inspeção é uma leitura crítica formal de um artefato, onde: –  É realizada de acordo com um plano formal –  A inspeção obedece regras de leitura pré-definidas –  Envolve uma pequena equipe com papéis pré-definidos –  Os defeitos, dúvidas e melhorias são formalmente registrados –  Os registros de defeitos geram métricas e indicadores para a melhoria do produto e processo www.qualister.com.br
  • 27. Introdução •  Eficiência das revisões Técnica   Eficiência  (%  defeitos  detectados)   Revisões  informais  de  arquitetura   25%  a  40%   Inspeções  formais  de  arquitetura   45%  a  65%   Revisões  informais  de  código   20%  a  35%   Inspeções  formais  de  código   45%  a  70%   Caper Jones, Software Defect-Removal Efficiency. IEEE Computer, march 1996 www.qualister.com.br
  • 28. Introdução •  Contras –  Freqüentemente a qualidade da revisão depende da habilidade e comprometimento dos revisores –  Em alguns casos a qualidade dos Checklists determina a qualidade da revisão www.qualister.com.br
  • 29. Introdução •  Modelos de maturidade Nível  2:  GaranFa  de  qualidade   Nível  F:  GaranFa  de  qualidade   Nível  3:  Validação  e  Verificação   Nível  D:  Validação  e  Verificação   www.qualister.com.br
  • 30. Introdução •  MPS.BR: Processo de Verificação –  Resultados esperados •  VER1 - Produtos de trabalho a serem verificados são identificados •  VER2 - Uma estratégia de verificação é desenvolvida e implementada, estabelecendo cronograma, revisores envolvidos, métodos para verificação e qualquer material a ser utilizado na verificação •  VER3 - Critérios e procedimentos para verificação dos produtos de trabalho a serem verificados são identificados e um ambiente para verificação é estabelecido •  VER4 - Atividades de verificação, incluindo inspeções e revisões por pares, são executadas •  VER5 - Defeitos são identificados e registrados •  VER6 - Resultados de atividades de verificação são analisados e disponibilizados para as partes interessadas www.qualister.com.br
  • 31. Tópico • Tipos de revisão www.qualister.com.br
  • 32. Tipos de revisão •  Aspectos usados para classificar e caracterizar os tipos de revisão: –  Formalidade •  Técnicas sistemáticas (formal): o avaliador recebe um treinamento de como ler o artefato que será avaliado, definindo um procedimento formal no processo de revisão. •  Técnicas não sistemáticas (informal): o avaliador não recebe nenhum treinamento ou diretriz sobre como ler o artefato a ser inspecionado, não possuindo um procedimento claro a ser seguido na revisão. www.qualister.com.br
  • 33. Tipos de revisão •  Aspectos usados para classificar e caracterizar os tipos de revisão: –  Foco •  Técnicas específicas: os avaliadores procuram tipos específicos de defeitos. •  Técnicas gerais: os avaliadores procuram por qualquer tipo de defeitos. www.qualister.com.br
  • 34. Tipos de revisão •  Aspectos usados para classificar e caracterizar os tipos de revisão: –  Responsabilidade •  Técnicas distintas: cada avaliador tem a sua responsabilidade, sendo que a sobreposição de responsabilidades é pouca ou nula. •  Técnicas idênticas: não há divisão das responsabilidades entre os avaliadores que participam da revisão, todos têm as mesmas responsabilidades. www.qualister.com.br
  • 35. Tipos de revisão •  Classificação das tipos de revisões –  Dependendo da formalidade da revisão podemos classificar as principais técnicas de revisão segundo a figura a abaixo (Wiegers, 2002). Mais Menos Formal Formal Inspeção Revisão Walkthrough Pair Deskcheck Revisão Ad hoc em Time Programming www.qualister.com.br
  • 36. Tipos de revisão •  Classificação das tipos de revisões –  Dependendo da formalidade da revisão podemos classificar as principais técnicas de revisão segundo a figura a abaixo (Wiegers, 2002). Mais Menos Formal Formal Inspeção Revisão Walkthrough Pair Deskcheck Revisão Ad hoc em Time Programming www.qualister.com.br
  • 37. Tipos de revisão •  Inspeção –  Inspeção é uma técnica desenvolvida por Fagan em 1972, enquanto desenvolvia seu trabalho na IBM, e foi criada visando aumentar a qualidade de software e aumentar a produtividade dos programadores. Esta técnica inicialmente centrou foco na localização de defeitos na estrutura e no código de programas. –  Posteriormente ampliada para aplicação em outros artefatos de software (como requisitos, especificações, arquitetura, planos de teste), A literatura aponta que o processo de inspeção pode detectar de 30% a 90% dos erros existentes nos artefatos gerados num processo de desenvolvimento de software –  O processo de inspeção caracteriza-se pela utilização de uma técnica de leitura aplicável a um artefato, buscando a localização de erros ou defeitos no mesmo, segundo um critério pré-estabelecido. www.qualister.com.br
  • 38. Tipos de revisão •  Inspeção –  É realizado em seis etapas consecutivas: Planejamento, Visão Geral, Preparação, Reunião de Inspeção, Retrabalho e Revisão; –  Compreende a definição de uma equipe de inspeção para verificar o artefato, que é composta pelo moderador, relator, inspetor e autor, etc; –  Os participantes que irão inspecionar o produto têm suas funções bem definidas durante o processo, cada qual cumprindo a sua tarefa; –  O resultado final é gerar um documento do que foi obtido na inspeção individual e nas discussões das reuniões das equipes. www.qualister.com.br
  • 39. Tipos de revisão •  Inspeção –  O processo de inspeção compreende várias etapas, iniciando pela coleta dos artefatos a serem utilizados e/ou analisados, passando pela inspeção propriamente dita e chegando ao acompanhamento da correção dos defeitos encontrados. Os participantes desempenham diferentes papéis, dependendo da etapa em desenvolvimento, e também do grau de conhecimento e envolvimento no projeto. Planeja   Apresen Prepara Reunião   Retrabalho   Revisão   mento   tação   ção   •  Organizador •  Moderador Processo •  A serem inspecionados •  Autor de Artefato Papéis Inspeção   Artefatos •  Para •  Inspetor conduzirem a inspeção •  Secretário/Relator Técnicas de Leitura •  Leitura Ad-hoc •  Leitura Baseada em Checklists •  Leituras baseadas em defeitos (DBR - Defect-Based Reading) •  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Leituras baseadas em orientação a objetos (OORT’s -Object-Oriented Reading Techniques) Laitenberger, Oliver e DeBaud, Jean-Marc. An Encompassing Life Cycle Centric Survey of Software www.qualister.com.br Inspection. The Journal of Systems and Software, vol 50, 2000
  • 40. Tipos de revisão •  Inspeção (processo) www.qualister.com.br
  • 41. Tipos de revisão •  Inspeção (processo) –  FAGAN (1976) desenvolveu o processo tradicional de inspeção de software, uma forma detalhada de se realizar uma revisão. Neste processo, existem seis atividades principais: •  Planejamento. Um usuário, desempenhando o papel de organizador da inspeção, define o contexto da inspeção (descrição da inspeção, técnica a ser utilizada na detecção de defeitos, artefato a ser inspecionado, autor do documento, entre outros), seleciona os inspetores e distribui o material a ser inspecionado. •  Apresentação (Visão geral). Os autores dos artefatos a serem inspecionados apresentam as características destes. Esta fase pode ser omitida se os inspetores possuem conhecimento sobre o projeto e os artefatos que devem ser inspecionados. •  Preparação. Os inspetores estudam os artefatos individualmente, e eventualmente fazem anotações sobre estes produzindo uma lista de discrepâncias. O uso de técnicas de leitura pode facilitar a execução desta tarefa. •  Reunião de inspeção. Uma reunião em equipe ocorre, envolvendo o moderador, os inspetores e os autores do artefato. Discrepâncias são discutidas, e classificadas como defeito ou falso positivos. A decisão final sobre a classificação de uma discrepância sendo discutida é do moderador. A solução dos defeitos não é discutida durante a reunião, que não deve exceder duas horas, uma vez que após este tempo a concentração e a capacidade de análise dos inspetores costuma reduzir drasticamente. •  Retrabalho. Nesta etapa, os defeitos detectados, devidamente documentados, são encaminhados ao autor do produto que foi inspecionado, para que seja providenciada a remoção destes defeitos. •  Revisão. O material corrigido pelos autores é repassado para o moderador, que faz uma análise da inspeção como um todo e re-avalia a qualidade do artefato inspecionado. Ele tem a liberdade de decidir se uma nova inspeção deve ocorrer ou não. www.qualister.com.br
  • 42. Tipos de revisão •  Inspeção (papéis) –  No processo de inspeção existem diferentes papéis a serem desempenhados pelos participantes: •  O organizador é aquele que se responsabiliza pela organização e condução do processo como um todo, coletando documentos e informações necessárias, selecionando os participantes de acordo com seu perfil, distribuindo os papéis, agendando encontros e acompanhando a correção dos defeitos. •  O moderador conduz a reunião de inspeção, e deve ter experiência na condução de trabalhos em equipe e mediar e resolver eventuais conflitos. •  O autor do artefato apresenta uma visão global do mesmo, antes da inspeção ser efetuada. •  O inspetor analisa os artefatos, seguindo uma técnica de leitura pré- definida, anotando os defeitos encontrados e repassando-os ao secretário. •  O secretário/relator reúne os defeitos encontrados pelos vários inspetores, consolida-os num documento e os repassa ao moderador. www.qualister.com.br
  • 43. Tipos de revisão •  Inspeção (artefatos) –  Artefatos para serem inspecionados •  Qualquer artefato (produto de trabalho) produzido ao longo do ciclo de vida de desenvolvimento de software –  Artefatos para conduzir a inspeção •  Checklists de apoio a leitura •  Padrões, políticas, diretrizes e procedimentos aplicáveis •  Relatórios contendo o relato dos defeitos e divergências encontradas www.qualister.com.br
  • 44. Tipos de revisão •  Inspeção (técnicas de leitura) –  As técnicas de leitura, são um conjunto concreto de instruções dadas ao leitor de como ler e o que olhar em um produto de software. –  Os inspetores aplicam as técnicas ao ler o documento, como por exemplo, no documento de requisitos ou de código, com o propósito de encontrar defeitos. Essas técnicas, o termo “leitura” é usado para enfatizar as semelhanças com os processos mentais, para tentar entender suficientemente qualquer texto. –  O objetivo das técnicas de leitura é criar um procedimento formal (ou um guia) a ser seguido pelo revisor auxiliando o processo de revisão. –  Técnicas de leitura em documentos foram elaboradas de forma a maximizar a descoberta de defeitos. www.qualister.com.br
  • 45. Tipos de revisão •  Inspeção (técnicas de leitura) –  Tipos de técnicas de leitura •  Leitura Ad-hoc •  Leitura Baseada em Checklists •  Leitura Baseada em Cenários –  Leituras Baseadas em Defeitos (DBR - Defect-Based Reading) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Leituras baseadas em Orientação a objetos (OORT’s -Object- Oriented Reading Techniques) www.qualister.com.br
  • 46. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Ad-hoc •  Leitura Ad Hoc é amplamente usada na prática. Os inspetores não são orientados e assim, a descoberta de defeitos depende da sorte e/ ou da experiência/esforço do inspetor. •  A leitura Ad Hoc é classificada como não sistemática (os inspetores não recebem nenhuma orientação), geral (os inspetores devem conferir todos os aspectos do documento) e idêntica (não existe divisão de responsabilidades). www.qualister.com.br
  • 47. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Ad-hoc •  As qualidades a serem satisfeitas num documento de requisitos e que podem ser verificadas por esta técnica de leitura são: –  Clareza (os requisitos estão bem determinados?) –  Completude (estão presentes todos os requisitos necessários à especificação do sistema?) –  Consistência (os requisitos são consistentes com a visão geral do sistema?) –  Corretude (os requisitos descrevem as funcionalidades de maneira correta?) –  Funcionalidade (as funcionalidades descritas são necessárias e suficientes para atingir os objetivos do sistema?) –  Testabilidade (as funcionalidades permitem a verificação ou teste de forma a mostrar que os requisitos são satisfeitos?) –  Detalhamento (o nível de detalhe nos requisitos é suficiente para fornecer uma base adequada ao desenho do sistema?) www.qualister.com.br
  • 48. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Ad-hoc •  Desvantagens: –  O número de defeitos encontrados fica dependente exclusivamente da habilidade e experiência do inspetor –  O resultado da inspeção pode variar bastante entre os inspetores –  Os revisores não aprendem uns com os outros –  O procedimento não é documentado, nenhum conhecimento é transferido entre os inspetores e nem de uma inspeção para outra www.qualister.com.br
  • 49. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Baseada em Checklists •  Na técnica de leitura baseada em checklists, já consolidada na indústria, o conjunto de inspetores utiliza uma mesma lista para a leitura e análise do artefato. Esta lista relaciona os itens a serem verificados e o que deve ser entendido como defeito. Para cada tipo de artefato há uma lista específica (Documento de Requisitos, Cenários, Plano de Testes, Casos de Teste, Código, ...). •  Essas listas são adaptáveis, e podem levar em consideração os defeitos de maior ocorrência nos sistemas desenvolvidos naquele ambiente. Um dos efeitos colaterais desta abordagem é que, com o uso freqüente de inspeções,defeitos de tipos não caracterizados no checklist não serão detectados. www.qualister.com.br
  • 50. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Baseada em Checklists •  Esta técnica de inspeção, quando aplicada a artefatos de requisitos, pode detectar os seguintes tipos de defeitos: –  sintaxe incorreta nos artefatos (as sentenças/termos não seguem a sintaxe estabelecida) –  informação inconsistente entre artefatos (símbolos definidos num artefato e não referido em outros; símbolos utilizados mas não definidos; descrição não condizente com o símbolo; sinônimos incorretos) –  requisitos não funcionais não explicitados –  informação ambígua (símbolos, termos ou sentenças que possam provocar diferentes interpretações) –  informação desnecessária (atores e/ou recursos em excesso nos cenários) –  ausência de informação (pré-condições, atores e recursos necessários nos cenários) –  exceções não previstas www.qualister.com.br
  • 51. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Baseada em Checklists •  Desvantagens: –  Para que o checklist não seja muito específico, as perguntas devem ser muito genéricas o que acaba abrindo margem para interpretações –  Os checklists tendem a ser muito longos o que torna o processo tedioso e demorado –  Todos os integrantes da equipe usam o mesmo checklist. www.qualister.com.br
  • 52. Tipos de revisão •  Inspeção (técnicas de leitura) –  Tipos de técnicas de leitura •  Leitura Baseada em Cenários –  Leituras Baseadas em Defeitos (DBR - Defect-Based Reading) –  Leituras Baseadas em Perspectivas (PBR - Perspective- Based Reading) www.qualister.com.br
  • 53. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras baseadas em defeitos (DBR - Defect-Based Reading) •  A leitura baseada em defeitos concentra-se em detectar classes específicas de defeitos. A principal idéia da leitura baseada em defeito é que diferentes revisores focalizam diferentes classes de defeito enquanto examinam o mesmo artefato. •  Para cada classe de defeito, há um cenário que consiste em um conjunto de perguntas que um revisor deve responder enquanto lê. Ao responder as perguntas, o revisor deve estar detectando defeitos daquela classe em particular. www.qualister.com.br
  • 54. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  A técnica de leitura baseada em perspectiva foi elaborada para a detecção de defeitos em documentos de requisitos escritos em linguagem natural (existem variações que permitem a revisão de código fonte). •  Um documento de requisitos bem escrito deve ser capaz de apoiar os diferentes usos que este pode ter: servir de base para o desenvolvimento do projeto do sistema, permitir a criação de casos de teste apropriados às funcionalidades envolvidas e garantir que o sistema como um todo tenha as funcionalidades esperadas pelos clientes e usuários. Assim, identificaríamos três diferentes “consumidores” deste artefato: projetistas, testadores e usuários do sistema. Requisitos   Projeto   Código   Testes   Uso   Documento  de   Requisitos   www.qualister.com.br
  • 55. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Nesse sentido, a técnica de leitura baseada em perspectivas assegura que cada revisor avaliará o requisito segundo uma dessas perspectivas ao criar um modelo físico com base nos requisitos. •  A combinação de diferentes perspectivas resulta em uma melhor cobertura do documento, sendo que uma inspeção baseada em perspectivas permite certificar que os requisitos tenham qualidade suficiente para apoiar todos os estágios posteriores necessários do desenvolvimento do software •  O objetivo não é duplicar o trabalho realizado em outros pontos do ciclo de desenvolvimento do software, mas criar representações que possam ser usadas como base para a criação futura de artefatos mais específicos e que possam revelar quão bem os requisitos conseguem apoiar as tarefas seguintes. www.qualister.com.br
  • 56. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  A versão atual da técnica de leitura baseada em perspectivas para documentos de requisitos define três perspectivas: –  a) a perspectiva do usuário que exige que o inspetor desenvolva casos de uso para representar a utilização do sistema; –  b) a perspectiva do projetista que exige que o inspetor construa um diagramas de projeto; –  c) a perspectiva do testador que exige que o inspetor construa casos de teste. –  Pode-se classificar a técnica de leitura baseada em perspectivas como sistemática (porque uma perspectiva orienta o inspetor com respeito a como e onde procurar defeitos), específica (porque o inspetor concentra-se em certos tipos de defeitos) e distinta (porque os inspetores com a equipe de inspeção têm responsabilidades distintas). www.qualister.com.br
  • 57. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  A técnica de leitura baseada em perspectivas consiste em três partes principais: introdução, instruções e perguntas: –  A introdução é um resumo que explica como o inspetor deverá usar a técnica de leitura. –  As instruções informam o inspetor como ele deve extrair a informação do documento de requisitos. O inspetor deve construir um modelo físico do sistema. Por exemplo, a perspectiva do testador orienta o inspetor na criação de casos de testes para o documento de requisitos. Dessa forma, os inspetores ganham um entendimento mais profundo do sistema e, além disso, asseguram que eles estão bem preparados para as próximas atividades. –  As perguntas representam um questionário altamente especializado. O questionário focaliza a atenção do inspetor para aspectos específicos do seu trabalho, auxiliando a descobrir os defeitos. www.qualister.com.br
  • 58. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Exemplos de perguntas usadas na perspectiva do usuário: –  Todas as funções necessárias para escrever os cenários estão especificadas no documento de requisitos ou na especificação funcional? –  As condições para inicializar os cenários estão claras e corretas? –  As interfaces entre as funções estão bem definidas e compatíveis (por ex., as entradas de uma função) têm ligação com as saídas da função anterior? –  Você consegue chegar num estado do sistema que deve ser evitado (por ex., por razões de segurança)? –  Os cenários podem fornecer diferentes respostas dependendo de como a especificação é interpretada? –  A especificação funcional faz sentido de acordo com o que você conhece sobre essa aplicação ou sobre o que foi especificado em uma descrição geral? www.qualister.com.br
  • 59. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Exemplos de perguntas usadas na perspectiva do testador: –  Você tem toda informação necessária para identificar o item a ser testado e o critério de teste? –  Você pode gerar um bom caso de teste para cada item, baseando-se no critério? –  Você tem certeza de que os testes gerados fornecerão os valores corretos nas unidades corretas? –  Existe outra interpretação dos requisitos de forma que o programador possa estar se baseando nela? –  Existe outro requisito para o qual você poderia gerar um caso de teste similar, mas que poderia levar a um resultado contraditório? –  A especificação funcional ou de requisitos faz sentido de acordo com aquilo que você conhece sobre a aplicação ou a partir daquilo que está descrito na especificação geral? www.qualister.com.br
  • 60. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras Baseadas em Perspectivas (PBR - Perspective-Based Reading) •  Exemplos de perguntas usadas na perspectiva do projetista/desenvolvedor: –  O requisito foi adequadamente traduzido em diagramas de projeto? –  O modelo de dados reflete adequadamente os requisitos, seus atributos e relações? –  A manutenibilidade foi levada em consideração? –  São definidas interfaces para os módulos e para os elementos de sistema externos? –  O projeto foi adequadamente traduzido em código? –  Há erros de ortografia ou tipográficos no código? –  As convenções da linguagem foram adequadamente utilizadas? –  Existe concordância em relação aos padrões de codificação quanto ao estilo da linguagem, comentários e cabeçalho de cada código fonte? –  Há comentários incorretos ou ambíguos? –  Os tipos de dados das variáveis são apropriados? –  As constantes estão corretas? www.qualister.com.br
  • 61. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leituras baseadas em orientação a objetos (OORT’s -Object- Oriented Reading Techniques) •  As leituras baseadas em orientação a objetos representa uma família de técnicas de leitura que fornecem um procedimento para as revisões individuais dos diferentes diagramas e documentos de projetos OO. •  O processo de leitura baseada em orientação a objetos é realizado em duas dimensões: leitura horizontal e vertical. Na leitura horizontal, diferentes diagramas de arquitetura são revisados para assegurar que estejam consistentes entre si. Na leitura vertical, é necessária a revisão dos documentos de especificação de requisitos em relação aos diagramas de arquitetura para assegurar que estejam consistentes entre si. www.qualister.com.br
  • 62. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Vertical: •  Quando lemos de um documento de mais alto nível como referência e o comparamos com um documento de mais baixo nível. Artefatos de níveis de abstração diferentes devem descrever o mesmo sistema www.qualister.com.br
  • 63. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura Horizontal: •  Quando lemos de um documento do mesmo nível como referência e o comparamos com um documento também do mesmo nível. Assegurar que os artefatos de um mesmo nível de abstração representem o mesmo sistema e são consistentes entre si. www.qualister.com.br
  • 64. Tipos de revisão •  Inspeção (técnicas de leitura) –  Leitura vertical e horizontal Artefatos  inspecionados   Tipo   ObjeAvo       Verificar   se   um   diagrama   de   classes   para   um   sistema   descreve   as   classes   e   seus       relacionamentos   de   forma   que   is   comportamentos   especificados   no   diagramas   de       seqüência  estão  capturados  corretamente.   Diagramas    de  Seqüência  x  Classe   Horizontal   Para   fazer   isso,   primeiramente   deve-­‐se   verificar   se   as   classes   e   objetos   especificados   no   diagrama   de   seqüência   aparecem   no   diagrama   de   classe.   Assim,   será   verificado   se   o   diagrama   de   classes   descreve   os   relacionamentos,   comportamentos   e   condições   que   capturam  a  dinâmica  dos  serviços  como  estão  descritos  no  diagrama  de  seqüência.   Diagramas  de  Estado  x  Descrição  de  Classes   Horizontal   Verificar  se  as  classes  estão  descritas  de  forma  a  capturar  a  funcionalidade  especifica   pelo  diagrama  de  estados.   Diagrama  de  Seqüência  x  Estados   Horizontal   Verificar  se  toda  transcrição  de  estado  para  um  objeto  pode  ser  realizada  pelas   mensagens  enviadas  e  recebidas  pelo  objeto.   Diagrama  de  Classes  x  Descrição  de  Classe   Horizontal   Verificar  se  as  descrição  detalhadas  das  classes  contêm  toda  a  informação  necessária  de   acordo  com  o  diagrama  de  classes  e  se  a  descrição    da  classe  possui  um  senFdo   semânFco.   Descrições  de  Classe  x  Descrições  de  Requisitos   VerFcal     Verificar  de  os  conceitos  e  serviços  descritos  pelos  requisitos  funcionais  estão   capturadas  apropriadamente  pela  descrições  das  classes.   Diagramas  de  Seqüência  x  Casos  de  Uso     VerFcal     Verificar  se  os  diagramas  de  seqüência  descrevem  uma  combinação  apropriada  de   objetos  e  mensagens  que  trabalham  em  conjunto  para  capturar  a  funcionalidade   descrita  pelo  caso  de  uso.   Diagrama  de  Estado  x  Descrição  de  Requisitos  e   VerFcal   Verificar  se  os  diagramas  de  estado  descrevem  apropriadamente  os  estados  dos  objetos   Casos  de  Uso   e  eventos  que  disparam  as  trocas  de  estado  conforme  descritos  nos  requisitos  e  casos   de  uso.   www.qualister.com.br
  • 65. Tipos de revisão •  Inspeção (técnicas de leitura) –  Este tipo de técnica de inspeção, pode detectar os seguintes tipos de defeitos: •  ausência de informação (definição de termos, unidades de medida,...) •  informação ambígua (vários significados possíveis para um único termo) •  informação inconsistente (quando existem requisitos em conflito) •  fatos incorretos (fato que não pode ser verdadeiro nas condições especificadas para o sistema) •  informação desnecessária (excesso de informação pode confundir os usuários) •  outros tipos de defeitos (defeitos não classificados em nenhum dos tipos anteriores, como por exemplo requisito em seção incorreta) www.qualister.com.br
  • 66. Tipos de revisão •  Inspeção (técnicas de leitura) –  Dificuldades relatadas na literatura •  O moderador que lidera o processo de inspeção não foi bem treinado; •  As pessoas que compõem a equipe de inspeção não assumem as suas tarefas; •  Dificuldade dos participantes entenderem o uso das técnicas de inspeção durante o treinamento; •  O tempo disponível para detectar os defeitos é insuficiente, acarretando um projeto mal inspecionado; •  Falta de conhecimento por parte dos participantes com relação ao domínio do projeto; •  Para a maioria das organizações a produtividade ainda é vista e medida em termos de linhas de código, sendo que as inspeções requerem esforço sem produzir qualquer linha de código, não sendo vista como um benefício tangível; •  Para os desenvolvedores, é constrangedor avaliar o seu trabalho e deixá-lo ser avaliado por outros, pois pode comprometer a sua reputação profissional; www.qualister.com.br
  • 67. Tipos de revisão •  Inspeção (workshop) –  Exercícios Práticos www.qualister.com.br
  • 68. Tópico • Ferramentas www.qualister.com.br
  • 69. Ferramentas •  Ferramentas de revisão em software são extremante complexas de serem construídas. •  Normalmente usadas para gestão, apoio e armazenamento do resultado da revisão e gerar métricas e estatísticas. •  Algumas ferramentas são usadas para a execução de análise estática automatizada do código. •  Nos próximos slides apresentaremos e conheceremos diversos exemplos de ferramentas www.qualister.com.br
  • 70. Quer saber mais? Estes  são  apenas  alguns  slides  do  curso  de   revisão  e  inspeção  de  artefatos  (verificação)   oferecido  pela  Qualister.       Para  maiores  informações  visite  nosso  site:     h@p://www.qualister.com.br/cursos         www.qualister.com.br
  • 71. Dúvidas? •  Contato: –  Email: cristiano.caetano@qualister.com.br www.qualister.com.br