O processo para realizar uma Inspeção de Software

Inspeção de Software é uma técnica de revisão da documentação de um software, que tem a finalidade de verificar a consistência de cada documento em diferentes fases de desenvolvimento.

A principal vantagem desta técnica é que ela não depende que exista uma primeira versão do código do sistema para que sejam iniciadas as atividade de qualidade de software.

Em alguns livros, a técnica de inspeção é conhecida como "Teste Estático". Logo, o teste de software, que é a verificação feita no sistema em execução, seria o "Teste Dinâmico".

O processo de inspeção de software tradicional [1] define as atividades para 3 diferentes papéis, que são: 

1. Moderador: é responsável por gerenciar a equipe de inspeção e por orientar os inspetores. Por exemplo, Gerente de Qualidade.
2. Inspetor: são os responsáveis por inspecionar a documentação do sistema durante todo o processo de desenvolvimento.  Por exemplo, Engenheiros de Qualidade ou Testadores de Software.
3. Autor: são os responsáveis por produzir a documentação do sistema durante todo o processo de desenvolvimento. Por exemplo, Analistas de Sistema, clientes ou Desenvolvedores de Software.

O processo de inspeção é composto por 5 atividades principais, que são:



1. Planejamento: nesta etapa o moderador define a equipe de inspeção e também organiza os documentos a serem inspecionados. 
2. Preparação individual: os inspetores analisam cada artefato de software, individualmente e produzem um relatório com cada defeito encontrado. 
3. Reunião de inspeção: é feita uma reunião entre o moderador, o inspetor e o autor do artefato, a fim de avaliar se as divergências encontradas são defeitos realmente ou são falsos positivos. 
4. Retrabalho: o autor corrige os defeitos encontrados. 
5. Continuação: a documentação do software corrigida é passada para o moderador, que decide se aquele artefato deve ou não ser novamente inspecionado.

Dentre as técnicas de inspeção de software mais comuns, temos:

1. Inspeção Ad hoc: que não segue nenhum padrão para realizar a inspeção, mas apenas o conhecimento do inspetor. 
2. Inspeção com Checklist: que é composto por uma lista de questões que guiam o inspetor sobre o que deve e o que não deve estar nos artefatos.

Um exemplo sobre uma técnica que usa Checklist é a PBR (Perspective-Base Reading)

Fonte:
[1] M.E. Fagan. Design and code inspections to reduce errors in program development. In IBM Systems Journal, pages 182–211, 1976.