Verificação e validação de software Leonardo Melo Santos [email_address] FACULDADE INTEGRADA DO RECIFE Disciplina: Controle e avaliação de sistemas Professora: MSc Silvia Cássia Pereira
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
Verificação e validação de SW Abertura 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]
Verificação e validação de SW Siglas e abreviações da atualidade V  &  V – Validação e verificação VVT ou VV  &  T – Validação, verificação e teste
Verificação e validação de SW Terminologia 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
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 é?
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
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
Verificação e validação de SW Atividades estáticas > Inspeção
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.
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.
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.
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.
Verificação e validação de SW  Atividades > Inspeção > Reunião Os defeitos são encontrados, discutidos e categorizados.
Verificação e validação de SW  Atividades > Inspeção > Retrabalho O autor do documento corrige os defeitos encontrados pelo time de inspeção.
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.
Verificação e validação de SW Atividades dinâmicas > Testes
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.
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
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
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.
Verificação e validação de SW SWEBOK, MPS.br e CMM-I
Verificação e validação de SW SWEBOK 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.
Verificação e validação de SW MPS.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. ”
Verificação e validação de SW CMM-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. ”
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)
Sugestão

Verificação e validação de software

  • 1.
    Verificação e validaçãode software Leonardo Melo Santos [email_address] FACULDADE INTEGRADA DO RECIFE Disciplina: Controle e avaliação de sistemas Professora: MSc Silvia Cássia Pereira
  • 2.
    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
  • 3.
    Verificação e validaçãode SW Abertura 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]
  • 4.
    Verificação e validaçãode SW Siglas e abreviações da atualidade V & V – Validação e verificação VVT ou VV & T – Validação, verificação e teste
  • 5.
    Verificação e validaçãode SW Terminologia 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
  • 6.
    Verificação Visa assegurarque 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 é?
  • 7.
    Verificação e validaçãode 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
  • 8.
    Verificação e validaçãode 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
  • 9.
    Verificação e validaçãode SW Atividades estáticas > Inspeção
  • 10.
    Verificação e validaçãode 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.
  • 11.
    Verificação e validaçãode SW Atividades > Inspeção > Planejamento Os inspetores são selecionados e os materiais a serem revisados são preparados.
  • 12.
    Verificação e validaçãode 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.
  • 13.
    Verificação e validaçãode SW Atividades > Inspeção > Preparação Integrantes do time de inspeção se preparam para desempenhar o papel designado a cada um.
  • 14.
    Verificação e validaçãode SW Atividades > Inspeção > Reunião Os defeitos são encontrados, discutidos e categorizados.
  • 15.
    Verificação e validaçãode SW Atividades > Inspeção > Retrabalho O autor do documento corrige os defeitos encontrados pelo time de inspeção.
  • 16.
    Verificação e validaçãode 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.
  • 17.
    Verificação e validaçãode SW Atividades dinâmicas > Testes
  • 18.
    Verificação e validaçãode 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.
  • 19.
    Verificação e validaçãode 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
  • 20.
    Verificação e validaçãode SW Atividades > Testes > Técnicas Técnica Funcional (Caixa Preta) Requisitos funcionais do software Técnica Estrutural (Caixa Branca) Estrutura interna do programa
  • 21.
    Verificação e validaçãode 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.
  • 22.
    Verificação e validaçãode SW SWEBOK, MPS.br e CMM-I
  • 23.
    Verificação e validaçãode SW SWEBOK 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.
  • 24.
    Verificação e validaçãode SW MPS.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. ”
  • 25.
    Verificação e validaçãode SW CMM-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. ”
  • 26.
    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)
  • 27.