Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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