Verificação e validação de software

27
Verificação e validação de software Leonardo Melo Santos [email protected] FACULDADE INTEGRADA DO RECIFE Disciplina: Controle e avaliação de sistemas Professora: MSc Silvia Cássia Pereira

description

Verificação visa assegurar que o software seja desenvolvido de um modo apropriado e consistente. Validação visa assegurar que o software corresponda aos requisitos estabelecidos. Teste visa examinar o comportamento do software através de sua execução.

Transcript of Verificação e validação de software

Page 1: Verificação e validação de software

Verificação e validação de software

Leonardo Melo [email protected]

FACULDADE INTEGRADA DO RECIFEDisciplina: Controle e avaliação de sistemasProfessora: MSc Silvia Cássia Pereira

Page 2: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Introdução O que é? Características Atividades dinâmicas e estáticas V&V x SWEBOK V&V x MPS.br V&V x CMM-I Referências Sugestão

Agenda

Page 3: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWAbertura

Engenheiros de software buscam qualidade (e desenvolvem atividades de garantia de qualidade e de controle de

qualidade) aplicando métodos e medidas técnicas sólidas, conduzindo revisões técnicas formais e efetuando

teste de software bem planejado [Pressman, 2002]

Page 4: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWSiglas e abreviações da atualidade

V & V – Validação e verificação VVT ou VV & T – Validação,

verificação e teste

Page 5: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWTerminologia

Falta (fault): defeito, deficiência mecânica ou algorítmica que pode gerar uma falha.

Falha (failure): incapacidade de um sistema desempenhar a função exigida, violando suas especificações, que gera um erro.

Erro (error): item de informação ou estado de execução inconsistente (caminho de execução incorreto).

Falta Falha Erro

Page 6: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação Visa assegurar que o software seja desenvolvido

de um modo apropriado e consistente “Estamos construindo corretamente o produto?”

Validação Visa assegurar que o software corresponda aos

requisitos estabelecidos “Estamos construindo o produto certo?”

Teste Visa examinar o comportamento do software

através de sua execução

Verificação e validação de SW O que é?

Page 7: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Características

Principal objetivo: assegurar que o SW cumpra com suas especificações e atenda às necessidades dos usuários.

Ocorrem em todo o ciclo de vida do software

Page 8: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades

Estáticas Análise e checagem e documentos

Inspeção, análise e verificação formal

Dinâmicas Execução de código

Testes e verificação automática

Page 9: Verificação e validação de software

Verificação e validação de SWAtividades estáticas > Inspeção

Page 10: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção O processo de inspeção foi descrito primeiramente por

Michael Fagan e é composto por seis fases, que são: Planejamento, Apresentação, Preparação, Reunião de Inspeção, Retrabalho, Acompanhamento.

[Fagan, 1986] [MacDonald et al, 1995] Um grupo de inspeção (3 a 8 participantes) envolve

desenvolvedores de software, entre outros participantes, em um processo formal de investigação. Autor que é o desenvolvedor do produto a ser

inspecionado; Moderador que é o membro da equipe que lidera a

inspeção, programa e controla as reuniões; Redator que é aquele que tem como função relatar os

defeitos.

Page 11: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Planejamento

Os inspetores são selecionados e os materiais a serem revisados são preparados.

Page 12: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Apresentação

O grupo recebe instruções essenciais sobre o material a ser inspecionado, especialmente sobre o que deve ser inspecionado.

Page 13: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Preparação

Integrantes do time de inspeção se preparam para desempenhar o papel designado a cada um.

Page 14: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Reunião

Os defeitos são encontrados, discutidos e categorizados.

Page 15: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Retrabalho

O autor do documento corrige os defeitos encontrados pelo time de inspeção.

Page 16: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Inspeção > Acompanhamento

O time de inspeção é responsável por assegurar que todos os defeitos encontrados foram corrigidos e nenhum outro tipo de defeito foi introduzido na fase de Retrabalho.

Pode ser realizado somente pelo moderador.

Page 17: Verificação e validação de software

Verificação e validação de SWAtividades dinâmicas > Testes

Page 18: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Testes

Teste é uma atividade essencial para se garantir qualidade.

Segundo Pressman as atividades de teste consomem cerca de 40% do tempo e custo de desenvolvimento.

92% das organizações desejam melhorar o seu processo de teste.

Testes são um dos 3 pontos mais votados para melhoria nas empresas de software.

Page 19: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Testes > Etapas

Planejamento Especificação / projeto de casos de

teste Execução do programa com os casos

de teste Análise de resultados

Page 20: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Testes > Técnicas

Técnica Funcional (Caixa Preta) Requisitos funcionais do software

Técnica Estrutural (Caixa Branca) Estrutura interna do programa

Page 21: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SW Atividades > Testes > Estratégias

Teste de Unidade Identificar erros de lógica e de implementação

em cada módulo do software, separadamente. Teste de Integração

Identificar erros associados às interfaces entre os módulos do software.

Teste de Validação / Sistema Verificar se as funções estão de acordo com a

especificação e se todos os elementos do sistema combinam-se adequadamente.

Page 22: Verificação e validação de software

Verificação e validação de SWSWEBOK, MPS.br e CMM-I

Page 23: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWSWEBOK

Dentre as 10 áreas de conhecimento, “Verificação e validação” está presente na Qualidade de Software, na sub-área Processos de Gerência de Qualidade.

Se existe a Garantia de qualidade de SW, é porque existiu um esforço da Verificação e validação.

Avaliar produtos (finais ou intermediários) de software ao longo de todo o ciclo de produtos.

Garantir que os requisitos de software atendam aos usuários.

A verificação é uma tentativa de assegurar que o produto é construído corretamente.

A validação é uma tentativa de assegurar que o produto está sendo desenvolvido de acordo com as especificações.

Page 24: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWMPS.br

Dentre os 7 níveis do modelo, a Verificação e Validação estão localizados no nível D (4º nível de maturidade), chamado Largamente definido.

Verificação: “Confirmar que cada serviço e/ou produto de trabalho do processo ou do projeto reflete apropriadamente os requisitos específicos.”

Validação: “Confirmar que um produto ou componente do produto atenderá a seu uso pretendido quando colocado no ambiente para o qual foi desenvolvido.”

Page 25: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Verificação e validação de SWCMM-I

Dentre os 5 níveis do modelo, a Verificação e Validação estão localizados no nível 3º nível de maturidade, chamado Definido.

Verificação KPA: “Assegurar que os produtos de

trabalho selecionados satisfazem seus requisitos especificados.”

Validação: KPA: “Demonstrar que o produto ou

componentes do produto satisfazem seu uso pretendido quando colocado no ambiente pretendido.”

Page 26: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Referências [Fagan, 1986] FAGAN, Michael. "Advances in Software

Inspection", IEEE Transactions on Software Engineering, Vol. SE-12, NO. 7, Julho, 1986.

[Pressman, 2002] PRESSMAN, R. S. "Engenharia de Software", 5 ed., Rio de Janeiro: Mc Graw Hill, 2002.

FELIZARDO, K. Romero. Técnicas de VV&T - Validação, Verificação e Teste. Disponível em: http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=492. Acessado em: 20 de Abril de 2008.

Capability Maturity Model® Integration (v1.1) MPS.BR - Melhoria de Processo do Software Brasileiro

(v1.1)

Page 27: Verificação e validação de software

FIR | Controle e avaliação de sistemas | Verificação e validação de software | Leonardo Melo Santos | [email protected]

Sugestão