Baixe o app para aproveitar ainda mais
Prévia do material em texto
O que é teste de Software? Teste de software é o processo para determinar se ele atingiu suas especificações e funcionou corretamente no ambiente para o qual foi projetado. O seu objetivo é revelar falhas em um produto para que as causas dessas falhas sejam identificadas e possam ser corrigidas pela equipe de desenvolvimento antes da entrega final. Por conta dessa característica das atividades de teste, dizemos que sua natureza é ”destrutiva” e não “construtiva”, pois visa o aumento da confiança de um produto por meio da exposição de seus problemas antes da sua entrega ao usuário final. Definições de teste de software Testar um software significa verificar por meio de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é revelar o número máximo de falhas dispondo do minimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos. DEFEITO X ERRO X FALHA DEFEITO → É um ato inconsistente cometido por um individuo ao tentar entender uma determinada informação, resolver um problema ou ou utilizar um método ou uma ferramente. Por exemplo, uma instrução ou um comando incorreto. ERRO → É uma manifestação concreta um defeito num artefato de SW. Diferença entre o valor obtido e o valor esperado, ou seja, qualquer estado intermediário incorreto ou resultado inesperado na execução de um programa constitui um ERRO. FALHA → É o comportamento operacional do SW diferente do esperado pelo usuário. Uma falha pode ter sido causada por diversos erros e alguns erros podem nunca causar uma falha. Falha Defeito Erro Instrução ou comando incorreto (Universo físico) Desvio da especificação (Universo da informação) Processamento incorreto e comportamento inconsistente (universo do usuário) Depuração Após a execução do teste é necessária a execução de um processo de depuração para a identificação dos defeitos que originaram essa falha, ou seja, DEPURAR NÃO É TESTAR! (07/03/2016) Caso de teste - Descreve uma situação particular a ser testada e é composto por valores de entrada, restrições para sua execução e um resultado ou comportamento esperado. Procedimento de teste - É uma descrição dos passos necessários para executar um caso(ou um grupo de casos) de teste. Critério de teste - serve para selecionar e avaliar casos de teste de forma a aumentar as possibilidades de provocar falhas ou, quando isso não ocorrer, estabelecer um nível de confiança elevado na correção do produto. Os critérios de teste podem ser utilizados como: Critério de cobertura de teste → permite a identificação de partes do programa que devem ser executadas para garantir a qualidade de software e indicar quando o mesmo foi suficientemente testado Critérios de adequação em casos de testes → quando a partir de um conjunto de casos de teste “t” qualquer , ele é utilizado para verificar se “t” satisfaz os requisitos de testes estabelecidos pelo critério. critério de geração de casos de testes → quando o critério e utilizado para gerar um conjunto de casos de testes “t” adequado para um produto ou função, ou seja, este critério define as regras e diretrizes para geração dos casos de testes de um produto que esteja de acordo com o critério de adequação definido anteriormente. (14/03/2016) Níveis de teste de Sw O planejamento dos testes devem ocorrer em diferentes níveis e em paralelo do desenvolvimento do sw. Planejar para ... Planejar para ... Planejar para ... Planejar para ... especificação de requisitos projeto de alto nível projeto detalhado codificação teste de aceitação teste de sistema teste de unidade teste de integração Desenvolvimento Teste Os principais níveis de teste são: Teste de unidade: Também conhecidos como testes unitários. Tem por objetivo explorar a menor unidade do projeto procurando provocar falhas ocasionais por defeitos de lógica e de implementação em cada módulo, separadamente. O universo alvo desse tipo de teste são os métodos , os objetos ou mesmo pequenos trechos de código. Teste de integração: Visa provocar falhas associadas as interfaces e entre os módulos quando esses são integrados para construir a estrutura do sw que foi estabelecidas na fase de projeto. Teste de sistema: Avalia o software em busca de falhas por meio da ultilização do mesmo, como se fosse um Usuário final. Dessa maneira, os testes são executados nos mesmos Ambientes, com as mesmas condições e como mesmos dados de entrada que um usuário no seu dia a dia de manipulação do software. Verifica se o produto satisfaz os seus requisitos. Teste de aceitação: São realizados geralmente por um restrito grupo de usuário final dos sistemas esses simulam declarações de rotina do sistema de modo a verificar se seu comportamento está de acordo com o solicitado. Teste de regressão: teste de regressão não corresponde a um nível de teste mas é estratégia importante para redução de “efeitos colaterais” . Consiste em se aplicar, a cada nova versão do sw ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. Pode ser aplicado em qualquer nível de teste. Técnicas para realização de testes de Software. → Técnica estrutural(caixa branca). → Técnica funcional(caixa preta). Técnica estrutural(caixa branca): Técnica de teste que avalia o comportamento interno do componente de sw. Essa técnica trabalha diretamente sobre o código fonte do componente de sw para avaliar aspectos tais como teste de condição, teste de fluxo dados, teste de ciclos e teste de caminhos lógicos. Teste funcional(caixa preta): Técnica de teste em que o componente de software a ser testado e abordado como se fosse uma caixa preta, ou seja, não se concederam o comportamento inteiro do mesmo dados de entrada ( 21/03/2016 ) Caixa preta → Critério ( classe de equivalência ) situação Um identificador válido deve começar com uma letra é conter apenas letras ou dígito. Além disso, deve ter no minimo 1(um) caractere e no máximo 6(seis) caracteres de comprimento. Exemplo: “a b c 1 2” (válido) “cont * 1 “(Inválido) “1 soma” (Inválido) “a 1 2 3 4 5 6 ( Inválido) Passos a serem realizados > 1 - Identificar as classes de equivalência(e um processo Heurístico) Condição de entrada Validos ou inválidos 2 - Definir os casos de teste Enumeram-se as classes de equivalência Casos de teste para as classes validadas Casos de teste para as classes invalidadas Condições de entrada Classe CLASSE Tamanho “T” do identificador 1 t 6 (2) t >6 Primeiro caractere “c” é uma letra (3)SIM (4) NÃO Só contém caracteres validos (5) SIM (6) NÃO Caso de Teste: CASOS DE TESTE ENTRADA SAÍDA 1 ABC12 VALIDO 2 A123456 INVALIDO 3 1SOMA INVALIDO 4 CONT*1 INVALIDO Caixa preta Critério: Analise do valor limite de situação. “... o calculo do desconto por depender é feito da seguinte forma: a entrada é a idade do dependente que deve estar restrita ao intervalo [0...24]. Para dependentes até 12 anos (inclusive) o desconto é de 15% entre 13 e 18 (inclusive) o desconto é de 12% dos 10 aos 21 (inclusive) o desconto é de 5% e dos 22 aos 24 de 3%...” Passos a serem realizados Se uma condição de entrada especifica uma faixa de valores limitada em ‘a’ e ‘b’, casos de teste devem ser projetados com valores ‘a’ e ‘b’ e imediatamente acima e abaixo de ‘a’ e ’b’ Ex: Intervalo => [1...10] casos de teste [1,10,0,11] Situação 0 <= IDADE <= 12 → 15% 13 <= IDADE <= 18 → 12% 10 <= IDADE <= 21 → 5% 22 <= IDADE <= 24 → 3% CASO DE TESTES ENTRADA RESULTADO RESULTADO OBSERVADO CT1 -1 INVALIDO CT2 0 15% CT3 12 15%CT4 13 12% CT5 18 12% CT6 19 5% CT7 21 5% CT8 22 3% CT9 24 3% CT10 25 INVALIDO Técnica caixa preta Critério → grafo de causa-efeito Situação … “ em um programa de compras pela Internet, a cobrança ou não do frete é definida segundo tal regra: Se o valor da compra for maior que R$ 60,00 e forem comprados menos do que 3 produtos, e frete é gratuito. Caso contrário, o frete deverá ser cobrado. 1º passo → Montar o gráfico de causa e efeito. #produtos frete gratis cobrar frete >60 valor de compra <=60 <3 >=3 causa valor da compra >60 >60 <=60 #produto >3 >=3 - efeito comprar frete v v frete gratis v 3º passo → montar os casos de teste id ent1 ent2 valor esperado valor observado ct1 59 3 cobrar frete ct2 60 3 cobrar frete ct3 65 4 cobrar frete ct4 65 2 frete grates Credito → teste do caminho básico notação de grafo de fluxo 1 3 6 2 5 4 7 8 9 10 Procedimento Médio Este procedimento calcula a média de 100 ou menos números situados entre valores limites. Calcula também a soma e total de números validos. INTERFACE RETORNA: Média, total, entrada, total validos; INTERFACE ACEITA: Valor, minimo, máximo Tipo valor [1:100] é vetor de escala; tipo média, total entrada, total validos; minimo, máximo, soma é escala tipo : é inteiro i=1; total entradas = total.validos = d; soma = 0 faça emquanto valo [i] <> -999 e total imput <100 incremente total.entrada de 1; Se valor [i] = minimo e valor [i] <= maximo Então incremente total.valido de 1; Soma=Soma + valor [i] SeNão pule Fim Se incremente i de 1; Fim enquanto SE total.valido > 0 Então media = Soma tptaç.validos SeNão média = -999 Fim SE Fim média
Compartilhar