Verificação e Validação



Documentos relacionados
Engenharia de Software

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas

Análise de Sistemas. Conceito de análise de sistemas

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Teste de Software. Profa. Cátia dos Reis Machado

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

NP EN ISO 9001:2000 LISTA DE COMPROVAÇÃO

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software

Atividade da gerência da qualidade

GARANTIA DA QUALIDADE DE SOFTWARE

Fundamentos em Teste de Software. Vinicius V. Pessoni

Informática II Cap. 3

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

sistemas de informação nas organizações

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites

Modelo Cascata ou Clássico

REQUISITOS. Prof. Msc. Hélio Esperidião

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Verificação é um processo para se determinar se os produtos, (executáveis ou

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

Teste de Software. Prof. Wylliams Barbosa Santos Laboratório de Programação

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Gestão de Configuração

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Escola Secundária/3 da Maia Cursos em funcionamento Técnico de Electrónica, Automação e Comando

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Projectos de Software

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

GUIA PARA O RECONHECIMENTO DOS PROCEDIMENTOS DE AVALIAÇÃO DA CONFORMIDADE

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Engenharia de Sistemas Computacionais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Metodologia Projectual?

PLANOS DE CONTINGÊNCIAS

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Software Integration Procedure

Modelo para Documento de. Especificação de Requisitos de Software

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

MODELAGEM DE SISTEMA Apresentação

Material para os Discentes da Universidade da Madeira. NP EN ISO 9000, 9001 e Elaborado em 2005 por. Herlander Mata-Lima

Engenharia de Requisitos

Orientação a Objetos

Engenharia de Software

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Processo do Serviços de Manutenção de Sistemas de Informação

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Sistemas de Informação para a Gestão

Gerência de Configuração. Profº Rômulo César

Gerenciamento de Incidentes - ITIL. Prof. Rafael Marciano

. evolução do conceito. Inspecção 3. Controlo da qualidade 4. Controlo da Qualidade Aula 05. Gestão da qualidade:

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Gerência de Projetos

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Melhoria Contínua PDCA/SDCA e suas ferramentas 06/04/2011

Modelos de Qualidade de Produto de Software

Dicionário da EAP - Software FarmaInfor

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Engenharia de Software III

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Qualidade de Software. Profa. Cátia dos Reis Machado

Enunciados dos Trabalhos de Laboratório. Instituto Superior Técnico / Introdução. 2 Configuração de Redes

Auditorias da Qualidade

Universidade de Brasília Faculdade de Ciência da Informação Profa. Lillian Alvares

ENGENHARIA DE SOFTWARE I

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Teste de Software I Conceitos e Estratégias

Análise Estruturada de Sistemas

Sistemas Cliente-Servidor

LEARNING MENTOR. Leonardo da Vinci DE/09/LLP-LdV/TOI/ Perfil do Learning Mentor. Módulos da acção de formação

Escola Superior de Gestão, Hotelaria e Turismo 2015/2016

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Sistemas Operacionais

Planificações 2012/2013. Tecnologias da Informação e Comunicação. 2ºAno. Escola Básica Integrada de Pedome. C E F Apoio à Família e à Comunidade

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

AS AUDITORIAS INTERNAS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

Transcrição:

Verificação e Validação Patrícia Macedo Joaquim Filipe João Ascenso 2005/2006 EST, Setúbal Verificação e Validação Verificação Garante que o software cumpre as especificações Consistência interna Estamos a construir o produto de uma forma adequada? Validação Garante que o software vai ao encontro das necessidades do utilizador Consistência externa Estamos a construir o produto certo? 1

Garantir a qualidade... Garantir que cada uma das qualidades do software é alcançada: Os objectivos são definidos na especificação dos requisitos São alcançados na implementação Por vezes fácil, por vezes difícil Portabilidade vs segurança Por vezes imediata, por vezes necessita de mais tempo: Compreensão vs evolutibilidade Por vezes fácil de provar, por vezes difícil Dimensão vs correcção O processo ideal Especificação formal completa do problema a resolver Desenho, em notação formal Código, numa linguagem verificável Código de máquina executável Execução em hardware verificável Transformação que preserva a correção Transformação que preserva a correção Transformação que preserva a correção Transformação que preserva a correção 2

O que realmente se passa... Mistura de especificações formais e informais Desenho, em notação semi-formal Código, em C++, Java, Ada, Código máquina Pentium Execução em hardware comercial Transformação manual Transformação manual Compilação por um compilador comercial Firmware comercial Primeiro problema Necessidades Especificação actual Especificação correcta Por muito mais sofisticado que seja o processo de teste, o problema de criar a especificação inicial persiste 3

Segundo problema Comunicações de dados complexa E.g. Transferência de fundos electrónica Processamento distribuído E.g. Motor de procura www Objectivos de desempenho exigentes E.g. Sistema de controlo de tráfego aéreo Processamento complexo E.g. Sistema de diagnóstico médico Por vezes, o sistema de software é extremamente complicado, tornando o processo de teste díficil de realizar Terceiro Problema Gestão de Projectos Grupo que garante a qualidade Grupo de desenvolvimento É díficil dividir as responsabilidades entre o grupo de desenvolvimento e o grupo que garante a qualidade 4

Quarto problema Regras para garantir a qualidade... Deve-se verificar o código todos os dias Deve-se comentar o código Deve-se Garantir a qualidade deve descobrir as falhas Responsabiliza os programadores Cria uma imagem de competição Garantir a qualidade é encarada de uma forma negativa Deixa-me apenas programar... Teste de software Testar um módulo, uma conjunto de módulos ou um sistema Utilizar entradas predeterminadas ( test case ) Capturar a saída Comparar a saída com a saída esperada Saída actual igual à esperada => sucesso Saída actual diferente da esperada => erro 5

Terminologia Fracasso (failure) Saída incorrecta ou não esperada Sintoma de uma falha Falha (fault) Estado de execução inválido Sintoma de um erro Poderá produzir um fracasso (ou não) Erro (error) Defeito ou anomalia do código fonte Também é referido como um bug Poderá produzir uma falha (ou não) Objectivos da fase de teste Revelar fracassos/falhas/erros Localizar fracassos/falhas/erros Mostrar a correcção do sistema Dentro dos limites de precisão Melhorar a confiança que o sistema possui um comportamento igual ao especificado (verificação) Melhorar a confiança que o sistema faz ou realiza o desejado (validação) A fase de teste pode ser utilizada para mostar a presença de erros, mas nunca a sua ausência [Dijkstra] 6

Níveis de Teste e o modelo de desenvolvimento de software (reprinted) Execute acceptance tests Specify Requirements (revisited) Design Code Requirements review Design review Specify/Design System/acceptance test plan & test cases review/audit Code Specify/Design System/acceptance tests Integration test plan & test cases review/audit Code Specify/Design Integration tests Code reviews Execute unit tests Unit test plan & test cases review/audit Code Unit tests Execute system tests Execute integration tests (source: I. Burnstein, pg.15) Testes unitários (reprinted) Teste de unidades de programa ou de componentes Usualmente da responsabilidade do programador. Testes são baseados no código e nas especificações das unidades O principal objectivo é detectar defeitos funcionais e estruturais nas unidades 7

Teste de Integração Testa grupos de componentes integrados para criar um sub-sistema. Usualmente da responsabilidade de uma equipa independente de testes. Testes são baseados na especificação do sistema (design) O principal objectivo é detectar falhas nas interfaces entre as unidades. Teste de sistema Testar o sistema como um todo Usualmente da responsabilidade de uma equipa independente Testes são baseados no documento de especificação de requisitos. O principal objectivo é avaliar os atributos de qualidade. (parte-se do principio que os requisitos funcionais foram testados nos atestes unitarios e de integração) 8

Testes de Aceitação Testar o sistema como um todo Usualmente da responsabilidade do cliente Os testes são baseados na especificação de requisitos e no manual do utilizador. O principal objectivo é verificar se o produto desenvolvido vai de encontro às expectativas do utilizador. Tarefas da fase de teste Elaborar test cases A áreas especifícas do sistema Especificar entradas Criar as saídas desejadas Escolher test cases Nem todos precisam de ser executados simultâneamente Executar os test cases De uma forma sistemática, repetível, e precisa 9

Duas abordagens Teste White Box Teste estrutural Desenho e selecção dos test cases, execução baseada na estrutura do código fonte Escala: testa os detalhes específicos Desvantagens: necessita do código fonte Teste Black box Teste baseado na especificação Desenho e selecção dos test cases, execução baseada nas especificações Escala: Testa o comportamento geral do sistema Desvantagem: Menos sistemático Planeamento dos testes Software project (management) plan (note: for many authors, QA V&V) (adapted from: Ilene Burnstein, Practical Software Testing) 10

Documentos de Especificação de testes 1. Documento de especificação dos Testes de Aceitação 2. Documento de especificação detestes do Sistema 3. Documento de especificação de Testes de Integração 4. Documento de especificação de Testes Unitários Conteudo do Documento de Especificação de Testes 1. Identificador do plano 2. Introdução (porque) Descrição geral do sistema a ser testado e/ou das suas unidades Descrição geral dos objectivos dos testes e das tecnicas utilziadas 3. Items a serem testados (o quê) Lista de itens a serem testados : procedimentos, classes, modulos, bibliotecas, componentes sistemasetc Incluir referencias para os documentos onde estes items e seus comportamentos são descritos (documento de especificaçaõd e requisitos e de desenho, manuais de utilizador etc) Listar também os items que não são testados 11

Conteudo do Documento de Plano de Testes 4. Caracteristicas a serem testadas (o quê) Caracteristicas funcionais e de qulaidade a sere testadas Lista das caracteristicas a não serem testadas 5. Aproximação (como) Descrição dos vários tipos de teste a aplicar Para cada caracteristica indicar que tipo de teste se irá realizar Indicar as ferramentas e técnicas que vãos er aplicadas. Constragimentos (tempo, dinheiro) 6. Ambiente de teste Software e hardware necessários Conteúdo do Documento de Plano de Testes 7. Responsabilidades Funções e responsabilidade de cada teste. 8. Escalonamento (scheduling) Duração de cada tarefa e instante de conclusão 9. Riscos e contigencias Os riscos devem ser identificados e avaliados 10. Custos dos testes Custos divididos por tipo de Custos (custos de palneamento, de concepção, de implementação) 11. Aprovações Datas e assinaturas de quem é responsavel por aprovar so testesresponsabilidades 12