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

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

Introdução à Verificação, Validação e Teste (VV&T)*

Ricardo A. Ramos. [Baseado na apresentação do LABS ICMC-USP ->

Introdução ao Teste de Software

Introdução ao Teste de Software

Medição e Métricas de Software

1 Amintas engenharia

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação. Tipos de SI. Profa. Elisa Yumi Nakagawa 1.

Sistemas de Informações Gerenciais (MIS)

Gestão da Manutenção em Micro e Pequenas Empresas

Sistemas de Suporte à Decisão (DSS)

ENGENHARIA DA QUALIDADE A ENG AULA 3 TEOREMA DO LIMITE CENTRAL INTRODUÇÃO AO CONTROLE ESTATÍSTICO DE PROCESSO

08/10/2018. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Sistemas de Suporte Executivo (ESS)

Estudando complexidade de algoritmos

Análise de Sistemas de Informação

Introdução a Complexidade de Algoritmos

Avaliação de Desempenho

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Estatística: Aplicação ao Sensoriamento Remoto SER ANO Teoria da amostragem

O termo "linear" significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2

Sistemas Operacionais

Organização de Arquivos

Universidade Federal de Mato Grosso Probabilidade e Estatística - Curso: Engenharia Civil Introdução à Inferência Estatística - Prof a Eveliny

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Sumário. 2 Índice Remissivo 19

Análise da Confiabilidade de Sistemas

Escola de Engenharia de Lorena EEL USP Departamento de Engenharia Química DEQUI Disciplina: Normalização e Controle da Qualidade NCQ

Revisão da Literatura

Engenharia de Software I

étodos uméricos MÉTODO DOS MOMENTOS - MOM Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

CAPÍTULO IV DESENVOLVIMENTOS EM SÉRIE

A finalidade de uma equação de regressão seria estimar valores de uma variável, com base em valores conhecidos da outra.

Fundamentos de Bancos de Dados Prova 3

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco ENGENHARIA DE COMPUTAÇÃO. Prova Parcial 1 Matemática Discreta para Computação 2011

Disciplina: TRANSPORTES. Sessão Prática 4 (Tipo A): Amostragem

DISTRIBUIÇÃO AMOSTRAL E ESTIMAÇÃO PONTUAL INTRODUÇÃO ROTEIRO POPULAÇÃO E AMOSTRA. Estatística Aplicada à Engenharia

Cap. 4 - Estimação por Intervalo

3ª Lista de Exercícios de Programação I

Tópicos. Cliente presente O jogo do planejamento Stand up meeting Programação em par

Implementação de Planilha de Cálculos Simplificada

CONHECIMENTOS ESPECÍFICOS

4 Teoria da Probabilidade

Cap. VI Histogramas e Curvas de Distribuição

Parte 3: Gráfico de Gestão de Estoque. Gráficos e Cálculos Fundamentais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007.

Distribuições Amostrais

Estimativa de Parâmetros

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado.

Capítulo 5- Introdução à Inferência estatística.

Capítulo 5- Introdução à Inferência estatística. (Versão: para o manual a partir de 2016/17)

Preliminares 1. 1 lim sup, lim inf. Medida e Integração. Departamento de Física e Matemática. USP-RP. Prof. Rafael A. Rosales. 8 de março de 2009.

ANÁLISE DE COMPLEXIDADE DE ALGORITMOS

A Computação e as Classificações da Ciência

5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO

Distribuições Amostrais

Agenda. Administração de Sistemas Proprietários Turma : REDES V. Apresentação

Lista IC, tamanho de amostra e TH

Diagramas de Sequência do Sistema. SSC 124: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

Complexidade de Algoritmos

Garantia de Qualidade

Tópicos. Ritmo sustentável Integração contínua Releases curtos A organização do ambiente de trabalho A equipe de desenvolvimento

Prova Parcial 1 Matemática Discreta para Computação Aluno(a): Data: 18/12/2012

-0,4-0,6 -0,9 -1,5 -3,4 -13,6 EXERCÍCIOS

Introdução. Objetivo da Ciência da Computação. Regra Geral. Problema Algoritmo Implementação. Projeto e Análise de. Algoritmo 3

Prova Escrita de Matemática A

Material Teórico - Módulo Binômio de Newton e Triangulo de Pascal. Soma de Elementos em Linhas, Colunas e Diagonais. Segundo Ano do Ensino Médio

Material Teórico - Módulo Binômio de Newton e Triangulo de Pascal. Soma de Elementos em Linhas, Colunas e Diagonais. Segundo Ano do Ensino Médio

Mas o que deixou de ser abordado na grande generalidade desses cursos foi o estudo dos produtos infinitos, mesmo que só no caso numérico real.

Whats: PROGRESSÃO GEOMÉTRICA

Extreme Programming (XP)

Peculiaridades dos DER. Gerenciamento de Dados e Informação. Peculiaridades dos DER. Peculiaridades dos DER

A Inferência Estatística é um conjunto de técnicas que objetiva estudar a população através de evidências fornecidas por uma amostra.

Universidade do Estado do Amazonas

Universidade São Judas Tadeu Faculdade de Tecnologia e Ciências Exatas Laboratório de Física e Química

CAPÍTULO 8 - Noções de técnicas de amostragem

Mestrado Integrado em Engenharia Civil. Disciplina: TRANSPORTES. Sessão Prática 4: Amostragem

Administração de Sistemas Proprietários Turma : N. Apresentação. Prof. Thiago Dutra

Amostras Aleatórias e Distribuições Amostrais. Probabilidade e Estatística: afinal, qual é a diferença?

binomial seria quase simétrica. Nestas condições será também melhor a aproximação pela distribuição normal.

CINÉTICA QUÍMICA FATORES DE INFLUÊNCIA - TEORIA

e, respectivamente. Os valores tabelados para a distribuição t-student dependem do número de graus de liberdade ( n 1 e

TRANSPORTES. Sessão Prática 4 Amostragem de escalares

Matemática II º Semestre 2ª Frequência 14 de Junho de 2011

n ) uma amostra aleatória da variável aleatória X.

Exercício: Mediu-se os ângulos internos de um quadrilátero e obteve-se 361,4. Qual é o erro de que está afetada esta medida?

Gerência de Redes Turma : V

Ap A r p e r n e d n i d z i a z ge g m e m Es E t s a t tí t s í t s i t c i a c de d e Dado d s Francisco Carvalho

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano Versão 2

MATEMÁTICA FINANCEIRA

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Mecânica dos Sólidos II

META Suprir algumas deficiências sobre álgebra ensinada em matemática no nível médio

Rogério da Silva Pimentel 1, 4 ; Emerson Wruck 2,4 ; Robson de Souza Vieira 3,4. Bolsista PBIC/UEG UEG.

3 Técnica de Traçado de Raios 3.1. Introdução

1.1. Ordem e Precedência dos Cálculos 1) = Capítulo 1

Stela Adami Vayego DEST/UFPR

System pro E Power. O seu novo ponto forte

Transcrição:

Teste de Software Egeharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Aspectos teóricos e empíricos de teste de cobertura de software Notas Didáticas do ICMC/USP (o. 31)

Tópicos da Aula Ø Teste de Software Ø Termiologia e Coceitos Básicos Ø Técicas e Critérios de Teste Ø Técicas Fucioal, Estrutural e Baseada em Erros

Itrodução Ø Garatia de Qualidade de Software Ø Cojuto de atividades técicas aplicadas durate todo o processo de desevolvimeto Ø Objetivo Ø Garatir que tato o processo de desevolvimeto quato o produto de software atijam os íveis de qualidade especificados Ø V&V Verificação e Validação

Itrodução Ø Validação: Assegurar que o produto fial correspoda aos requisitos do usuário Estamos costruido o produto certo? Ø Verificação: Assegurar cosistêcia, completitude e corretitude do produto em cada fase e etre fases cosecutivas do ciclo de vida do software Estamos costruido corretamete o produto? Ø Teste: Examia o comportameto do produto por meio de sua execução (aálise diâmica)

Termiologia Ø Egao x Defeito x Erro x Falha Saída Egao itroduz Defeito produz Erro propaga Erro Falha CAUSA CONSEQÜÊNCIA Ø Um egao itroduz um defeito o software. Ø O defeito, quado ativado, pode produzir um erro. Ø O erro, se propagado até a saída do software, costitui uma falha.

Termiologia Ø Defeito Erro Falha Ø Defeito: deficiêcia mecâica ou algorítmica que, se ativada, pode levar a uma falha Ø Istrução ou comado icorreto Ø Erro: item de iformação ou estado de execução icosistete Ø Falha: eveto otável em que o sistema viola suas especificações

Defeitos o Processo de Desevolvimeto Ø A maior parte é de origem humaa Ø São gerados a comuicação e a trasformação de iformações Ø Cotiuam presetes os diversos produtos de software produzidos e liberados (10 defeitos a cada 1000 lihas de código) Ø A maioria ecotra-se em partes do código raramete executadas

Defeitos o Processo de Desevolvimeto Ø Pricipal causa: tradução icorreta de iformações Ø Quato ates a preseça dos defeitos for revelada, meor o custo de correção do defeito e maior a probabilidade de corrigi-lo corretamete Ø Solução: itroduzir atividades de VV&T ao logo de todo o ciclo de desevolvimeto

Teste e Depuração Ø Teste Processo de executar um programa com o objetivo de revelar a preseça de erros. Cotribuem para aumetar a cofiaça de que o software desempeha as fuções especificadas. Ø Depuração Após revelada a preseça do erro, este deve ser ecotrado e corrigido.

Teste de Software Ø Fudametal em todos os ramos de egeharia Ø Software: produto da Egeharia de Software Ø Atividade essecial para ascesão ao ível 3 do Modelo CMMI/SEI Ø Atividade relevate para avaliação da característica fucioalidade (ISO 9126, ISO 25010, ISO 25041)

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Forecedor Cotrato Moitorameto do Forecedor Aceitação do Cliete Norma ISO 12207 PROCESSOS FUNDAMENTAIS PROCESSOS DE FORNECIMENTO Proposta do Forecedor Liberação do Produto Apoio a Aceitação do Produto PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Aálise dos Requisitos do Sistema Projeto Arquitetural do Sistema Aálise dos Requisitos de Software Projeto do Software Costrução do Software Itegração do Software Teste do Software Itegração do Sistema Teste do Sistema Istalação do Software Mauteção do Software e do Sistema PROCESSOS DE OPERAÇÃO Uso Operacioal Apoio ao Cliete PROCESSOS DE GERÊNCIA Alihameto Orgaizacioal Gereciameto da Orgaização Gereciameto do projeto Gereciameto da Qualidade Gereciameto de Risco Medições PROCESSOS DE MELHORIA DE PROCESSO Estabelecimeto do Processo Avaliação do Processo Melhoria do Processo PROCESSOS DE RECURSOS E INFRAESTRUTURA Gereciameto de Recursos Humaos Treiameto Gereciameto do Cohecimeto Ifraestrutura PROCESSOS DE REUSO Gerecia dos Ativos Gerecia do Programa de Reuso Egeharia de Domíio PROCESSOS ORGANIZACIONAIS PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documetação Gereciameto da Cofiguração Gereciameto da resolução de problemas Gereciameto dos Pedidos de Alteração PROCESSOS DE GARANTIA DE QUALIDADE Garatia da Qualidade Verificação Validação Revisão Cojuta Auditoria Avaliação do produto PROCESSOS DE APOIO

Desafios do Teste Ø Todos já testaram algum produto de software... Quais foram os maiores desafios? Ø Algus problemas comus... Ø Não há tempo suficiete para o teste. Ø Muitas combiações de etrada para serem exercitadas. Ø Não há tempo para o teste exaustivo. Ø Dificuldade em determiar os resultados esperados para cada caso de teste. Ø Requisitos do software iexistetes ou que mudam rapidamete. Ø Não há treiameto o processo de teste. Ø Não há ferrameta de apoio. Ø Geretes que descohecem teste ou que ão se preocupam com qualidade.

Teste de Software Objetivo: revelar a preseça de erros D P? T X Ø Iexistêcia de erro: Ø Software é de alta qualidade? Ø Cojuto de casos de teste T é de baixa qualidade?

Teste de Software Ø Defeitos e erros ão revelados Ø Falhas se maifestam durate a utilização pelos usuários Ø Erros devem ser corrigidos durate a mauteção Ø Alto custo

Teste de Software Ø Falhas graves Ø Qualidade e cofiabilidade suspeitas Ø Modificação do projeto Ø Novos testes Ø Erros de fácil correção Ø Fuções aparetemete fucioam bem Ø Qualidade e cofiabilidade aceitáveis Ø Testes iadequados para revelar a preseça de erros graves Ø Novos testes

Teste de Software Ø Fases de Teste Ø Teste de Uidade Ø Idetificar erros de lógica e de implemetação em cada módulo do software, separadamete Ø Teste de Itegração Ø Idetificar erros associados às iterfaces etre os módulos do software Ø Teste de Sistema Ø Verificar se as fuções estão de acordo com a especificação e se todos os elemetos do sistema combiam-se adequadamete

Teste de Software Ø Etapas do Teste Ø Plaejameto Ø Projeto de casos de teste Ø Execução do programa com os casos de teste Ø Aálise de resultados

Teste de Software Ø Caso de teste Ø Especificação de uma etrada para o programa e a correspodete saída esperada Ø Etrada: cojuto de dados ecessários para uma execução do programa Ø Saída esperada: resultado de uma execução do programa Ø Oráculo Ø Um bom caso de teste tem alta probabilidade de revelar um erro aida ão descoberto

Teste de Software Ø Projeto de casos de teste Ø Pode ser tão difícil quato o projeto do próprio produto a ser testado Ø Poucos programadores/aalistas gostam de teste e, meos aida, do projeto de casos de teste Ø É um dos melhores mecaismos para a preveção de defeitos Ø É tão eficaz em idetificar erros quato a execução dos casos de teste projetados

Teste de Software Ø Maeira sistemática e plaejada para coduzir os testes Ø Técicas e Critérios de Teste Ø Cojuto de Casos de Teste T Ø Características desejáveis Ø Deve ser fiito Ø Custo de aplicação deve ser razoável

Técicas e Critérios de Teste Ø Critério de Teste C Ø Objetivo Ø Obter, de maeira sistemática, um cojuto T de casos de teste que seja efetivo quato à meta pricipal de teste (revelar a preseça de erros o programa) Ø Propriedades i) icluir todos os desvios de fluxo de execução ii) icluir pelo meos um uso de todo resultado computacioal iii) T míimo e fiito

Técicas e Critérios de Teste Ø Critério de Seleção de Casos de Teste Ø Procedimeto para escolher casos de teste para o teste de P Ø Critério de Adequação Ø Predicado para avaliar T o teste de P Ø T é C-adequado todo elemeto requerido por C é exercitado por pelo meos por um t, t T

Técicas e Critérios de Teste Ø Técica Fucioal Ø Requisitos fucioais do software Ø Critério Particioameto em Classes de Equivalêcia Ø Técica Estrutural Ø Estrutura itera do programa Ø Critérios Baseados em Fluxo de Dados Ø Técica Baseada em Erros Ø Erros mais freqüetes cometidos durate o processo de desevolvimeto de software Ø Critério Aálise de Mutates

Automatização da Atividade de Teste Ø Ferrametas de Teste Para a aplicação efetiva de um critério de teste faz-se ecessário o uso de ferrametas automatizadas que apóiem a aplicação desse critério. Ø Cotribuem para reduzir as falhas produzidas pela iterveção humaa Ø Aumeto da qualidade e produtividade da atividade de teste Ø Aumeto da cofiabilidade do software Ø Facilitam a codução de estudos comparativos etre critérios

Exemplos de Ferrametas de Teste Ø Critérios Estruturais: Fluxo de Dados Ø Asset, Proteste programas em Pascal Ø xsuds programas em C, C++ e Cobol Ø Poke-Tool programas em C, Cobol e Fortra Ø JaBUTi Java Bytecode Ø Critérios Baseados em Mutação Ø Mothra programas em Fortra Ø Proteum programas em C (uidade) Ø Proteum/IM programas em C (itegração) Ø Proteum/RS especificações

Técica Fucioal (Caixa Preta) Ø Baseia-se a especificação do software para derivar os requisitos de teste Ø Aborda o software de um poto de vista macroscópico Ø Evolve dois passos pricipais: Ø Idetificar as fuções que o software deve realizar (especificação dos requisitos) Ø Criar casos de teste capazes de checar se essas fuções estão sedo executadas corretamete

Técica Fucioal Ø Problema Ø Dificuldade em quatificar a atividade de teste: ão se pode garatir que partes esseciais ou críticas do software foram executadas Ø Dificuldade de automatização Ø Critérios da Técica Fucioal Ø Particioameto em Classes de Equivalêcia Ø Aálise do Valor Limite Ø Grafo de Causa-Efeito

Técica Fucioal: Exemplo Ø Particioameto em Classes de Equivalêcia Ø Divide o domíio de etrada do programa em classes de dados (classes de equivalêcias) Ø Os dados de teste são derivados a partir das classes de equivalêcia

Técica Fucioal: Exemplo Ø Passos Ø Idetificar classes de equivalêcia Ø Codições de etrada Ø Classes válidas e iválidas Ø Defiir os casos de teste Ø Eumeram-se as classes de equivalêcia Ø Casos de teste para as classes válidas Ø Casos de teste para as classes iválidas

Técica Fucioal: Exemplo Ø Especificação do programa Idetifier O programa deve determiar se um idetificador é válido ou ão. Um idetificador válido deve começar com uma letra e coter apeas letras ou dígitos. Além disso, deve ter o míimo um caractere e o máximo seis caracteres de comprimeto. Ø Exemplo abc12 (válido); cot*1 (iválido); 1soma (iválido); a123456 (iválido)

Técica Fucioal: Exemplo Ø Classes de equivalêcia Codições de Etrada Tamaho t do idetificador Classes Válidas Classes Iválidas 1 t 6 (1) t > 6 (2) Primeiro caractere c é uma letra Só cotém caracteres válidos Sim (3) Sim (5) Não (4) Não (6) Ø Exemplo de Cojuto de Casos de Teste Ø T 0 = {(a1,válido), (2B3, Iválido), (Z-12, Iválido), (A1b2C3d, Iválido)} (1, 3, 5) (4) (6) (2)

Exercício de Fixação Ø Projete casos de teste para o seguite programa, usado o critério Particioameto em Classes de Equivalêcia: Ø O programa strig solicita do usuário um iteiro positivo o itervalo etre 1 e 20 e, etão, solicita uma cadeia de caracteres desse comprimeto. Após isso, o programa solicita um caracter e retora a posição a cadeia em que o caracter é ecotrado pela primeira vez ou uma mesagem idicado que o caracter ão está presete a cadeia.

Aálise do Valor Limite Ø Complemeta o Particioameto de Equivalêcia. Ø Fote propícia a erros os limites de uma classe ou partição de equivalêcia. Partição de Equivalêcia Limites

Exercício de Fixação Ø Projete casos de teste para o seguite programa usado o critério Aálise do Valor Limite: Ø O programa strig solicita do usuário um iteiro positivo o itervalo etre 1 e 20 e, etão, solicita uma cadeia de caracteres desse comprimeto. Após isso, o programa solicita um caracter e retora a posição a cadeia em que o caracter é ecotrado pela primeira vez ou uma mesagem idicado que o caracter ão está presete a cadeia.