Teste Funcional de Software Mtodos de teste caixapreta
- Slides: 18
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 • 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 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 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 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, 29 Abr Jun Set Nov: 1 - 30
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 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, (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 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 é 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 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. Imprimir o tipo do triângulo.
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 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 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, incompletas, desatualizadas determinação dos resultados esperados • manual determinação dos casos de teste durante a Especificação de Requisitos