VERIFICAÇÃO & VALIDAÇÃO

Documentos relacionados
Verificação e Validação (V & V)

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Organização para Realização de Teste de Software

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

Teste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado

Processos de software

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:

Estratégias de Testes Parte I

Verificação e Validação

ENGENHARIA DE SOFTWARE

Verificação e Validação

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

Garantia de Confiança e Proteção

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Engenharia de Software II

Requisitos de Sistemas

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Introdução a Engenharia de Software

Análise e Projeto Orientado a Objetos

Engenharia de Software

Qualidade, Verificação e Validação

Verificação e validação

Testes de Software. Prof. Edjandir C. Costa

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

ENGENHARIA DE SOFTWARE

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Requisitos de Software

Especificação Formal de Software

1. A principal razão de dividir o processo de teste em tarefas distintas é:

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Verificação e Validação

Engenharia de Software II

Engenharia de Software. Teste de Software. Introdução. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Garantia de Qualidade: Inspeção em DR

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Teste de Software. Professor Maurício Archanjo Nunes Coelho

Engenharia de Software Sistemas Sociotécnicos

Análise de sistemas. Engenharia de Requisitos

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Requisitos de Software

Professor Emiliano S. Monteiro

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Confiança. Objetivos. Reflete o grau de confiança do usuário no sistema

Requisitos de Sistemas

ENGENHARIA DE REQUISITOS

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Métodos formais. Especificação Formal. Aceitação de métodos formais. O uso de métodos formais. Especificação e projeto

Engenharia de Software

Especificações Formais

Qualidade de software. Prof. Emiliano Monteiro

Introdução à Qualidade de Software

Introdução a Engenharia de Software

Princípios da Engenharia de Software aula 03

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Processo de Desenvolvimento. Edjandir Corrêa Costa

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

SOFTWARE REQUIREMENTS

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Aula 6 - Análise de Requisitos: Especificação de Requisitos. Análise de Sistemas Prof. Filipe Arantes Fernandes

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

QUALIDADE DE SOFTWARE. Princípios de Engenharia de Software

Engenharia de Software

Engenharia de Requisitos

MODELOS DE PROCESSOS (PARTE 2)

Garantia de Qualidade

Manutenção Leitura: Sommerville; Pressman

06/02/2014. Engenharia de requisitos. Requisitos de Software. Capítulo 6. O que é um requisito? Objetivos. Abstração de requisitos (Davis)

Teste de Software Básico

Requisitos de Software

Instituto Federal de São Paulo Campus Presidente Epitácio. Disciplina: História da Ciência e da Tecnologia

Fundamentos de Teste de Software

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Análise de Requisitos

Marcelo Henrique dos Santos

Atuar no planejamento e execução das Auditorias da Qualidade. Estabelecer lista de verificação para auditoria;

Abordagem para Construção de SI. Ciclo de Vida de Sistemas Tradicionais

NBC TA 520 Procedimentos analíticos

FATORES E MÉTRICAS DE QUALIDADE

Processos de Software

Capítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

Documento de Requisitos*

ENGENHARIA DE SOFTWARE. Introdução

Leitura: Cap : Sommerville; cap20: Pressman

Processos de Software

TECNOLOGIAS DE CONSTRUÇÃO

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Engenharia de Software II

Transcrição:

VERIFICAÇÃO & VALIDAÇÃO Validação: Estamos construindo o produto certo? Verificação envolve checar se o software cumpre com suas especificações. Verificação: Estamos construindo certo o produto? Validação é um processo mais genérico. É necessário assegurar que o software atende às expectativas do cliente. Mostra que o software faz o que o cliente espera que faça, exatamente como foi especificado. 1

Processo de Validação e Verificação (V&V): Inspeções de software: técnicas estáticas (Não requer que o sistema seja executado) consistem em verificação das representações do sistema, documentação, diagramas e código-fonte. Teste de software: Executar uma implementação do software com dados de teste e executar saída e comportamento operacional afim de verificar se está sendo executado conforme esperado. Ex. Testes de defeitos, testes estatísticos. Inspeções de software 2

Processo de Validação e Verificação (V&V): A meta definitiva do processo de Validação e Verificação é estabelecer a confiança de que o sistema de software é adequado ao seu propósito, isto é, significa garantir que o sistema é suficientemente bom para o seu propósito. Nível de confiança: Função do software (depende de quanto é importante para uma organização) Expectativas do usuário. Ambiente de mercado. A Validação e Verificação são um processo que estabelece a existência de defeitos em um processo de software. A operação é um processo que localiza e corrige estes defeitos. 3

Plano de teste com planejamento de Validação e Verificação: 4

Métodos formais: O uso de especificação matemática formal e da verificação associada é obrigatório nos padrões de defesa do Reino Unido para softwares críticos de segurança. Especificação formal pode ser desenvolvida e matematicamente analisada quanto a sua inconsistência. É eficaz para descobrir erros e omissões de especificação. Pode ser desenvolvida uma verificação formal de que código de um sistema é consistente com a especificação. É eficaz em descobrir erros de programação e alguns erros do projeto. Métodos formais Vantagens: Força uma analise detalhada da especificação. Pode revelar inconsistência ou omissões em potencial. 5

Métodos formais Desvantagens: Requer notações especializadas. Só são utilizados por pessoal especialmente treinado e não podem ser compreendidas por especialistas do domínio. Problemas com requisitos podem ficar ocultos pela formalidade. A especificação pode ser matematicamente consistente, mas não especificar as propriedades do sistema realmente requeridas. Métodos formais Desvantagens: Verificação não trivial toma bastante tempo e requer ferramentas especializadas como provadores de teoremas e perícia matemática. O tamanho que o sistema aumenta, os custos de verificação formal crescem desproporcionalmente. A prova pode supor um padrão incorreto de uso. 6

Validação de requisitos de confiabilidade Processo de requisitos de confiabilidade: Identificar perfis operacionais Preparar conjunto de dados de testes Aplicar testes ao sistema Calcular confiabilidade observada Validação de requisitos de confiabilidade Processo de requisitos de confiabilidade O principal objetivo do teste estatístico é avaliar a confiabilidade do sistema (enquanto os testes para detecção de defeitos têm como objetivo detectar erros). Principais dificuldades: Incerteza do perfil operacional. Altos custos de geração de dados de teste. Incerteza estatística quando uma alta confiabilidade é especificada. 7

Perfil Operacional: Perfil operacional muda conforme o usuário conhece o sistema e confia na própria experiência de utilização. Modelos de Confiabilidade: Modelo de aumento de confiabilidade por etapas iguais. ROCOF: Rate of failure occurrence 8

Modelos de Confiabilidade: Modelo de aumento de confiabilidade de funções por etapas aleatórias Modelos de Confiabilidade: Modelo de Previsão de confiabilidade 9

Devido às taxas de falhas extremamente baixas, que são requeridas em muitos sistemas críticos, os testes estatísticos nem sempre podem fornecer uma estimativa quantitativa da confiabilidade do sistema em razão do elevado número de testes exigidos. ARGUMENTO DE SEGURANÇA É possível desenvolver um argumento de segurança que demonstre que o programa cumpre com suas obrigações de segurança. Não é necessário provar que o programa cumpre com sua especificação. O importante é demonstrar que a execução do programa não pode resultar em um estado inseguro. 10

ARGUMENTO DE SEGURANÇA A técnica muito utilizada é a prova de contradição. Significa supor que o estado inseguro (identificado pela analise de perigo), pode ser alcançado com a execução do programa. O código é analisado e demonstra-se que as pré-condições para esse estado de perigo são contraditórias às pós-condições de todos os caminhos conduzem àquele estado. Assim a suposição inicial de um estado inseguro é incorreta. ARGUMENTO DE SEGURANÇA Ex. Bomba de Insulina. Argumento de Segurança: Demonstrar que a dosagem aplicada de insulina nunca será maior que a dosagem máxima. Estado inseguro: CurrentDose(Dosagem Atual) > MaxDose(Dosagem Máxima) Demonstração: Todos os caminhos do programa levam a uma contradição de asserção de insegurança. 11

Código de fornecimento de Insulina... currentdose=computeinsulin(); //checar segurança Ajustar currentdose se necessário. IF(previousDose==0) IF (currentdose>16) currentdose=16; else IF(currentDose>(previousDose*2)) currentdose=previousdose*2; IF(currentDose<minimunDose) currentdose=0; else IF(currentDose>maxDose) currentdose=maxdose; administrateinsulin(currentdose); 12

Notas de Aula retiradas do Livro Livro: ENGENHARIA DE SOFTWARE SOMMERVILLE, IAN 6 Ed. 13