Você está na página 1de 35

Inspeo de

Software
CIn-UFPE
Qualidade de Software (if720)
Carlos Albuquerque

Agenda

Conceito
Historia
Objetivo
Escopo
Efetividade
Participantes
Etapas

Walkthrough
Revises
Peer-Reviews
Progressivas
Vantagens das PeerReviews
Mtricas
Referncias

Conceito

Dois ou mais engenheiros verificam o produto de


trabalho de um outro engenheiro, para encontrar
defeitos e problemas
O objetivo no corrigir problemas e sim encontra-los
para que o desenvolvedor corrija depois
O momento de fazer uma inspeo quando o
engenheiro terminou o desenvolvimento do produto e
corrigiu todos os defeitos bvios
Devem iniciar medida que os primeiros artefatos forem
produzidos
Nesse ponto, o engenheiro precisa de ajuda para
encontrar problemas remanescentes
Testes so mais efetivos em artefatos inspecionados

Histria

1920 - Inspeo do produto: Teve origem na linha de


montagem. Os produtos intermedirios e o produto final
so examinados para se detectarem defeitos.
1976 Inspeo de Software

Inspeo de Fagan o mais influente trabalho sobre inspeo


Quase um sinnimo de Inspeo
Fagan tem sido usado por diferentes indstrias e em diferentes
artefatos de software. Porm mais freqentemente em cdigo
formada por seis etapas

Esta Apresentao ter como base a Inspeo de


Fagan

Objetivos

Em uma Inspeo, colegas de trabalho de um pessoa que criou o


produto de trabalho examinam o produto para identificar defeitos e
desvios, com o objetivo de:
Verificar se um produto de trabalho satisfaz as espeficaoes do
produto de trabalho antecessor, tal como documento de
requisistos e de projeto
Identificar quaisquer desvios de padres
Sugerir oportunidades de melhoria para o autor
Promover a troca de experincia entre os participantes

Escopo

Em uma inspeo, tipicamente so analisados


produtos de trabalho como:
Especificao de Requisitos
Projetos e especificaes de

interface com usurio


Projeto de Arquitetura, Projeto de alto nvel e Projeto
detalhado
Cdigo fonte
Planos de Teste e casos de Teste

Peer-Review KPA Nvel 3 CMM


Verificao PA Nvel 3 CMMI

Participantes

Em geral produtos de trabalho devem ser


inspecionados por:
O

autor de algum documento antecessor


Pares do autor do produto inspecionado
Algum que usar o produto inspecionado
como entrada para outro produto de trabalho

Participantes

Em uma inspeo, cada um dos participantes


recebe um ou mais papis e responsabilidades.
Os papis de uma inspeo tipicamente so
distribudos em:
Autor
Moderador
Leitor
Escritor
Inspetor
Coordenador

das Inspees

Papis

Autor
Criador

ou mantenedor do produto de trabalho a ser


inspecionado.
Solicita ao Coordenador das Inspees um
Moderador
Entrega o produto de trabalho e documentos
associados aos participantes
Identifica junto ao moderador os outros participantes
da inspeo
Esclarece as dvidas relativas ao produto a ser
inspecionado
Determina o tempo de preparao para a inspeo

Papis

Moderador

Usa o checklist de moderador para auxiliar nas inspees


Planeja o cronograma com o autor e lidera a inspeo
Identifica junto ao autor os outros participantes da inspeo
Revisa o tempo de preparao definido pelo autor
Determina o status do produto de trabalho
Entrega o sumrio completo da inspeo ao Coordenador das
Inspees
o Facilitador da Inspeo

Leitor

Faz a leitura de partes no produto de trabalho inspecionado, de


maneira a fazer com que o time de inspeo apresente
comentrios, no-conformidades ou questionamentos

Papis

Escritor (escriba)

Registra e classifica as no-conformidades encontradas durante


a inspeo

Inspetor

Examina o produto de trabalho antes da reunio de inspeo


para encontrar defeitos e desvios.
Registra o tempo de preparao
Participa da reunio de inspeo para identificar defeitos,
desvios e sugerir melhorias

Papis

Coordenador das Inspees


Responsvel

pelas mtricas de inspeo do projeto


Mantm os registros das inspees conduzidas e
dados do sumrio de cada inspeo
Gera relatrios de inspeo

Todos que participam da reunio tambm fazem


o papel de inspetor

Critrio de Entrada

Toda a documentao de suporte est disponvel


Inspetores esto treinados no processo de Inspeo
de Software
O produto de trabalho a ser inspecionado possui um
nmero de verso, todas as pginas e linhas so
numeradas.
O cdigo fonte a ser inspecionado possui um
nmero de verso, as linhas e pginas esto
numeradas. O Cdigo compila sem erros ou
mensagens de advertncia
Para uma re-inspeo, todas as no conformidades
foram resolvidas.

Critrio de Sada

Os objetivos da inspeo foram alcanados


As no-conformidades identificadas durante a
inspeo so acompanhadas para o
fechamento
Todos os defeitos Principais so corrigidos
O produto inspecionado est sobre gerncia de
configurao
O moderador tem coletado e registrado os
dados da inspeo

Etapa - Planejamento

O autor entrega ao moderador o produto de trabalho e


todos os documentos de suporte
O autor determina se o critrio de entrada est satisfeito
Baseado no tamanho e complexidade do produto de
trabalho, o autor e o moderador decidem quantas
reunies de inspeo sero requeridas
Autor e moderador selecionam a equipe de inspeo e
atribuem os papis
Autor determina se uma Viso Geral necessria
Moderador e autor agendam a inspeo ou as
inspees e o tempo de preparao estimado
O autor distribui os artefatos necessrios para inspeo

Etapa Viso Geral


O autor faz uma apresentao das
principais caractersticas do produto de
trabalho a ser inspecionado
uma etapa opcional e depende da
necessidade identificada pelo autor

Etapa - Preparao
O Autor e moderador solicitam aos
inspetores a preparao no produto de
trabalho
Os inspetores analisam o produto de
trabalho em busca de no-conformidades
Fazem as anotaes necessrias

Etapa Reunio de Inspeo

Abrir a reunio O moderador apresenta, se


necessrio, os participantes e seus papeis, o objetivo da
inspeo e lembra quem est sendo inspecionado o
artefato e no o autor
Identificar preparao O moderador identifica e
anota o tempo de preparao de cada inspetor
Apresentar artefato O leitor faz a apresentao do
artefato em pequenas partes
Levantamento de defeitos Todos os inspetores
discutem sobre as no-conformidades encontradas
Registrar no-conformidades O escritor faz o
registro das no-conformidades

Etapa Reunio de Inspeo

Responder Questionamentos O autor


responde aos questionamentos sobre produto
de trabalho em inspeo
Status do artefato Quanto todas as reunies
de inspeo terminarem, a equipe de inspeo
deve decidir o status do artefato
Assinatura do Sumrio Todos os inspetores
assinam o sumrio da inspeo para indicar que
esto de acordo o status da inspeo
Feedback da Inspeo O moderador pede
aos inspetores para avaliarem a inspeo e
indicar pontos de melhoria

Etapa Reunio de Inspeo

Para cada noconformidade, o escritor


registra:
Origem

(Em que fase)


Tipo (Faltando, Errada, Extra, Usabilidade,
Performance, No-defeito)
Severidade (Principal ou Secundria)
Localizao
Descrio

Etapa Reunio de Inspeo

Status de uma Inspeo


Aceito
Condicionalmente

aceito

Re-Inspeo
Inspeo

no-completada

Etapa - Correo
O autor corrige as no-conformidades
encontradas, anotando na lista de noconformidade a ao tomada
O autor corrige qualquer outro problema
baseado nas faltas encontradas nas
inspeo
Caso requerido, o autor deve apresentar
ao moderador as correes

Etapa Follow-up

O moderador deve verificar se todos as falhas


foram corrigidas
O autor informa o tempo total de re-trabalho
O moderador determina o resultado da
inspeo.
O autor coloca o artefato em baseline sob
gerncia de configurao
O autor entrega o sumrio de inspeo ao
coordenador de inspees.

Algumas Mtricas Coletadas


em uma Inspeo

Densidade de defeito = Total de Defeitos / Tamanho atual

Total de Defeitos = Defeitos Principais + Defeitos secundrios

Esforo de Inspeo = Esforo Planejamento + Esforo Viso Geral


+ Esforo Preparao + Esforo Reunio + Esforo Re-trabalho

Taxa de Preparao = Tamanho Planejado / (Esforo Preparao/


N de participantes)

Taxa de Inspeo = Tamanho atual / Tempo de Reunio de


Inspeo

Vantagens das Inspees

So mais eficazes que os testes


Testes

de unidade tipicamente encontram de 2 a 4


defeitos por hora
Inspees de cdigo tipicamente encontram por volta
de 10 defeitos por hora
Inspetores experientes so capazes de encontrar
70% ou mais de defeitos de um produto
Testes de unidade dificilmente superam um
rendimento de 50%

Vantagens das Inspees

Aps o teste de unidade, a remoo de


defeitos torna-se muito mais cara
No

teste de integrao e de sistemas so


necessrias de 10 a 40 horas do
programador para encontrar e corrigir cada
defeito
Inspees tipicamente levam menos de uma
hora por defeito

Vantagens das Inspees

No teste
Voc

comea com um problema


Em seguida tem que encontrar o bug
Depois, deve imaginar a correo
Por fim, implementa e testa a correo

Nas Inspees
Voc

v o defeito
Ento imagina a correo
Finalmente, implementa e revisa a correo

Vantagens das Inspees

No teste
Se

o programa produziu um resultado no


usual, voc precisa
Detectar que aquilo no foi usual
Descobrir o que o sistema estava fazendo
Encontrar em que ponto estava no programa
Descobrir que defeito poderia causar este
comportamento estranho

Vantagens das Inspees

Nas Inspees
Voc

segue sua prpria lgica


Quando encontra um defeito, sabe exatamente onde
est
Voc sabe o que o programa deveria fazer e no est
fazendo
Logo voc sabe porque isto um defeito
Portanto, est em melhor posio para imaginar uma
correo completa e eficaz
Quando combinadas com testes, o nmero de
defeitos encontrados pode superar os 90% de
defeitos existentes

Eficcia das Inspees


Cada estgio de teste (unidade,
integrao, aceitao e sistema) pode
descobrir e remover 30% dos defeitos
existentes
Cada inspeo dos modelos pode
descobrir e remover 65% dos defeitos
existentes
Cada inspeo do cdigo pode descobrir
e remover 60% dos defeitos existentes

Walkthrough

Reunies informais para avaliao dos produtos


Pouca ou nenhuma preparao requerida
O desenvolvedor guia os presentes atravs do
produto
O objetivo comunicar ou receber aprovao
So teis principalmente para requisitos e
modelos.

Walkthrough

Participantes O autor seleciona os participantes,


porm papeis especficos no so estabelecidos.
Passos

O autor seleciona os inspetores, obtm o aceite do convite dos


inspetores, agenda a reunio
O autor entrega o produto de trabalho aos inspetores antes da
reunio
Apresenta o produto de trabalho aos inspetores durante a
reunio de inspeo ou em outro meio apropriado
Os inspetores apresentam possveis no-conformidades,
comentrios e sugestes de melhoria
Baseado nas informaes apresentadas o autor faz as devidas
correes

Peer-Review Progressivas

Apresenta caractersticas de inspeo e de


walkthroughs

O material a ser revisado distribudo aleatoriamente para


os revisores (ex: numa reviso de cdigo, cada revisor
pode ficar com um trecho de cdigo)
Durante a reviso, cada revisor percorre o documento
revisado, como em um uma walkthrough.
Os demais revisores fazem suas consideraes, que so
registradas.
Ao trmino de cada trecho revisado, o revisor passa a vez
para o prximo e assim sucessivamente, at que todo o
material seja revisado.

Revises

As revises so utilizadas para Planos e


Processos em geral
Basicamente seguem as mesmas etapas da
Inspeo
O foco no encontrar defeitos e sim entrar em
acordo com as partes para utilizao do artefato
Os participantes vm de diferentes reas

Referncias

Watts S. Humphrey Introdution to the Team


Software Process, 2000, Addison Wesley.
G. Gordon Schulmeyer - Handbook of Software
Quality Assurance , 1999, Prentice Hall.
Jeff Tian Software Quality Engineering, 2005,
Wiley
Karl Wiegers
htttp://www.processimpact.com/pr_goodies.shtm
(05/07/2005)

Você também pode gostar