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



Documentos relacionados
Introdução a Verificação, Validação e Teste de Software

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

GARANTIA DA QUALIDADE DE SOFTWARE

Engenharia de Software

Engenharia de Software II

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Teste de Software Parte 1. Prof. Jonas Potros

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema

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

Projeto de Sistemas I

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

2. Representação Numérica

Engenharia de Requisitos

ISO/IEC 12207: Gerência de Configuração

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

Desempenho da Fase Analítica. Fernando de Almeida Berlitz

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

Técnicas de Teste de Software

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Software I

Fundamentos em Teste de Software. Vinicius V. Pessoni

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

OS 14 PONTOS DA FILOSOFIA DE DEMING

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Engenharia de Software II

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

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

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

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

Sistemas ERP. Profa. Reane Franco Goulart

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Avaliação de Interfaces Humano- Computador

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

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Modelo Cascata ou Clássico

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

4 Segmentação Algoritmo proposto

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

Módulo 3 Procedimento e processo de gerenciamento de riscos, PDCA e MASP

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

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

Gerenciamento de Níveis de Serviço

Princípios do teste de software

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade?

ENGENHARIA DE SOFTWARE

Prof. Me. Marcos Echevarria

ENGENHARIA DE SOFTWARE I

Universidade Paulista

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Testes de Software Aula 1

Ao introduzir o sistema ERP, o empresário reconhece imediatamente os benefícios e ferramentas que podem

MODELO CMM MATURIDADE DE SOFTWARE

Qualidade de software

Algoritmos e Estrutura de Dados III. Árvores

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

Problemas em vender? Veja algumas dicas rápidas e práticas para aumentar suas vendas usando marketing

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

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

IX Encontro de Auditores e Peritos do Espírito Santo Avaliação de Risco na análise dos Controles Internos Vitória, ES. 29/08/2014

QUALIDADE DE SOFTWARE

3 Qualidade de Software

Fundamentos de Teste de Software

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Porque estudar Gestão de Projetos?

Teste de Software I Conceitos e Estratégias

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS - FAN CEUNSP SALTO /SP CURSO DE TECNOLOGIA EM MARKETING TRABALHO INTERDISCIPLINAR

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

Engenharia de Software III

Resumo das Interpretações Oficiais do TC 176 / ISO

Proposta de Trabalho para a Disciplina de Introdução à Engenharia de Computação PESQUISADOR DE ENERGIA

1. NÍVEL CONVENCIONAL DE MÁQUINA

Técnicas de Teste de Software

Manual. EFD Contribuições

PLANEJAMENTO ESTRATÉGICO

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Engenharia de Software II

Importância da normalização para as Micro e Pequenas Empresas 1. Normas só são importantes para as grandes empresas...

Arquitetura de Rede de Computadores

ACOMPANHAMENTO GERENCIAL SANKHYA

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

Desenvolvimento de Sistemas Tolerantes a Falhas

Dadas a base e a altura de um triangulo, determinar sua área.

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Teste de software. Definição

Engenharia de Sistemas Computacionais

GUIA DO SGD. Transformação SISTEMA ELETROBRÁS. Conheça mais sobre o novo Sistema de Gestão do Desempenho (SGD) que entrará

Entendendo como funciona o NAT

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Tecnologia da Informação. Visão Geral sobre Informática

Transcrição:

Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de Integração Teste de Validação Teste de Sistema Depuração 2 1

Garantia de Qualidade de Software É um conjunto de atividades técnicas aplicadas durante todo o processo de desenvolvimento. O objetivo é garantir que tanto o processo de desenvolvimento quanto o produto de software atinjam níveis de qualidade especificados. VV&T - Verificação, Validação e Teste 3 Qualidade de Software Conformidade com requisitos funcionais e de desempenho, padrões de desenvolvimento documentados, e características implícitas esperadas de todo software profissionalmente desenvolvido Corretitude Confiabilidade Testabilidade 4 2

Garantia de Qualidade de Software Validação: Assegurar que o produto final corresponda aos requisitos do software. Estamos construindo o produto certo? Verificação: Assegurar consistência, completitude e corretitude do produto em cada fase e entre fases consecutivas do ciclo de vida do software. Estamos construindo corretamente o produto? Teste: Examina o comportamento do produto através de sua execução 5 Definições Defeito Erro Falha Defeito: deficiência mecânica ou algorítmica que se ativada pode levar a uma falha Erro: item de informação ou estado de execução inconsistente Falha: evento notável onde o sistema viola suas especificações 6 3

Defeitos no Processo de Desenvolvimento A maior parte é de origem humana São gerados na comunicação e na transformação de informações Permanecem presentes nos diversos produtos de software produzidos e liberados. (10 defeitos a cada 1000 linhas de código) A maioria encontram-se em partes do código raramente executadas Quanto antes a presença do defeito for revelada, menor o custo de correção do defeito e maior a probabilidade de corrigi-lo corretamente Principal causa: tradução incorreta de informações Solução: introduzir atividades de VV&T ao longo de todo o ciclo de desenvolvimento 7 Teste e Depuração Teste: Processo de executar um programa com o objetivo de revelar a presença de defeitos; ou, falhando nesse objetivo, aumentar a confiança sobre o programa Depuração: é uma conseqüência não previsível do teste. Após revelada a presença do defeito ele deve ser encontrado e corrigido 8 4

Teste de Software Principal Objetivo: refutar a assertiva de que o produto está correto Determinar entradas que façam as saídas obtidas diferirem das saídas esperadas segundo a especificação (busca de um contra-exemplo) É um processo destrutivo, sob o ponto de vista psicológico, contrariamente às demais fases da Engenharia de Software, onde constrói-se um produto 9 Teste de Software Uma das atividades mais onerosas do desenvolvimento de software Atividade essencial para ascensão ao nível 3 do Modelo CMM/SEI Atividade relevante para avaliação de produtos de software (ISO 9126, ISO 14598-5) 10 5

Teste de Software Defeitos e erros "emboscados" no software e não revelados Falhas a se manifestarem na utilização pelos usuários e erros corrigidos durante a manutenção. CUSTOS ALTÍSSIMOS! 11 Teste de Software Atividades de Teste Planejamento Projeto de Casos de Teste Execução de Casos de Teste Análise de Resultados 12 6

Teste de Software Domínio de entrada do programa D Programa em teste P Conjunto de casos de teste? T Quando terminar a atividade de teste? O que significa não encontrar defeito durante a atividade de teste? Software é de alta Qualidade? T é de baixa Qualidade? 13 Teste de Software Quando parar a atividade de teste? Quando terminar o tempo definido para essa atividade Quando terminar o recurso financeiro alocado para essa atividade Quando o que foi definido durante o Planejamento da atividade de teste tiver sido realizado (ou seja, quando as técnicas e critérios de teste planejados tiverem sido aplicados) 14 7

Teste de Software Depois de realizada a atividade de teste pode-se garantir que o software esteja correto? Porque? NÃO!! Isso só poderia ser garantido se fosse aplicado o Teste Exaustivo 15 Teste de Software E o que é o Teste Exaustivo? É aplicar ao programa em teste TODAS as possíveis entradas! Exemplo: suponha um programa que leia o valor de duas notas (inteiras) e calcule a média aritmética. O que significa aplicar o teste exaustivo a esse programa? Significa rodar o programa com todas as possíveis entradas: (0,0); (0,1); (0,2);..(1,0); (1,1); (1,2).. (10,0); (10,1);.(10,10) Ou seja, 121 dados de entrada!!! Pense se a nota fosse um número real de uma casa decimal. Quantos seriam os dados de entrada? 16 8

Teste de Software O Teste Exaustivo sempre pode ser aplicado? Porque não? NÃO!! Pelo exemplo dado, é fácil notar que basta o domínio de entrada ser infinito (por exemplo, o domínio dos números reais), para não conseguirmos aplicar o Teste Exaustivo!! 17 Teste de Software Então, como fazer se o Teste Exaustivo não pode ser aplicado sempre? Temos que criar casos de teste, de forma que saibamos o que estamos testando E como fazemos isso? Aplicando Critérios de Teste 18 9

Projeto de Casos de Teste O Projeto de teste pode ser tão difícil quanto o projeto do próprio produto a ser testado Poucos programadores/analistas gostam de teste; menos ainda de projeto de casos de teste Técnicas de Projeto de Casos de Teste Maneira sistemática e planejada para conduzir os testes Critérios de Teste Quais as características desejáveis que um Conjunto de Casos de Teste T deve possuir? deve ser finito o custo de aplicação deve ser razoável 19 Projeto de Casos de Teste Critério de Teste C Objetivo: Obter, de maneira sistemática, um conjunto T de casos de teste efetivo quanto à meta principal do teste, que é revelar a presença de erros no programa Existem vários critérios de teste que compõem as Técnicas de Teste 20 10

Técnicas de Teste Funcional Estrutural Baseada em Erros A diferença está na fonte utilizada para estabelecer os requisitos de teste O importante não é definir qual usar, mas saber usá-las de forma complementar 21 Técnicas de Teste Funcional ou Teste Caixa Preta baseada na especificação do software Estrutural ou Teste Caixa Branca baseada numa implementação em particular Esses dois serão abordados neste material Baseada em Erros baseada nos erros típicos e comuns cometidos durante o desenvolvimento 22 11

Estratégias de Teste Aspectos genéricos das Estratégias de Teste a atividade de teste inicia-se no nível de módulos e caminha na direção da integração de todo o sistema diferentes técnicas de teste são apropriadas para diferentes situações a atividade de teste, em geral, é realizada pela equipe de desenvolvimento e, no caso de grandes projetos, por um grupo de teste independente as atividades de teste e depuração são atividades diferentes, mas a depuração é necessária em qualquer estratégia de teste 23 Estratégias de Teste Relação entre o processo de desenvolvimento e uma estratégia de teste Engenharia de Sistema Requisitos Projeto Código S R P C U I V TS Teste de Unidade Teste de Integração Teste de Validação Teste de Sistema 24 12

Pontos-Chaves o objetivo do teste é encontrar erros e se eles não forem detectados, o teste não pode afirmar sua ausência testar tudo é impossível as técnicas de teste são complementares, isto é, devem aplicadas conjuntamente a execução do teste é criativa e difícil, pois para testar com eficiência é preciso conhecer o software a fundo 25 13