Revisões de Software
Parte 1
Ricardo de Almeida Falbo
Tópicos Especiais – Qualidade de Software
2008/2
Departamento de Informática
Universidade Federal do Espírito Santo
Agenda




Verificação & Validação
Revisões de Software
Técnicas de Leitura de Software
Técnicas de Leitura de Orientadas a Objetos
Tópicos Especiais - Qualidade de Software 2008/2
2
Verificação e Validação
Gerência de Configuração
de Software
Documentação
Qualidade de Software
Verificação e Validação
Tópicos Especiais - Qualidade de Software 2008/2
3
Verificação



Visa assegurar que o produto de uma fase está
de acordo com os requisitos especificados nas
fases anteriores.
Não busca assegurar que o produto está correto,
mas averiguar se está de acordo com as
especificações pré-estabelecidas.
Em suma, a pergunta a ser feita é: Está-se
desenvolvendo o produto corretamente?
Tópicos Especiais - Qualidade de Software 2008/2
4
Validação


Visa assegurar que o produto de uma fase é
apropriado e consistente com as necessidades
de clientes e usuários.
A pergunta a ser feita é: Está-se desenvolvendo
o produto correto?
Tópicos Especiais - Qualidade de Software 2008/2
5
Terminologia - Padrão IEEE 610.12-1990




Defeito (fault): passo, processo ou definição de
dados incorretos. Ex.: um comando incorreto.
Engano (mistake): ação humana que produz um
resultado incorreto. Ex.: ação incorreta tomada
por um programador.
Erro (error): diferença entre o valor obtido e o
valor esperado. Qualquer estado intermediário
incorreto ou resultado inesperado.
Falha (failure): produção de uma saída incorreta
com relação à especificação.
Tópicos Especiais - Qualidade de Software 2008/2
6
Terminologia adotada


Defeito: não faremos distinção entre os termos
defeito, engano e erro. Todos serão tratados
como defeito, que estará associado à causa de
um comportamento incorreto.
Falha: usaremos este termo para designar um
comportamento incorreto, ou seja, a
conseqüência.
Tópicos Especiais - Qualidade de Software 2008/2
7
Análise Estática e Análise Dinâmica


Análise Estática: não envolve a execução
propriamente dita do produto. Pode e deve ser
aplicada em qualquer artefato intermediário.
Ex.: Revisões técnicas, inspeção de código.
Análise Dinâmica: envolve a execução do
produto. Ex.: Testes.
(Maldonado e Fabbri em (Rocha et al., 2001)).
Tópicos Especiais - Qualidade de Software 2008/2
8
Revisão de Software


Visa assegurar que o produto produzido em uma
fase possui qualidade suficiente para ser usado
em outra fase.
Artefatos são revisados ao longo do processo de
software garantir que a equipe está utilizando
artefatos com a qualidade mínima especificada
(Travassos in (Rocha et al., 2001)).
Tópicos Especiais - Qualidade de Software 2008/2
9
Histórico


Inicialmente, revisões de software foram
aplicadas especificamente a código-fonte.
Atualmente são aplicadas a diversos artefatos
gerados ao longo do processo de software, com
o intuito de encontrar defeitos.
(Travassos in (Rocha et al., 2001))
Tópicos Especiais - Qualidade de Software 2008/2
10
Tipos de Defeitos Detectados em
Revisões de Software


Omissão: informações relevantes sobre o
sistema foram omitidas do artefato de software.
Ex.: requisito não incluído, seções de
documentos faltando, diagramas faltando, falta
de descrições etc.
Fato incorreto: informações no artefato
contradizem informações presentes na
especificação de requisitos (quando a mesma
está correta) ou o conhecimento geral do
domínio. Ex.: requisito incorreto, um diagrama
de análise contendo uma representação
incorreta de um conceito.
(Travassos in (Rocha et al., 2001))
Tópicos Especiais - Qualidade de Software 2008/2
11
Tipos de Erros Detectados em Revisões
de Software



Inconsistência: informações de uma parte do
artefato estão inconsistentes com outras partes do
mesmo artefato ou de outro artefato
correlacionado. Ex.: requisitos conflitantes,
diagramas inconsistentes.
Ambigüidade: informações em um artefato podem
ser interpretadas de diferentes maneiras. Ex.:
descrição ambígua de requisitos, representação
pouco expressiva em um diagrama.
Informação estranha: informações desnecessárias
e não utilizadas. Ex.: informações constantes em
uma especificação de requisitos mas nunca usadas.
(Travassos in (Rocha et al., 2001))
Tópicos Especiais - Qualidade de Software 2008/2
12
O Processo de Revisão de Software

Planejamento




Preparação (opcional)


Definir quem vai revisar o artefato, quando, as técnicas
de detecção a serem empregadas etc.
Revisões individuais ou em equipe.
Revisões em etapas.
O autor do artefato pode descrever o artefato e a
perspectiva utilizada em sua construção para o(s)
revisor(es).
Revisão Individual


Detecção de defeitos
Registro de defeitos
Tópicos Especiais - Qualidade de Software 2008/2
13
O Processo de Revisão de Software

Reunião (opcional)



Produzir uma lista de defeitos.
Pesquisas recentes revelam que reuniões de revisão
não contribuem significativamente para aumentar o
número de defeitos encontrados.
Correção

Com base na lista de defeitos, o autor do artefato deve
corrigi-lo ou explicar os motivos que levam alguns deles
a não representarem problemas reais.
Tópicos Especiais - Qualidade de Software 2008/2
14
Abordagens para a Detecção de Defeitos

Ad-hoc: Quando não se define nenhuma
orientação de como se proceder para encontrar
defeitos.



Uso de listas de verificação (checklists)


É a abordagem normalmente utilizada.
Muito dependente das habilidades e conhecimento dos
revisores.
Não provê uma abordagem sistemática para a detecção
de defeitos, mas indica alguns defeitos recorrentes que
devem ser verificados, normalmente identificados pela
experiência da organização em revisões.
Técnicas de Leitura de Software
Tópicos Especiais - Qualidade de Software 2008/2
15
Download

Revisões de Software - Parte 1