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

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

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

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

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

Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

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

Verificação e Validação

Engenharia de Software

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

VERIFICAÇÃO & VALIDAÇÃO

ENGENHARIA DE SOFTWARE

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Ciclo de vida: fases x atividades

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

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Verificação e Validação

Engenharia de Software

Processos de software

Introdução aos Testes de Software

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

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

Engenharia de Software II

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Guia do Processo de Teste Metodologia Celepar

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

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Princípios da Engenharia de Software aula 03

Processos de Software

Engenharia de Software II

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

Unidade 4 Teste na Implantação do Sistema

Título PROCESSO LABES ESPECIALIZADO PARA DESENVOLVIMENTO SEGUNDO O PARADIGMA ESTRUTURADO. Projeto. Analista; Requisitos Funcionais Escopo; Cliente;

Processo de Desenvolvimento. Edjandir Corrêa Costa

Introdução a Teste de Software

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

Testes de Software. Prof. Edjandir C. Costa

Engenharia de Software

- 8ª Lista de Exercícios -

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

Introdução a Engenharia de Software

Teste de Software. Karen Frigo Busolin Novembro / 2010

05/09/2013. Ciclo de vida de um Sistema de Informação

Engenharia de Software. Princípios da Engenharia de Software. Princípios da Engenharia de Software

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

2

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

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Engenharia de Software

Requisitos de Sistemas

Engenharia de Software II

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

Desenvolvimento Ágil de Software

Capítulo 8 Teste de Software 1

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

Processos de Validação e Verificação do MPS-Br

PROJETO DE BANCO DE DADOS

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

QUALIDADE DE SOFTWARE

TS02. Teste de Software INTRODUÇÃO AO PROCESSO DE TESTE DE SOFTWARE. COTI Informática Escola de Nerds

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

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

Engenharia de Software

Gerência de Projetos de Software. Prof. Dr. João Dovicchi INE / CTC / UFSC.

Prof. Dr. Thiago Jabur Bittar

Manutenção Leitura: Sommerville; Pressman

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Verificação e Validação. Ewelton Yoshio Fabrício Araújo

Engenharia de Requisitos

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Paradigmas de Software

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

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

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Engenharia de Software II

QUALIDADE DE SOFTWARE. Princípios de Engenharia de Software

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

Engenharia de Requisitos

Análise de Sistemas I

Estratégias de Testes Parte I

Capítulo 2 - Processos de Software

Transcrição:

Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo o produto? O software deve está de acordo com a sua especificação. Validação: Estamos construindo o produto certo? O software deve atender às necessidades dos usuários. Ocorrem em todo o ciclo de vida completo Revisões de requisitos, revisões de design, testes de código

O que deve ser verificado e validado? Fatores de Qualidade Operacionais Correção Eficiência ou desempenho Robustez Confiabilidade Usabilidade Utilidade e validade Fatores de Qualidade de Revisão relacionados com a manutenção, evolução e avaliação do software Fatores de Qualidade de Transição relacionados com a instalação, reutilização e interação com outros produtos

Técnicas de V & V (Sommerville) Inspeções de software (V & V estática) Análise da documentação e código fonte do software Pode ser auxiliado por ferramentas de depuração Testes de software (V & V dinâmica) O programa ou um protótipo devem ser executados Casos de testes deve ser elaborados: dados de entrada e comportamento esperado. Fonte: Ian Sommerville, 2007

Plano de V&V O processo de V&V ocorre durante todo o ciclo de vida Precisa ser planejado em conjunto com outras atividades do processo de software Fonte: Ian Sommerville, 2007

Inspeções de Software Características Técnica preventiva permite a V & V antes do software ser codificado Mais barata Baseada na experiência do inspetor Mais aplicada a fatores de revisão e transição Pouco eficaz para fatores operacionais Aplicações mais comuns Inspeção de programa fonte (estática e dinâmica) Inspeção de documentos e modelos Desenvolvimento Cleanroom

Abordagens para verificação da correção Inspeções analíticas Estática Rastreamento do código fonte (walkthrough) percorre-se o código executando-o mentalmente. Automatizada (dinâmica) Depuração execução passo-a-passo e visualização de variáveis do programa Testes de correção de programas Testes de unidade Testes de integração Prova Formal de Programas Utiliza métodos formais de desenvolvimento de software técnicas de especificação, transformação e prova formal

Prova Formal de Programas Utilizada em métodos formais Linguagens de programação são definidas formalmente (sintaxe e semântica formal) Linguagens de especificação formais também Pode-se provar matematicamente que um programa está correto em relação à especificação formal {x=5} x := x + 1; {x=6} Especificação: condição inicial Especificação: condição final

Desenvolvimento Cleanroom Baseado na idéia de sala limpa no desenvolvimento de circuitos integrados. A filosofia é prevenção ao invés de remoção de defeitos. Especificação formal usando um modelo de transição de estados. Desenvolvimento incremental onde o cliente prioriza os incrementos. Programação estruturada controle limitado e construções abstratas são usadas no programa. Verificação estática usando inspeções rigorosas. Fonte: Ian Sommerville, 2007

Testes de software Elaboração de casos de testes baseados na especificação funcional Dados de entradas Comportamento esperado Podem ser classificados Quanto ao objetivo Quanto ao escopo Quanto ao método Aplicações em fatores operacionais Correção Usabilidade Desempenho Robustez

Tipos de testes quanto ao objetivo Testes de Defeitos Tem por objetivo encontrar defeitos inconsistências entre o programa e a sua especificação. Verifica a correção conhecido também por testes de correção Normalmente realizados com protótipos funcionais Testes de Validação Utilizado para demonstrar ao desenvolvedor e ao cliente do sistema que o software atende aos seus requisitos. Um teste bem sucedido visa mostrar que o sistema opera conforme especificado pelo cliente.

Tipos de testes quanto ao método Testes Controlados Realizados em laboratório ou em condições operacionais sob a supervisão de um testador Baseados na geração de casos de testes Podem ser realizados com protótipos funcionais Testes Estatísticos Utilizados para verificar como o software nas condições operacionais (versão beta) Avalia desempenho, robustez, confiabilidade, etc Utiliza programa de monitoramento e logs com ocorrências operacionais. Exemplos de medições: Número de falhas observadas Tempos de resposta Tempos de execução

Tipos de testes quanto ao escopo Testes de Unidade (componente) Conhecidos como testes em ponto pequeno São testadas as unidades individuais funções, objetos, componentes. Testes de Integração (sistema) Conhecidos como testes em ponto grande Os componentes são integrados e o conjunto maior é testado módulo e sub-sistemas. Fonte: Ian Sommerville, 2007

Testes de integração incremental

Testes de integração Top-down Começa pelos componentes de alto nível e vai descendo na hieraquia de componentes, de acordo com a arquitetura do software. Os sub-componentes são representados por stubs. Stubs tem a mesma interface, mas não precisa ter funcionalidade. Basta retornar valores esperados.

Testes de integração Bottom-up Integra unidades já testadas em módulos de mais alto nível, de acordo com a arquitetura.