Você está na página 1de 18

AULA Nº 06

GERÊNCIA E QUALIDADE
DE SOFTWARE

Técnicas de revisão

1
Visão geral
• Revisão / análise de artefatos de software à procura
de problemas
• Objetivo: melhorar a qualidade do software
• Verificar a conformidade com padrões
• Garantia da qualidade
• Descobrir problemas e omissões nos artefatos
• Controle da qualidade

2
Visão geral
• Em geral, são técnicas estáticas de V&V
• Não executam o código
• Exemplo de revisão dinâmica: inspeção de usabilidade
• Aplicáveis para diversos artefatos
Exemplo: planos, código, modelos e casos de teste

3
Visão geral
• Funciona como um filtro (Pressman e Maxim, 2016)
• Modelo de amplificação de defeitos (sem revisão)
Definição e análise
de requisitos Projeto Implementação Teste
8 16 42
epassados 0 8 16 42
plificados 0 0% 4 x 1,5 30% 8 x 1,5 30% 0 50%
4 8 0
Novos 12 18 32
% corrigidos
Produção

21 defeitos 4
Visão geral
Modelo de amplificação de defeitos (com revisão)

Definição e análise
de requisitos Projeto Implementação Teste
4 6 22
Repassados 0 4 6 22
mplificados 0 50% 2 x 1,5 60% 4 x 1,5 50% 0 50%
2 4 0
Novos 12 18 32
% corrigidos
Produção

11 defeitos
5
Vantagens
• Redução de tempo de desenvolvimento e custo
• Diminui o retrabalho
• Exemplo: Inspeção (Fagan, 1986)
Planejamento

Recursos (pessoas)
Requisitos

Sem inspeção
Com inspeção

Projeto Teste Entrega


6
Cronograma
Vantagens
• Sessão de revisão identifica diversos defeitos
• Nos testes um defeito pode mascarar outro
• É possível executá-la em artefatos incompletos
• Pode analisar características de qualidade
• Ajuda no treinamento dos membros da equipe
• Alguns números (McConnel, 2004)
• Inspeção de código detecta 60% dos defeitos
• Teste de unidade detecta 30%
7
Desvantagens
• Não são substitutos de testes
Testes são mais eficazes para:
• Defeitos provenientes da interação entre componente
• Questões de temporização e desempenho
• Custo
• Tempo para realizar as revisões
• Preparação da equipe
• Dificuldade de medir as vantagens
• É necessário medição e histórico
8
Desvantagens

• Processo público de detecção de defeitos


• O que está sendo avaliado é o produto e não quem o fe
• Não deve ser usado para avaliação da pessoa
• "Inquisição“
• O processo deve ser construtivo

9
Tipos
• Revisão informal
• Sem uma agenda bem definida
• Não precisa de uma preparação
• Sem um acompanhamento posterior
Exemplos
• Programação em duplas (pair programming)
• Reuniões diárias, semanais, ou ao final da interação
• Essas reuniões podem ser também formais

10
Tipos
• Revisões formais
• Realizada por pequenos grupos
• Formato geral
• Atividades pré-revisão
• Planejamento
• Leitura e análise do artefato individualmente
• Reunião de revisão
• Registro dos comentários
• Atividades pós-revisão
• Acompanhamento dos problemas encontrados
11
Revisões formais
• Alguns tipos (IEEE 1028, 2008)
• Revisões gerenciais
• Revisões técnicas
• Inspeção
• Walkthrough
• Auditoria

12
Inspeção
• Técnica de revisão formal
• Desenvolvida na IBM por Fagan (1976)
• Experimentação com várias formas de revisão
• Originalmente para código
• Mas pode ser usado para outros escopos/artefatos

13
Inspeção
• Características principais
• Uso de checklists
• Classificação dos defeitos identificados
• Ênfase na preparação
• A leitura do artefato não é feita pelo autor → leitor

14
Walkthrough
• Análise do produto passo a passo
• Pode usar dados de teste (execução manual)
• Usos:
• Identificar anomalias
• Analisar alternativas de solução
• Avaliar usabilidade do produto
• Melhorar o produto
• Exemplo: solução mais eficiente
• Treinar a equipe
15
Conclusão
• Revisões são complementares aos testes
• Não é adequado fazer só revisões

• Existem diversas formas de revisões


• Inspeção: mais formais (importância da preparação)
• Walkthrough: a reunião analisa o produto passo a passo
• Auditoria: organização externa

16
Referências
• FAGAN, M.E. Advances in Software Inspections. IEEE
Transactions on Software Engineering, v.12, n.7, 1986.
• IEEE. IEEE Standard for Software Reviews and Audits
IEEE 1028, 2008.
• MCCONNEL, S. Code Complete: Um Guia Prático Para
Construção de Software. 2ª edição. Bookman, 2005.
• PRESSMAN, R.S.; MAXIM, B.R. Engenharia de Software
Uma abordagem profissional. 8ª edição. McGrawHill /
Bookman, 2016.
17
AULA Nº 06
GERÊNCIA E QUALIDADE
DE SOFTWARE

Técnicas de revisão

18

Você também pode gostar