Teste Funcional de Software Mtodos de teste caixapreta

  • Slides: 18
Download presentation
Teste Funcional de Software Métodos de teste caixa-preta para a validação de software

Teste Funcional de Software Métodos de teste caixa-preta para a validação de software

Teste Funcional DADOS RESULTADOS • baseia-se na Especificação de Requisitos • independente da implementação

Teste Funcional DADOS RESULTADOS • baseia-se na Especificação de Requisitos • independente da implementação • seleção de dados baseada nos dados e condições de entrada

Teste Funcional (caixa-preta) questões a serem verificadas: as funções são realizadas? • as entradas

Teste Funcional (caixa-preta) questões a serem verificadas: as funções são realizadas? • as entradas produzem resultados esperados? • integridade das informações externas é mantida • métodos para determinação de dados de teste Particionamento em Classes de Equivalência • Análise de Valores Limites do Domínio • Grafos Causa-Efeito •

Particionamento em Classes de Equivalência identificação de classes de equivalência sobre o domínio dos

Particionamento em Classes de Equivalência identificação de classes de equivalência sobre o domínio dos dados de entrada o domínio de entrada é subdividido em sub-domínios selecionar dados para cada sub-domínio Exemplo: domínio: datas sub-domínios: dias úteis e feriados

Particionamento em Classes de Equivalência passos: listar condições de entrada descritas na especificação do

Particionamento em Classes de Equivalência passos: listar condições de entrada descritas na especificação do programa • identificar para cada condição: domínios válidos, enumerações válidas e valores não válidos • decompor condições compostas em elementares • • • exemplo: 35 < idade < 45 => idade > 35, idade < 45 criar um conjunto de dados de teste, onde cada dado exercite pelo menos uma condição

Exemplo: Consistência de Datas Condições Simples Combinações de Condições Mês-Dia: Fev: 1 - 28,

Exemplo: Consistência de Datas Condições Simples Combinações de Condições Mês-Dia: Fev: 1 - 28, 29 Abr Jun Set Nov: 1 - 30

Exemplo: Identificadores em Pascal iniciam por letra, seguida opcionalmente por dígitos/letras ou hífen; tamanho

Exemplo: Identificadores em Pascal iniciam por letra, seguida opcionalmente por dígitos/letras ou hífen; tamanho 1 -32 casos: A 1_B ? xy condições testadas: 1, 2, 3, 5, 6, 9, 12 4, 5, 6

Análise dos Limites do Domínio Critério de seleção de dados que identifica valores nos

Análise dos Limites do Domínio Critério de seleção de dados que identifica valores nos limites das classes de equivalência Exemplos: • valor mínimo (máximo) igual ao mínimo (máximo) válido • uma unidade abaixo do mínimo • arquivo vazio • arquivo maior que a capacidade de armazenamento • cálculo que pode levar a overflow/underflow • erro no primeiro/último registro

Exemplo: Consistência de Datas Condições de Entrada Dados de Contorno: Dias: 0, 1, 32,

Exemplo: Consistência de Datas Condições de Entrada Dados de Contorno: Dias: 0, 1, 32, (28, 29 e 30 para fevereiro) Mês: 0, 1 , 12, 13 Ano: 1899, 1900, 1998, 1999

Grafos Causa-Efeito exploram combinações de condições de entrada relacionam dados/condições de entrada com resultados/efeitos

Grafos Causa-Efeito exploram combinações de condições de entrada relacionam dados/condições de entrada com resultados/efeitos apontam ambigüidades e incompleteza nas especificações passos: • listar as causas (dados/condições iniciais) • listar os efeitos (resultados produzidos) • ligar causas a efeitos • transformar o grafo numa tabela de decisão • transformar a tabela num conjunto de dados de teste (número de colunas = número de casos)

Ligação de Causas a Efeitos Identidade: o efeito b ocorre se a condição a

Ligação de Causas a Efeitos Identidade: o efeito b ocorre se a condição a é verdade a b Negação: o efeito b ocorre se a condição a não é verdade a b Conjunção: x ocorre se a, b e c são verdades a b c and x

Ligação de Causas a Efeitos Disjunção: o efeito x ocorre se pelo menos uma

Ligação de Causas a Efeitos Disjunção: o efeito x ocorre se pelo menos uma das causas a, b ou c é verdade a b or x c Restrição a causas: causas simultâneas e mutuamente Exclusivas a S a E b b

Eemplo: Exemplo: A, A, B, B, e Ce C sãosão lados de um triângulo.

Eemplo: Exemplo: A, A, B, B, e Ce C sãosão lados de um triângulo. Imprimir o tipo do triângulo.

Exemplo: O primeiro caracter deve ser A ou B. O segundo Eemplo: e C

Exemplo: O primeiro caracter deve ser A ou B. O segundo Eemplo: e C Assim são lados um triângulo. caracter deve A, ser. B, dígito. sendo, deo arquivo deve ser tipo do for triângulo. atualizado. Se. Imprimir o primeiroo caracter incorreto, emitir mensagem M 1. Se o segundo caracter não for dígito, emitir M 2. Causas: 1) primeiro caracter é A 2) primeiro caracter é B 3) segundo caractere é dígito Efeitos: 4) atualiza arquivo 5) emite mensagem M 1 6) emite mensagem M 2 5 1 E 2 3 or and 4 6

Grafos Causa-Efeito Construção da Tabela de Decisões • para cada efeito, percorra o grafo

Grafos Causa-Efeito Construção da Tabela de Decisões • para cada efeito, percorra o grafo no sentido efeito-causa e selecione as combinações de causas que produzem o efeito considerado • crie uma coluna na tabela de decisões para cada combinação de causas

Determinação de Colunas Não precisa indicar todas as combinações de valores de a, b

Determinação de Colunas Não precisa indicar todas as combinações de valores de a, b e c a b x and c Não é necessário indicar todas as combinações de valores de a, bec a b c or x

Dificuldades no Teste Funcional determinação dos dados de teste • especificações de requisitos ambíguas,

Dificuldades no Teste Funcional determinação dos dados de teste • especificações de requisitos ambíguas, incompletas, desatualizadas determinação dos resultados esperados • manual determinação dos casos de teste durante a Especificação de Requisitos