Escolar Documentos
Profissional Documentos
Cultura Documentos
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção de Software
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Revisões de Software
Inspeção de Software
Aula Anterior
Revisões Técnicas Formais
Revisões de Software
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção de Software
Inspeção em DR
Inspeção em
Inspeção em DR
Código-Fonte
Conclusão
Inspeção em Código-Fonte
Exercı́cio de Fixação
Conclusão
Aula Anterior...
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Qualidade de software.
Aula Anterior V&V envolvem atividades de análise estática e de
Revisões de Software análise dinâmica.
Revisões Técnicas
Formais
Análise Estática
Reunião de Revisão
Não requerem a execução propriamente dita do
Técnica produto.
Inspeção de Software Podem ser aplicadas em qualquer produto
Inspeção em DR intermediário do processo de desenvolvimento.
Inspeção em Documento de requisitos, diagramas de projeto,
Código-Fonte código-fonte, planos de teste, ...
Conclusão
As revisões são o exemplo mais clássico de análise
Exercı́cio de Fixação
estática.
Revisões de Software I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Meio efetivo para melhorar a qualidade de software.
Reunião de Revisão
Maneira de usar a diversidade de um grupo de
Técnica pessoas para:
Inspeção de Software
Apontar melhorias necessárias ao produto.
Inspeção em DR
Confirmar as partes de um produto em que uma
Inspeção em melhoria não é desejada ou não é necessária.
Código-Fonte
Conclusão
Realizar um trabalho técnico de qualidade mais
uniforme de forma a torná-lo mais administrável.
Exercı́cio de Fixação
Objetivo das Revisões de Software I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Encontrar erros durante o processo de
Inspeção de Software
desenvolvimento, de forma que eles não se
transformem em defeitos depois da entrega do
Aula Anterior
software.
Revisões de Software
Objetivo das Revisões Descoberta precoce dos erros.
Tipos de Revisões
Melhoria da qualidade já nas primeiras fases do
Revisões Técnicas
Formais processo de desenvolvimento.
Reunião de Revisão Aumento da produtividade e diminuição dos custos.
Técnica
Erros são detectados quando sua correção é mais
Inspeção de Software barata.
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Objetivo das Revisões de Software II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Revisões de Software
Aprender por experiência.
Objetivo das Revisões Participantes aprendem as razões e padrões em
Tipos de Revisões
descobrir erros.
Revisões Técnicas
Formais Participantes aprendem bons padrões de
Reunião de Revisão desenvolvimento de software.
Técnica
Com o decorrer do tempo....
Inspeção de Software
Inspeção em DR
A revisão auxilia os participantes a desenvolver
produtos mais fáceis de entender e de manter.
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Tipos de Revisões
SCE221 – Verificação,
Validação e Teste Discussão informal de um problema técnico.
SCE702 – Teste e
Inspeção de Software
Apresentação do projeto de software para uma
Aula Anterior
audiência de clientes, administradores e pessoal
Revisões de Software
técnico.
Objetivo das Revisões
Tipos de Revisões
Revisões Técnicas Formais (RTF), as quais incluem
Revisões Técnicas
Formais
avaliações técnicas do software realizadas em
Reunião de Revisão
pequenos grupos.
Técnica Inspeção
Inspeção de Software Walkthrough
Inspeção em DR Peer-Review
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Revisões Técnicas Formais
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Métodos de RTF:
Inspeção de Software
Inspeção
Aula Anterior
Walkthrough
Revisões de Software
Revisões Técnicas
Formais
Peer-Review
Inspeção
Walkthrough
Peer-Review
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Inspeção
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Método de análise estática para verificar a qualidade
de um produto de software.
Aula Anterior
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Walkthrough
SCE221 – Verificação,
Validação e Teste Procedimento similar ao procedimento para
SCE702 – Teste e
Inspeção de Software condução de uma inspeção.
A diferença fundamental está na maneira como a
Aula Anterior sessão de revisão é conduzida.
Revisões de Software Em vez de ler o programa ou checar os erros por
Revisões Técnicas meio de um checklist, os participantes simulam sua
Formais
Inspeção
execução.
Walkthrough Papel adicional: testador.
Peer-Review
Elaborar um pequeno conjunto de casos de teste
Reunião de Revisão
Técnica
(em papel).
Monitorar e controlar os resultados obtidos.
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Peer-Review
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Conduzida por pares de programadores.
Mesmo nı́vel de conhecimento.
Aula Anterior Aplicada ao código.
Revisões de Software Reuniões com duração de 1 a 2 horas.
Revisões Técnicas
Formais
Somente um programa ou parte dele (rotinas) deve
Inspeção ser revisado.
Walkthrough
Peer-Review Resultados são publicados em um relatório informal.
Reunião de Revisão
Técnica
Não faz parte da documentação oficial do projeto.
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Reunião de Revisão Técnica I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Diretrizes para Revisão
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Revise o produto, não o produtor.
Fixe e mantenha uma agenda.
Aula Anterior Limite o debate e a refutação.
Revisões de Software Relacione as áreas problemáticas.
Revisões Técnicas
Formais
Faça anotações por escrito.
Reunião de Revisão Limite o número de participantes e insista em uma preparação
Técnica antecipada.
Inspeção de Software
Desenvolva uma lista de conferência (checklist) para cada
Inspeção em DR produto que provavelmente será revisto.
Inspeção em Atribua recursos e uma programação de tempo para as
Código-Fonte
revisões.
Conclusão
Realize um treinamento significativo para todos os revisores.
Exercı́cio de Fixação
Reveja suas antigas revisões.
Inspeção de Software
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Método de análise estática para verificar a qualidade
Aula Anterior de um produto de software.
Revisões de Software
Revisões Técnicas
Pode-se inspecionar tanto produtos de software
Formais como também projetos de software.
Reunião de Revisão
Técnica
Diferencial está na seleção dos aspectos que devem
Inspeção de Software
Etapas da Inspeção
ser considerados durante a revisão.
Vantagens da Inspeção
Técnicas de Leitura
Inspeção em Documentos de Requisitos.
Inspeção em DR
Inspeção em
Código-Fonte Inspeção em Código-fonte.
Conclusão
Exercı́cio de Fixação
Etapas da Inspeção
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Etapas da Inspeção
Vantagens da Inspeção
Técnicas de Leitura
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Vantagens da Inspeção
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Detecção antecipada de defeitos (inspeção de
requisitos).
Aula Anterior Aprende-se pela experiência.
Revisões de Software
Participantes aprendem os padrões e o raciocı́nio
Revisões Técnicas
Formais
utilizado na detecção de defeitos.
Reunião de Revisão
Participantes aprendem bons padrões de
Técnica desenvolvimento.
Inspeção de Software
Etapas da Inspeção
A longo prazo...
Vantagens da Inspeção A inspeção convence os participantes a
Técnicas de Leitura
desenvolverem produtos mais compreensı́veis e mais
Inspeção em DR
fáceis de manter.
Inspeção em
Código-Fonte
As inspeções ajudam a integrar o processo de prevenção
Conclusão
de defeitos com o processo de detecção de defeitos.
Exercı́cio de Fixação
Técnicas de Leitura para Inspeção I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Como detectar defeitos?
Inspeção de Software Lendo o documento.
Entendendo o que o documento descreve.
Aula Anterior Verificando as propriedades de qualidade requeridas.
Revisões de Software
Problema:
Revisões Técnicas
Formais Em geral não se sabe como fazer a leitura de
Reunião de Revisão um documento!!!
Técnica
Razão:
Inspeção de Software
Etapas da Inspeção Em geral, os desenvolvedores aprendem a escrever
Vantagens da Inspeção
Técnicas de Leitura
documento de requisitos, código, projeto, mas não
Ad-hoc
aprendem a fazer uma leitura adequada dos mesmos.
Checklist
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Fornecer técnicas de leitura bem definidas.
Revisões de Software
Revisões Técnicas
Formais Benefı́cios:
Reunião de Revisão
Técnica
Aumenta a relação custo/benefı́cio das inspeções.
Inspeção de Software
Fornece modelos para escrever documentos com
Etapas da Inspeção maior qualidade.
Vantagens da Inspeção
Técnicas de Leitura Reduz a subjetividade nos resultados da inspeção.
Ad-hoc
Checklist
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Técnicas de Leitura para Inspeção III
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Etapas da Inspeção
Vantagens da Inspeção
Técnicas de Leitura
Ad-hoc
Checklist
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Técnicas de Leitura para Inspeção IV
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Revisões de Software
Conjunto de instruções fornecido ao revisor dizendo
como ler e o quê procurar no produto de software.
Revisões Técnicas
Formais
Inspeção de Software
Ad-hoc
Etapas da Inspeção Checklist
Vantagens da Inspeção
Técnicas de Leitura Leitura Baseada em Perspectiva (PBR)
Ad-hoc
Checklist
Stepwise Abstraction
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Ad-hoc
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Revisões de Software
sistemática de leitura.
Revisões Técnicas Cada revisor adota sua própria maneira de ler o
Formais
documento.
Reunião de Revisão
Técnica Desvantagens:
Inspeção de Software Depende da experiência do revisor.
Etapas da Inspeção
Vantagens da Inspeção Não é repetı́vel.
Técnicas de Leitura
Ad-hoc
Não é passı́vel de melhoria pois não existe um
Checklist procedimento a ser seguido.
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Checklist
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Técnica que fornece diretrizes para ajudar o revisor
Aula Anterior
alcançar os objetivos de uma atividade de revisão
Revisões de Software
formal.
Revisões Técnicas Similar ao ad-hoc, mas cada revisor recebe um
Formais
checklist.
Reunião de Revisão
Técnica Os itens do checklist capturam lições importantes
Inspeção de Software que foram aprendidas em inspeções anteriores no
Etapas da Inspeção
Vantagens da Inspeção
ambiente de desenvolvimento.
Técnicas de Leitura Itens do checklist podem explorar defeitos
Ad-hoc
Checklist caracterı́sticos, priorizar defeitos diferentes e
Inspeção em DR estabelecer questões que ajudam o revisor a
Inspeção em encontrar defeitos.
Código-Fonte
Conclusão
Exercı́cio de Fixação
Inspeção em Documento de Requisitos
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Inspeção em Documento de Requisitos
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Detecção antecipada de defeitos.
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Inspeção em Documento de Requisitos
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Produtividade e diminuição do custo.
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Documento de
Requisitos I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Utilizada para classificação dos defeitos encontrados.
Inspeção de Software
Situação ideal:
Aula Anterior A informação é transformada corretamente.
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Documento de
Requisitos II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Documento de
Requisitos III
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Classes de Defeitos:
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Defeitos de Omissão
Código-Fonte
Conclusão
Defeitos de Fato Incorreto
Exercı́cio de Fixação
Defeitos de Inconsitência
Taxonomia de Defeitos em Documento de
Requisitos IV
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Reunião de Revisão
Técnica
Defeitos de Informação Estranha
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Defeitos de Omissão I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Defeito de Omissão (O): qualquer informação
Inspeção de Software
necessária que tenha sido omitida.
Exemplo 1 (Omissão de Funcionalidade). Considere
Aula Anterior
um sistema de biblioteca e os seguintes requisitos
Revisões de Software
Revisões Técnicas
funcionais (RF):
Formais RF2: O sistema deve solicitar a informação
Reunião de Revisão necessária para inserir um item bibliográfico: tı́tulo,
Técnica
autor, data, lugar, assunto, resumo, número, editor,
Inspeção de Software
periódico, congresso.
Inspeção em DR
Taxonomia de Defeitos em DR
RF3: O sistema deve dar uma mensagem de alerta
Leitura Baseada em Perspectiva
(PBR)
quando o usuário tentar inserir um item incompleto.
Inspeção em Essa mensagem deve questionar o usuário se ele
Código-Fonte deseja cancelar a operação, completar a informação
Conclusão ou concluir a inserção como está.
Exercı́cio de Fixação Qual informação é necessária para possibilitar
uma inserção incompleta?
Defeitos de Omissão II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Exemplo 2 (Omissão de Desempenho:)
Revisões Técnicas
Formais RNF1: O sistema deve fornecer os resultados tão
Reunião de Revisão rápido quanto possı́vel.
Técnica
Inspeção de Software
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Defeito de Fato Incorreto
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Defeito de Fato Incorreto (FI): informação que
consta do artefato mas que seja contraditória com o
Aula Anterior conhecimento que se tem do domı́nio de aplicação.
Revisões de Software
Inspeção de Software
RF30: O sistema não deve aceitar devolução de
Inspeção em DR
livros se o usuário não estiver com a carteirinha da
Taxonomia de Defeitos em DR biblioteca no momento.
Leitura Baseada em Perspectiva
(PBR)
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Defeito de Inconsistência (I): informação que consta
Aula Anterior
do artefato mais de uma vez e em cada ocorrência
Revisões de Software ela é descrita de forma diferente.
Revisões Técnicas
Formais Exemplo: Considere um sistema de empréstimo
Reunião de Revisão numa biblioteca e o seguinte RF:
Técnica
Inspeção de Software
RF5: O sistema não deve permitir perı́odos de
empréstimo maiores que 15 dias.
Inspeção em DR
Taxonomia de Defeitos em DR RF9: Professores podem retirar livros por um
Leitura Baseada em Perspectiva
(PBR) perı́odo de 3 semanas.
Inspeção em
Código-Fonte
Qual perı́odo deve ser considerado?
Conclusão
Exercı́cio de Fixação
Defeito de Ambigüidade
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Defeito de Ambigüidade (A): quando a informação
pode levar a múltiplas interpretações.
Aula Anterior
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Inspeção em
Essa informação não é necessária ao sistema !!
Código-Fonte
Conclusão
Exercı́cio de Fixação
Técnica de Leitura Baseada em Perspectiva
(PBR) I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Técnica de leitura proposta para detectar defeitos
Inspeção de Software
em especificações de requisitos.
Aula Anterior
Faz com que cada revisor se torne responsável por
Revisões de Software
uma perspectiva em particular.
Revisões Técnicas Requer que o revisor crie abstrações de um produto
Formais
de software e responda algumas questões baseado na
Reunião de Revisão
Técnica análise da abstração.
Inspeção de Software As questões a serem respondidas e as regras para
Inspeção em DR criar a abstração são definidas para cada perspectiva
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
diferente.
(PBR)
Exercı́cio de Fixação
Assegura que perspectivas importantes sejam
contempladas.
Técnica de Leitura Baseada em Perspectiva
(PBR) II
SCE221 – Verificação,
Validação e Teste Cada revisor possui um cenário para guiar seu
SCE702 – Teste e
Inspeção de Software trabalho de revisão.
Todo cenário consiste de duas partes:
Aula Anterior
Construir um modelo do documento que está sob
Revisões de Software revisão a fim de aumentar o entendimento sobre o
Revisões Técnicas
Formais
mesmo.
Responder questões sobre o modelo, tendo como
Reunião de Revisão
Técnica foco itens e problemas de interesse da organização.
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte Várias leituras podem ser feitas no Documento de
Conclusão
Requisitos.
Exercı́cio de Fixação O projetista que usa o DR para gerar o projeto do
sistema.
Técnica de Leitura Baseada em Perspectiva
(PBR) IV
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
O testador que, com base no DR, deve gerar casos
de teste para testar o sistema quando este estiver
Aula Anterior
implementado.
Revisões de Software
O usuário que verifica se o DR está capturando toda
Revisões Técnicas
Formais funcionalidade que ele deseja para o sistema.
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
Técnica de Leitura Baseada em Perspectiva
(PBR) V
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação
PBR – Visão do Usuário
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Definir um conjunto de funções que o usuário esteja
apto a executar.
Aula Anterior
Definir o conjunto de entradas necessárias para
Revisões de Software
executar cada função e o conjunto de saı́das que são
Revisões Técnicas
Formais
geradas pelas funções.
Reunião de Revisão Isso pode ser feito escrevendo todos os cenários
Técnica
operacionais que o sistema deve executar.
Inspeção de Software
Inspeção em DR
Iniciar com os cenários mais óbvios até chegar nos
Taxonomia de Defeitos em DR menos comuns ou condições especiais.
Leitura Baseada em Perspectiva
(PBR)
Ao fazer isso, faça a você mesmo as perguntas a
Inspeção em
Código-Fonte seguir.
Conclusão Sugestão: Usar como modelo Casos de Uso.
Exercı́cio de Fixação
PBR – Visão do Usuário: Questões
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Todas as funções necessárias para escrever os cenários estão
Inspeção de Software
especificadas no documento de requisitos ou na especificação
funcional?
Aula Anterior
As condições para inicializar os cenários estão claras e
Revisões de Software corretas?
Revisões Técnicas
Formais As interfaces entre as funções estão bem definidas e
Reunião de Revisão
compatı́veis (por ex., as entradas de uma função) têm ligação
Técnica com as saı́das da função anterior?
Inspeção de Software Você consegue chegar num estado do sistema que deve ser
Inspeção em DR evitado (por ex., por razões de segurança)?
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva Os cenários podem fornecer diferentes respostas dependendo
(PBR)
de como a especificação é interpretada?
Inspeção em
Código-Fonte A especificação funcional faz sentido de acordo com o que
Conclusão você conhece sobre essa aplicação ou sobre o que foi
Exercı́cio de Fixação especificado em uma descrição geral?
PBR – Visão do Testador
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Para cada especificação funcional ou requisito gere
Aula Anterior
um conjunto de casos de teste que assegure que a
Revisões de Software
implementação do sistema satisfaz a especificação
Revisões Técnicas funcional ou o requisito.
Formais
Use sua abordagem de teste normal e critérios de
Reunião de Revisão
Técnica teste.
Inspeção de Software
Ao fazer isso, faça a você mesmo as perguntas a
Inspeção em DR
Taxonomia de Defeitos em DR
seguir para cada teste.
Leitura Baseada em Perspectiva
(PBR) Sugestão: Usar como critérios de teste
Inspeção em Particionamento de Equivalência, Análise do Valor
Código-Fonte
Limite.
Conclusão
Exercı́cio de Fixação
PBR – Visão do Testador: Questões
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Você tem toda informação necessária para identificar o item a
ser testado e o critério de teste?
Aula Anterior Você pode gerar um bom caso de teste para cada item,
Revisões de Software
baseando-se no critério?
Revisões Técnicas Você tem certeza de que os teste gerados fornecerão os
Formais valores corretos nas unidades corretas?
Reunião de Revisão
Técnica Existe uma outra interpretação dos requisitos de forma que o
Inspeção de Software
programador possa estar se baseando nela?
Inspeção em DR Existe um outro requisito para o qual você poderia gerar um
Taxonomia de Defeitos em DR caso de teste similar, mas que poderia levar a um resultado
Leitura Baseada em Perspectiva
(PBR) contraditório?
Inspeção em A especificação funcional ou de requisitos faz sentido de
Código-Fonte
acordo com aquilo que você conhece sobre a aplicação ou a
Conclusão
partir daquilo que está descrito na especificação geral?
Exercı́cio de Fixação
Inspeção em Código-Fonte
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Visa a encontrar defeitos no código-fonte, realizando
uma análise estática.
Aula Anterior
Revisões de Software
Vantagens:
Revisões Técnicas
Formais Programas ficam menos complexos.
Reunião de Revisão Subprogramas são escritos em um estilo consistente
Técnica e obedecem padrões estabelecidos.
Inspeção de Software O desenvolvimento de sistemas torna-se
Inspeção em DR transparente.
Inspeção em A estimativa e o planejamento tornam-se mais
Código-Fonte
Taxonomia de Defeitos em Código
confiáveis.
Stepwise Abstraction Facilita a manutenção, com o desenvolvimento de
Conclusão sistemas mais compreensı́veis e bem documentados.
Exercı́cio de Fixação
Taxonomia de Defeitos em Código
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Duas classificações de defeitos em código:
Aula Anterior
Classificação I:
Revisões de Software
Defeitos de Omissão
Revisões Técnicas
Formais
Defeitos de Comissão
Reunião de Revisão
Técnica Classificação II:
Inspeção de Software Defeitos de Inicialização
Inspeção em DR Defeitos de Computação
Inspeção em
Defeitos de Controle
Código-Fonte Defeitos de Interface
Taxonomia de Defeitos em Código
Defeitos de Dados
Stepwise Abstraction
Defeitos Cosméticos
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Código - I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Inspeção de Software
Defeitos de Comissão: Segmento de código
Inspeção em DR incorreto.
Inspeção em
Código-Fonte
Exemplo: Um operador aritmético errado é usado
Taxonomia de Defeitos em Código em uma expressão.
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Código - II I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Defeito de Inicialização: Inicialização incorreta de
Revisões de Software uma estrutura de dados.
Revisões Técnicas
Formais
Exemplo: Atribuir um valor errado a uma variável.
Reunião de Revisão
Técnica
Defeitos de Computação: Qualquer computação
Inspeção de Software
Inspeção em DR
incorreta para geração do valor de uma variável.
Inspeção em Exemplo: Um operador aritmético errado é usado em
Código-Fonte
Taxonomia de Defeitos em Código uma expressão de atribuição de valor para variável.
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Taxonomia de Defeitos em Código - II II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Defeito de Controle: Causa a execução de um
caminho de controle errado para um valor de
Aula Anterior
entrada.
Revisões de Software Exemplo: Predicado incorreto em um comando
Revisões Técnicas
Formais
IF-THEN-ELSE.
Reunião de Revisão
Técnica
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Inspeção de Software
Defeitos Cosmético: Erro de escrita no programa.
Inspeção em DR
Inspeção em
Exemplo: Uma mensagem de erro com erro de
Código-Fonte
Taxonomia de Defeitos em Código
escrita (ortografia, gramática).
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Técnica de Leitura Stepwise Abstraction I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software Técnica de leitura utilizada para detectar defeitos
em código-fonte.
Aula Anterior Code-Reading
Revisões de Software
Revisões Técnicas
Formais Consiste em desenvolver abstrações funcionais a
Reunião de Revisão partir do código-fonte, para determinar a
Técnica
funcionalidade do programa.
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Taxonomia de Defeitos em Código
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Técnica de Leitura Stepwise Abstraction II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Os revisores identificam subprogramas no
código-fonte e escrevem suas próprias especificações
Aula Anterior
para os subprogramas (abstrações de
Revisões de Software funcionalidade).
Revisões Técnicas
Formais
Inspeção em
Código-Fonte Inconsistências são detectadas comparando a
Taxonomia de Defeitos em Código
Stepwise Abstraction especificação original com a especificação construı́da
Conclusão por meio das abstrações.
Exercı́cio de Fixação
Técnica de Leitura Stepwise Abstraction III
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Taxonomia de Defeitos em Código
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Técnica de Leitura Stepwise Abstraction IV
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Taxonomia de Defeitos em Código
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Taxonomia de Defeitos em Código
Stepwise Abstraction
Conclusão
Exercı́cio de Fixação
Princı́pios para o Processo de Leitura de
Código I
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
1 Detectar como o programa irá falhar durante a
execução.
Construir as abstrações.
Aula Anterior
Revisões de Software
Determinar o comportamento de um componente
através da leitura.
Revisões Técnicas
Formais Determinar as dependências entre as funções
Reunião de Revisão
individuais no código. Normalmente, as funções
Técnica estão ordenadas no código, de modo que as
Inspeção de Software funções low-level (folhas) estão no ı́nicio do código
Inspeção em DR e as funções high-level (root) estão no final. Inicie
Inspeção em
aplicando a técnica de leitura de código nas
Código-Fonte funções folha caminhando em direção à raiz.
Taxonomia de Defeitos em Código
Desenvolver um entendimento da estrutura de
Stepwise Abstraction
cada função individual, identificando as estruturas
Conclusão
elementares (seqüência, condições, atribuições,
Exercı́cio de Fixação
repetições).
Princı́pios para o Processo de Leitura de
Código II
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Marcar as estruturas identificadas, desenhando
Inspeção de Software
quadrados para delimitá-las.
Combinar essas estruturas em outras mais externas
Aula Anterior até construir um quadrado que representa uma
Revisões de Software única função.
Revisões Técnicas Agregar as funções elementares de acordo com o
Formais fluxo de controle do programa.
Reunião de Revisão Isolar as falhas.
Técnica
Inspeção de Software
Comparar as abstrações com a especificação para
detectar possı́veis falhas.
Inspeção em DR
Inspeção em
2 Isolar os defeitos que levariam a falhas.
Código-Fonte
Taxonomia de Defeitos em Código
Buscar as causas do comportamento inadequado
Stepwise Abstraction (defeitos) do programa.
Conclusão O entendimento do programa adquirido durante a
Exercı́cio de Fixação leitura facilita a localização do defeito.
Concluindo...
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e Inspeção não requer necessariamente a execução do
Inspeção de Software sistema e assim pode ser usada antes da
implementação estar concluı́da.
Aula Anterior Pode ser aplicada em qualquer representação do
Revisões de Software sistema (requisitos, projeto, dados de testes, ...)
Revisões Técnicas
Formais
Quando um erro é encontrado durante a inspeção, é
Reunião de Revisão
conhecida também sua natureza e localização.
Técnica Isso não ocorre com Teste de Software.
Inspeção de Software
Inspeção e Teste são técnicas de V&V
Inspeção em DR
Inspeção em
complementares. Ambas devem ser usadas!!!
Código-Fonte Inspeções podem checar a conformidade com
Conclusão especificação mas não a conformidade com os
Exercı́cio de Fixação requisitos reais do cliente!
Inspeções não podem checar caracterı́sticas não
funcionais como desempenho, usabilidade....
Exercı́cio de Fixação
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software
Aula Anterior
Revisões de Software
Revisões Técnicas
Formais
Reunião de Revisão
Técnica
Inspeção de Software
Inspeção em DR
Inspeção em
Código-Fonte
Conclusão
Exercı́cio de Fixação