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 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

Leitor

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