Você está na página 1de 60

SCE221 – Verificação,

Validação e Teste
SCE702 – Teste e
Inspeção de Software

SCE221 – Verificação, Validação e Teste


Aula Anterior
SCE702 – Teste e Inspeção de Software
Revisões de Software

Revisões Técnicas
Formais

Reunião de Revisão
Técnica
Inspeção de Software
Inspeção de Software

Inspeção em DR Profa. Ellen Francine Barbosa


Inspeção em Profa. Simone do Rocio Senger de Souza
Código-Fonte
{francine, srocio}@icmc.usp.br
Conclusão

Exercı́cio de Fixação Instituto de Ciências Matemáticas e de Computação — ICMC/USP


Roteiro

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

Revisões Técnicas Reunião de Revisão Técnica


Formais

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.

Aula Anterior Filtro para o processo de Engenharia de Software.


Revisões de Software
Objetivo das Revisões
Tipos de Revisões
Podem ser aplicadas em vários pontos durante o
Revisões Técnicas desenvolvimento do software.
Formais

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

É uma oportunidade de treinamento.


Aula Anterior

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

Revisões de Software Como detectar defeitos?


Revisões Técnicas
Formais
Inspeção
Lendo o documento.
Walkthrough Entendendo o que o documento descreve.
Peer-Review
Checando as propriedades de qualidade requeridas.
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
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

Independentemente do formato da RTF, toda


Aula Anterior
reunião de revisão deve seguir as seguintes
Revisões de Software
recomendações:
Revisões Técnicas
Formais Envolver de 3 a 5 pessoas.
Reunião de Revisão Deve haver uma preparação para a reunião.
Técnica
A preparação não deve exigir mais de 2 horas de
Inspeção de Software
trabalho de cada pessoa.
Inspeção em DR
A reunião deve durar menos de 2 horas.
Inspeção em
Código-Fonte Deve-se focalizar uma parte especı́fica do software.
Conclusão Maior probabilidade de descobrir erros.
Exercı́cio de Fixação
Reunião de Revisão Técnica II

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

Exercı́cio de Fixação Solução:


Técnicas de Leitura para Inspeção II

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

O que é uma técnica de leitura?


Aula Anterior

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

Reunião de Revisão Algumas técnicas de leitura:


Técnica

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

Os revisores não utilizam nenhuma técnica


Aula Anterior

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

Revisões de Software Benefı́cios da inspeção em Documento de


Revisões Técnicas
Formais
Requisitos:
Reunião de Revisão
Técnica Detecção antecipada de defeitos.
Inspeção de Software
Produtividade e diminuição do custo.
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 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

Aula Anterior Tipos de erros:


Revisões de Software 1 A informação é perdida durante a transformação.
Revisões Técnicas
Formais
2 A informação é transformada incorretamente.
Reunião de Revisão
3 Informação estranha é introduzida.
Técnica 4 A mesma informação é transformada em diversas
Inspeção de Software ocorrências inconsistentes.
Inspeção em DR 5 A mesma informação possibilita diversas
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva transformações inconsistentes.
(PBR)

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

Revisões Técnicas Defeitos de Ambigüidade


Formais

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 DR Tão rápido quanto possı́vel?


Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR)

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

Revisões Técnicas Exemplo: Considere um sistema de empréstimo


Formais
numa biblioteca e o seguinte RF:
Reunião de Revisão
Técnica

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)

Inspeção em Para devolução de livros não é necessário


Código-Fonte
apresentar a carteirinha pois todas as
Conclusão
informações já estão registradas no sistema !
Exercı́cio de Fixação
Defeito de Inconsistência

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

Revisões de Software Exemplo: Considere um sistema de empréstimo


Revisões Técnicas numa biblioteca e o seguinte RF:
Formais
RF20: Se o número de dias que o usuário está em
Reunião de Revisão
Técnica atraso é menor que uma semana, ele deve pagar
Inspeção de Software uma taxa de R$ 1,00; se o número é maior que uma
Inspeção em DR
semana, a taxa é de R$ 0,50 por dia.
Taxonomia de Defeitos em DR
Leitura Baseada em Perspectiva
(PBR) Qual a taxa a ser paga se o perı́odo for de uma
Inspeção em
Código-Fonte
semana?
Conclusão
No primeiro caso, a taxa deve ser calculada por
Exercı́cio de Fixação
dia?
Defeito de Informação Estranha

SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software

Defeito de Informação Estranha (IE): qualquer


Aula Anterior
informação que, embora relacionada ao domı́nio, não
Revisões de Software
é necessária para o sistema em questão.
Revisões Técnicas
Formais

Reunião de Revisão Exemplo:


Técnica
RF15: Quando um novo livro é adicionado ao
Inspeção de Software
acervo, ele permanece em uma prateleira especial
Inspeção em DR
Taxonomia de Defeitos em DR
por um perı́odo de um mês.
Leitura Baseada em Perspectiva
(PBR)

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)

Inspeção em Possibilita que o revisor melhore sua experiência em


Código-Fonte
diferentes aspectos do documento de requisitos.
Conclusão

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

Exercı́cio de Fixação Cada revisor vai ler o Documento de Requisitos com


olhos diferentes.
Técnica de Leitura Baseada em Perspectiva
(PBR) III
SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Benefı́cios:
Inspeção de Software Determina uma responsabilidade especı́fica para
cada revisor.
Aula Anterior Melhora a cobertura de defeitos.
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 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

Defeitos de Omissão: Esquecimento de algum


Aula Anterior
elemento no programa.
Revisões de Software

Revisões Técnicas Exemplo: Falta de um comando que iria atribuir um


Formais
valor a uma variável.
Reunião de Revisão
Técnica

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

Inspeção de Software Defeito de Interface: Quando um módulo usa ou faz


Inspeção em DR
suposições sobre dados que não fazem parte do seu
Inspeção em
Código-Fonte escopo.
Taxonomia de Defeitos em Código
Stepwise Abstraction Exemplo: Passagem de um argumento incorreto para
Conclusão um procedimento, ou quando um módulo assume
Exercı́cio de Fixação que irá receber um array inicializado com zero.
Taxonomia de Defeitos em Código - II III

SCE221 – Verificação,
Validação e Teste
SCE702 – Teste e
Inspeção de Software

Defeitos de Dados: Uso incorreto de uma estrutura


Aula Anterior
de dados.
Revisões de Software

Revisões Técnicas Exemplo: Determinar incorretamente o último ı́ndice


Formais
de um array.
Reunião de Revisão
Técnica

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

Reunião de Revisão As abstrações construı́das devem ser combinadas em


Técnica
uma abstração mais geral, até que se tenha
Inspeção de Software
capturado a função completa do programa.
Inspeção em DR

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

Exemplo de abstrações de código:


Técnica de Leitura Stepwise Abstraction 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

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

Você também pode gostar