Escolar Documentos
Profissional Documentos
Cultura Documentos
VISÃO GERAL
V&V:
Espalhadas por todo o processo de desenvolvimento
Teste:
Uma atividade específica de V&V
Talvez a atividade mais importante/crítica (pelo menos a mais “famosa”)
Objetivos
Identificar (para se corrigir):
Defeitos/Erros no software
Análise e Projeto
Implementação
Especificação
de Requisitos
A1 A4 A7 A10 A13
Teste
A2 A5 A8 A11 A14
A3 A6 A9 A12 A15
A19
A16
A17 Gerenciamento de Projeto A20
A18 A21
A22 A25
A23
Documentação de A26
A24 Sistema/Usuário A27
Fases
Análise e Projeto
Implementação
Especificação
de Requisitos
A1 A4 A7 A10 A13
V&V V&V V&V V&V V&V
Teste
A2 A5 A8 A11 A14
V&V V&V V&V V&V V&V
A3 A6 A9 A12 A15
V&V V&V V&V V&V V&V
Defeito (Fault):
Passo, processo ou definição de dados incorretos
Erro (Error):
Diferença entre o valor obtido e o valor esperado
Qualquer estado intermediário incorreto ou resultado inesperado na execução do
programa constitui um erro
Falha (Failure):
Produção de uma saída incorreta com relação à especificação
Engano
causa
conseqüência
Defeito
causa
conseqüência
Erro
causa
conseqüência
Falha
Padronização IEEE (610.12-1990)
Engano Depuração
busca/encontra
a presença encontra/corrige
(ele não sabe qual é)
Defeito (ele sabe qual é)
Testador Programador
Erro
evita novas
busca/encontra
(ele sabe qual é)
Falha
Padronização IEEE (610.12-1990)
Exemplo:
Código: (...)
if idade > 60 then desconto = 10%
else desconto = 5%
(...)
Total = Total * (1 - desconto)
(...)
Receber Total
Finalizar Transação
Padronização IEEE (610.12-1990)
Idade Identifica se o defeito foi encontrado em uma entidade que já existia, nova,
reescrita ou re-corrigida
Fonte Identifica se o componente contendo o defeito foi produzido dentro da empresa,
se foi reusado de outro projeto, se foi adaptado tendo sido implementado para
outro ambiente,ou se foi adquirido de terceiros
Classificação de Defeitos na HP
Origem: Onde?
Especificação de Requisitos
Projeto
Código
Ambiente/Suporte
Documentação
Outros
Classificação de Defeitos na HP
Tipo: O que?
Requisitos ou Especificações, Funcionalidade
Obscuro
Erro
Melhoramento
Modificação
V ou V?
Verificação: o artefato foi elaborado corretamente?
Aderência do artefato a padrão/regras/procedimentos definidos
Completude, precisão, consistência/coerência
Pode ser independente do desejo do usuário
Análise Dinâmica:
Envolve a execução do produto – o código propriamente dito ou alguma
especificação executável
Aplicável a artefatos intermediários/finais executáveis
Exemplos:
Para uma máquina de estados: simular seu funcionamento
Para um projeto de GUI: simular a navegação
Atividades V&V
Análise Estática:
Revisões Formais: exemplo mais clássico
Revisão Técnica: executada por membros de outras fases/equipes
Inspeção / Revisão por pares: executada por membros de mesma fase/equipe
Exemplo paralelo: inspeção de um automóvel
Vantagem: Custo
Desvantagem: Descentralização
Análise Dinâmica:
Teste de software: exemplo mais clássico
Teste de unidade, teste de integração, teste de sistema
Testes funcionais (caixa preta) e Testes estruturais (caixa branca)
Testes de funcionalidade, de desempenho, de segurança, de carga, de confiabilidade etc
Vantagem: Centralização
Desvantagem: Custo
Inspeção
Provadas como um técnica eficaz de detecção de defeitos
Mais barato que testes de software
equipe de inspeção com quatro pessoas, inspecionar cem linhas de código =
uma pessoa/dia
Possivelmente metade do esforço em teste para detectar a presença dos
Exemplos:
Máquina de estados finitos:
Código fonte: variáveis não iniciadas ou usadas
Atividade em grupo
Fazer uma análise do ciclo de vida de desenvolvimento de software
e de atividades de V&V:
Quais artefatos são gerados, em cada fase?
Relembrar ciclos de vida em cascata, espiral/incremental,RUP etc
Engenharia de Software
Ian Sommerville
6ª Edição
Addison Wesley
Capítulo:19