Aula 26 Testes de Caixa Preta (Exercícios)



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

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

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

Fundamentos em Teste de Software. Vinicius V. Pessoni

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello

Testes caixa preta - 2

Engenharia de Software II

Tabelas de Espalhamento

Curso de C para Engenharias

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

Professor Mauricio Lutz PROBABILIDADE

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Tópicos Especiais em Informática

Módulo VIII. Probabilidade: Espaço Amostral e Evento

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

C Curso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET RACIOCÍNIO LÓGICO AULA 7

Teste de Software Parte 3. Prof.: Jonas Potros

O degrau de potencial. Caso II: energia maior que o degrau

ESTRUTURA CONDICIONAL

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Aula 23 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Teste Funcional 3. Arndt von Staa Departamento de Informática PUC-Rio Março 2015

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

PROBABILIDADE PROFESSOR: ANDRÉ LUIS

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

Projeto de Sistemas I

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

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

CIÊNCIA E TECNOLOGIA DO RIO

Engenharia de Software II

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Componentes da linguagem C++

Avaliação de Processos Produtivos - APP

Programação Básica em Arduino Aula 2

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Técnicas de Teste de Software

Testes de Software AULA 02 PLANEJANDO E ELABORANDO OS TESTES. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

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

PROJETO DA DISCIPLINA. PES II Processo de Engenharia de Software II

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

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

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Cálculo das Probabilidades e Estatística I

Introdução à Linguagem

Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes

Aula 05 Raciocínio Lógico p/ INSS - Técnico do Seguro Social - Com Videoaulas

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

Introdução à Programação

Modelagem e Simulação Material 02 Projeto de Simulação

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Fundamentos de Teste de Software

Sumário. 1

Conversão de Tipos e Arrays

Técnicas de Teste de Software

1 Detecção e correcção de erros Erros sintáticos Erros de execução Erros semânticos Erros semânticos...

MC-102 Aula 17 Strings e Matrizes

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Admistração de Redes de Computadores (ARC)

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE.

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

Configuração de Séries, Tipos e Numeradores de Documentos. Séries

Fatores de Qualidade de Software

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Primeira Lista de Exercícios de Estatística

Probabilidade. Definições, Notação, Regra da Adição

Tipos agregados. Tipos estruturados

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

1. Introdução ao teste de software 2. Testes em um ciclo de vida de software 3. Especificado vs. Implementado 4. Preenchendo um modelo de


Edital_03_2015_SR11 (RS): Dúvidas sobre Inscrição

Exercícios de Excel com Programação em VBA. Luís Vieira Lobo

Segurança de Aplicações Aula 14

ETEP TÉCNICO EM CONTABILIDADE MÓDULO 3 INFORMÁTICA PÓS MÉDIO

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

Teste de Software Estrutural ou Caixa Branca. Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Como aleatorizar? (Nome professor) (Universidade) Abdul Latif Jameel Poverty Action Lab.

GARANTIA DA QUALIDADE DE SOFTWARE

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Transcrição:

Aula 26 Testes de Caixa Preta (Exercícios) Danyllo Albuquerque LES/DI/PUC-Rio Novembro / 2014

Sumário Revisão Correção do Exemplo Exercícios 2

Testes Caixa Preta Testes Caixa Preta (ou Caixa Fechada) consideram um módulo sob testes uma caixa opaca, i.e., não há conhecimento a respeito da estrutura interna, apenas do que o módulo faz. Testes Caixa Preta utilizam, exclusivamente, as especificações do artefato para formular os casos de teste Consideram-se Relações entre entradas e saídas Assertivas Requisitos Conhecimento do domínio da aplicação 3

Testes Caixa Preta Mas como escolher um conjunto de casos de testes adequados dentre todo o conjunto de entradas válidas e inválidas? É impraticável / impossível testar todas as possíveis entradas, mesmo para funções muito simples Ex.: int soma( int x, int y) Critérios para seleção de entradas: Aleatório Classes de Equivalência Análise de Limite 4

Testes Caixa Preta Aleatório Cada módulo / sistema possui um conjunto domínio de entradas do qual as entradas de teste são selecionadas Se um testador escolhe aleatoriamente (ou ao acaso) entradas de teste deste domínio, isto é chamado de teste aleatório Ex.: soma(2, 3), soma(0, 1)... Vantagens: Fácil e de baixo custo. Desvantagens: Não há garantia da qualidade dos casos de teste. 5

Testes Caixa Preta Classes de Equivalência 6

Testes Caixa Preta Classes de Equivalência Vantagens: Reduz o conjunto de casos de testes Diversifica o conjunto de casos de testes, aumentando a probabilidade de detectar defeitos Desvantagens: Não é fácil identificar todas as classes de equivalência 7

Testes Caixa Preta Análise de Limites Muitos erros comuns de programação ocorrem nas condições limites Ex.: for( i = 0; i < x; i++ ) ou for( i = 0; i <= x; i++ )? O critério de Análise de Limites tem como objetivo usar entradas próximas aos limites para exercitar a checagem dessas condições Geralmente é usada para refinar as entradas criadas com o critério de Classes de Equivalência Também pode ser aplicado às saídas 8

Testes Caixa Preta Combinando Classes de Equivalência e Análise de Limites: É necessário ter um conjunto de casos de testes que cubra todas as classes de equivalência e todos os limites Mas é importante que o conjunto de casos de testes seja minimal! Se fizer um caso de teste para cada caso, o número aumentará rapidamente É possível criar casos de testes que cubram mais de uma classe de equivalência válida ao mesmo tempo Mas é importante testar cada classe de equivalência inválida independentemente para melhor observar cada exceção 9

Exemplo Função char* substring( char *str, int begin ) Um função recebe uma string que contém apenas caracteres alfanuméricos e um inteiro, begin, e retorna uma string contendo os caracteres da string de entrada contidos (inclusive) entre begin e o último caractere Ex.: substring( hamburguer, 4 ) == urguer Defina as classes de equivalência válidas e inválidas das entradas Faça a análise de limite para a variável begin Descreva um conjunto de casos de testes que exercite todas as classes de equivalência válidas e inválidas, bem como todos os limites da variável begin 10

Correção - Exemplo Do enunciado derivamos duas assertivas: 1. STR só pode ter NA 2. BEGIN deve ser >=0 3. O Total de caracteres de STR [0, TAM-1] tal que BEGIN deve ser <= TAM-1 11

Correção - Exemplo Da primeira assertiva Classe 1. STR só pode ter NA (válida) Classe 2. STR contem 1,N CE (Inválida) Da segunda assertiva Classe 3. BEGIN = 0 (Válida) (LI) Classe 4. BEGIN < 0 (inválido) (AbLI) Classe 5. BEGIN > 0 (válido) (AcLI) Da terceira assertiva Classe 6. BEGIN = TAM-1 (válido) (LS) Classe 7. BEGIN < TAM-1 (válido) (AbLS) Classe 8. BEGIN > TAM-1 (inválido) (AcLS) 12

Correção - Exemplo Da primeira assertiva Classe 1. STR só pode ter NA (válida) { hamburguer, 4} Classe 2. STR contem 1,N CE (Inválida) { *#$hamburguers, 3} Da segunda assertiva Classe 3. BEGIN = 0 (Válida) (LI) { modularidade, 0} Classe 4. BEGIN < 0 (inválido) (AbLI) { modularidade -1} Classe 5. BEGIN > 0 (válido) (AcLI) { modularidade, 1} Da terceira assertiva Classe 6. BEGIN = TAM-1 (válido) (LS) { teste, 4} Classe 7. BEGIN < TAM-1 (válido) (AbLS) { teste, 3} Classe 8. BEGIN > TAM-1 (inválido) (AcLS) { teste, 6} 13

Correção - Exemplo Assertiva ID Entrada Classe Valida (LC) Classe inválida (LC) 1 2 3 1 { hamburguer, 4} Classe 1 Classe 5, 7 2 { *#$hamburguer, 3} Classe 2 3 { modularidade, 0} Classe 3 (LI) Classe 1, 7 4 { modularidade -1} Classe 4 (AbLI) 5 { modularidade, 1} Classe 5 (AcLI) Classe 1,7 6 { teste, 4} Classe 6 (LS) Classe 1, 5 7 { teste, 3} Classe 7 (AbLS) Classe 1, 5 8 { teste, 6} Classe 8 (AcLS) 14

Dúvidas? 15

Trabalhos práticos e dúvidas Monitor - 2ª. Feira (1630 as 1730) dwalbuquerque@inf.puc-rio.br woizumi@inf.puc-rio.br 16