Introdução
ao Teste de
Software
Introdução
Começar a testar é importante conhecer alguns termos
relacionados ao teste de software, são eles:
Validação, verificação e teste
Erro, falha e defeito
Domínio de entrada e saída
Caso de teste, dado de teste
Cenário e ambiente de teste
Validação, Verificação
e Teste de Software
Técnicas fundamentais para identificar se um software possui defeitos
e está de acordo com o especificado
Objetivo de todas as engenharias construir certo da primeira vez
- Software escrever testar modificar até obter o resultado desejado
Muito dispendioso
Boas chances de ter que refazer todo o projeto novamente
Validação, Verificação
e Teste de Software
Causa dos problemas nos softwares:
- ERRO HUMANO
- Solução: uso de ferramentas da engenharia de software
- Atividades: VV&T
VV&T
Validação,
Verificação
e Teste
Garantir que o modo como o
software está sendo construído
quanto o produto estejam de acordo
com o especificado
Baseiam-se na execução de um
programa ou de um modelo
Não requer a execução ou a
existência de um programa ou
modelo executável
Realizada sobre a documentação
Estática:
Dinâmica:
Não se
restringem
ao produto
final!
VV&T
Verificação:
Estamos construindo certo o produto?
Validação:
Estamos construindo o produto certo?
Teste
Executar programa ou modelo utilizando entradas em particular
e verificar se seu comportamento está de acordo com o esperado
O que é Teste
de Software?
Verificar se o software está fazendo o que deveria fazer, de acordo
com os seus requisitos
Processo de executar um programa ou sistema com a intenção de
encontrar defeitos (teste negativo) [Myers 1979]
Qualquer atividade que a partir da avaliação de um atributo ou
capacidade de um programa ou sistema seja possível determinar
se ele alcança os resultados desejados [Hetzel 1988]
Objetivos do Teste
de Software
Encontrar defeitos no software, com a finalidade de serem corrigidos
antes de o produto ser entregue ao cliente.
Recurso: Execução do Sistema
Ideal: Encontrar o máximo de erros com mínimo de esforço
Custo do Teste
Quanto mais tarde se descobre o erro mais caro fica para corrigir
Regra 10 de Myers
Análise Produção
CUSTOS
Testes
Construção
Especificação
Modelo de Desenvolvimento
de Software- Modelo V
Requerimentos
Análise
Desenho
Codificação
Processo Produto
Teste de Aceitação
Teste de Sistemas
Teste de Integracão
Teste de Unidade
teste
doc
doc
teste
doc
teste
doc
teste
O modelo em V (Validação e Verificação) demonstra a importância do teste de software a cada etapa
do desenvolvimento e cada um sendo aplicado com um objetivo específico conforme o momento da
aplicação (nível ou estratégia de teste)
Erro
Não informar
o destinatário
Defeito
Endereço
Inexistente
Falha
Mensagem
não chega
Erro, Falha e Defeito
O ser humano comete ERRO (engano) que produz um DEFEITO (dano,
bug), no código, em um software, sistema ou documento. Se um de defeito
no código for executado o sistema pode falhar ao tentar fazer o que devia (ou,
algumas vezes, o que não devia) causando uma FALHA. Defeitos no software,
sistema ou documentos resultam em falhas, mas nem sempre os defeitos
causam falhas.
DEFEITO! falha!
Domínio
de entrada
Conjunto de todos os possíveis valores que podem se
utilizados para executar um programa
Exemplo: P com parâmetros de entrada 2 inteiros x e y,
onde y ≥ 0 e computa a função xy
Domínio de entrada = pares de números inteiros, sendo
que y deverá ser positivo ou igual a zero
Domínio
de Saída
Conjunto de saídas possíveis de uma determinada funcionalidade,
geralmente estão associadas as regras de negócio e as restrições
É importante conhecer o domínio de saída para gerar as respostas
esperadas e determinar quantos dados de teste deverão ser gerados
para evidenciar cada comportamento do sistema(domínio de saída)
Do exemplo anterior é o valor de xy ou uma mensagem de erro
Dado e Caso
de Teste
Dado de Teste
É um elemento do domínio de entrada
Caso de Teste
É um par formado por um dado de teste mais o resultado
esperado para a execução do programa com aquele dado de teste
Do exemplo anterior:
Casos de teste: <(2,3), 8>, <(4,3),64>, <(3, -1), “erro”>
Exemplos de
Casos de Teste
Login de
Usuário
Casos de Teste
ENTRADA SAÍDA ESPERADA
Informar login e senha corretos
O sistema valida as informações
e carrega a tela principal
Informar login incorreto
É exibido o alerta “Login e/ou
senha inválido(s). Verifique, por favor.”
Informar senha incorreta
É exibido o alerta “Login e/ou senha
inválido(s). Verifique, por favor.”
Login de
Usuário
Casos de Teste
ENTRADA SAÍDA ESPERADA
Não informar o login
É exibido o alerta “O campo
login deve ser preenchido.
Verifique, por favor”
Não informar a senha
É exibido o alerta “O campo
senha deve ser preenchido.
Verifique, por favor”
Tentar ultrapassar maxlenghts
Os campos devem estar
com maxlengths definidos
Verificar as atribuições do usuário
(teste de segurança)
No momento em que ocorrer
o login apenas as funcionalidades
com permissões atribuidas devem ser
exibidas ao usuário
Logar com o mesmo usuário
em dois browsers
É exibido um alerta notificando a
duplicidade e é notificada por e-mail
a ocorrência desta redundância
ao usuário
Verificar sintaxe A sintaxe do texto deve estar correta.
Pesquisa
por Período
Casos de Teste
ENTRADA SAÍDA ESPERADA
Informar data início e data fim
em uma seqüência cronológica
O sistema retorna todos os
registros cadastrados entra as datas
informadas
Informar apenas a data
de início
O sistema pode exigir ou não a data
fim como obrigatório, vai depender do
critério do analista do sistema
(o testador consulta o analista)
Informar apenas a data de fim
O sistema pode exigir ou não a
data início como obrigatório, vai
depender do critério do analista do
sistema (o testador consulta o analista)
Não informar nenhum
dos campos
É exibido o alerta para que o usuário
preencha o(s) campo(s) obrigatório
para a consulta (a obrigatoriedade,
mais uma vez, depende do analista).
Informar a data fim anterior
à data início
É exibido o alerta para que o usuário
preencha o(s) campo(s) obrigatório
para a consulta (a obrigatoriedade,
mais uma vez, depende do analista).
Conjunto de Teste
Conjunto de Teste ou Conjunto de Casos de Teste:
Conjunto de todos os casos de teste utilizados
durante a atividade de teste
Cenário de Teste
Cenário de teste descreve a situação ou ambiente que deve ser testado,
diferente do caso de teste, que descreve como algo deve ser testado.
Geralmente todos os cenários de teste são seguidos por seus respectivos
casos de teste, que irão detalhar como o cenário deverá ser testado.
Ambiente de Teste
Toda a infra-estrutura onde
o teste será executado
Finalidade: propiciar a realização
de testes em condições conhecidas
e controladas
Deve ser tratado na estratégia de teste
e planejamento
Deve ser similar ao ambiente utilizado
pelo usuário
Princípios
de Teste
Todos os testes devem ser
relacionados aos requisitos do cliente
Os testes devem ser planejados
muito antes do início do teste
Princípio de Pareto
80% de todos os erros descobertos durante o teste vão provavelmente
se relacionar a 20% de todos os componentes do programa
Material produzido por
Tecnologia Educacional - TI corporativa

Livro Introdução ao Teste de Software.pdf

  • 1.
  • 2.
    Introdução Começar a testaré importante conhecer alguns termos relacionados ao teste de software, são eles: Validação, verificação e teste Erro, falha e defeito Domínio de entrada e saída Caso de teste, dado de teste Cenário e ambiente de teste
  • 3.
    Validação, Verificação e Testede Software Técnicas fundamentais para identificar se um software possui defeitos e está de acordo com o especificado Objetivo de todas as engenharias construir certo da primeira vez - Software escrever testar modificar até obter o resultado desejado Muito dispendioso Boas chances de ter que refazer todo o projeto novamente
  • 4.
    Validação, Verificação e Testede Software Causa dos problemas nos softwares: - ERRO HUMANO - Solução: uso de ferramentas da engenharia de software - Atividades: VV&T
  • 5.
    VV&T Validação, Verificação e Teste Garantir queo modo como o software está sendo construído quanto o produto estejam de acordo com o especificado Baseiam-se na execução de um programa ou de um modelo Não requer a execução ou a existência de um programa ou modelo executável Realizada sobre a documentação Estática: Dinâmica: Não se restringem ao produto final!
  • 6.
    VV&T Verificação: Estamos construindo certoo produto? Validação: Estamos construindo o produto certo? Teste Executar programa ou modelo utilizando entradas em particular e verificar se seu comportamento está de acordo com o esperado
  • 7.
    O que éTeste de Software? Verificar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos Processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) [Myers 1979] Qualquer atividade que a partir da avaliação de um atributo ou capacidade de um programa ou sistema seja possível determinar se ele alcança os resultados desejados [Hetzel 1988]
  • 8.
    Objetivos do Teste deSoftware Encontrar defeitos no software, com a finalidade de serem corrigidos antes de o produto ser entregue ao cliente. Recurso: Execução do Sistema Ideal: Encontrar o máximo de erros com mínimo de esforço
  • 9.
    Custo do Teste Quantomais tarde se descobre o erro mais caro fica para corrigir Regra 10 de Myers Análise Produção CUSTOS Testes Construção Especificação
  • 10.
    Modelo de Desenvolvimento deSoftware- Modelo V Requerimentos Análise Desenho Codificação Processo Produto Teste de Aceitação Teste de Sistemas Teste de Integracão Teste de Unidade teste doc doc teste doc teste doc teste O modelo em V (Validação e Verificação) demonstra a importância do teste de software a cada etapa do desenvolvimento e cada um sendo aplicado com um objetivo específico conforme o momento da aplicação (nível ou estratégia de teste)
  • 11.
  • 12.
    Erro, Falha eDefeito O ser humano comete ERRO (engano) que produz um DEFEITO (dano, bug), no código, em um software, sistema ou documento. Se um de defeito no código for executado o sistema pode falhar ao tentar fazer o que devia (ou, algumas vezes, o que não devia) causando uma FALHA. Defeitos no software, sistema ou documentos resultam em falhas, mas nem sempre os defeitos causam falhas. DEFEITO! falha!
  • 13.
    Domínio de entrada Conjunto detodos os possíveis valores que podem se utilizados para executar um programa Exemplo: P com parâmetros de entrada 2 inteiros x e y, onde y ≥ 0 e computa a função xy Domínio de entrada = pares de números inteiros, sendo que y deverá ser positivo ou igual a zero
  • 14.
    Domínio de Saída Conjunto desaídas possíveis de uma determinada funcionalidade, geralmente estão associadas as regras de negócio e as restrições É importante conhecer o domínio de saída para gerar as respostas esperadas e determinar quantos dados de teste deverão ser gerados para evidenciar cada comportamento do sistema(domínio de saída) Do exemplo anterior é o valor de xy ou uma mensagem de erro
  • 15.
    Dado e Caso deTeste Dado de Teste É um elemento do domínio de entrada Caso de Teste É um par formado por um dado de teste mais o resultado esperado para a execução do programa com aquele dado de teste Do exemplo anterior: Casos de teste: <(2,3), 8>, <(4,3),64>, <(3, -1), “erro”>
  • 16.
  • 17.
    Login de Usuário Casos deTeste ENTRADA SAÍDA ESPERADA Informar login e senha corretos O sistema valida as informações e carrega a tela principal Informar login incorreto É exibido o alerta “Login e/ou senha inválido(s). Verifique, por favor.” Informar senha incorreta É exibido o alerta “Login e/ou senha inválido(s). Verifique, por favor.”
  • 18.
    Login de Usuário Casos deTeste ENTRADA SAÍDA ESPERADA Não informar o login É exibido o alerta “O campo login deve ser preenchido. Verifique, por favor” Não informar a senha É exibido o alerta “O campo senha deve ser preenchido. Verifique, por favor” Tentar ultrapassar maxlenghts Os campos devem estar com maxlengths definidos Verificar as atribuições do usuário (teste de segurança) No momento em que ocorrer o login apenas as funcionalidades com permissões atribuidas devem ser exibidas ao usuário Logar com o mesmo usuário em dois browsers É exibido um alerta notificando a duplicidade e é notificada por e-mail a ocorrência desta redundância ao usuário Verificar sintaxe A sintaxe do texto deve estar correta.
  • 19.
    Pesquisa por Período Casos deTeste ENTRADA SAÍDA ESPERADA Informar data início e data fim em uma seqüência cronológica O sistema retorna todos os registros cadastrados entra as datas informadas Informar apenas a data de início O sistema pode exigir ou não a data fim como obrigatório, vai depender do critério do analista do sistema (o testador consulta o analista) Informar apenas a data de fim O sistema pode exigir ou não a data início como obrigatório, vai depender do critério do analista do sistema (o testador consulta o analista) Não informar nenhum dos campos É exibido o alerta para que o usuário preencha o(s) campo(s) obrigatório para a consulta (a obrigatoriedade, mais uma vez, depende do analista). Informar a data fim anterior à data início É exibido o alerta para que o usuário preencha o(s) campo(s) obrigatório para a consulta (a obrigatoriedade, mais uma vez, depende do analista).
  • 20.
    Conjunto de Teste Conjuntode Teste ou Conjunto de Casos de Teste: Conjunto de todos os casos de teste utilizados durante a atividade de teste
  • 21.
    Cenário de Teste Cenáriode teste descreve a situação ou ambiente que deve ser testado, diferente do caso de teste, que descreve como algo deve ser testado. Geralmente todos os cenários de teste são seguidos por seus respectivos casos de teste, que irão detalhar como o cenário deverá ser testado.
  • 22.
    Ambiente de Teste Todaa infra-estrutura onde o teste será executado Finalidade: propiciar a realização de testes em condições conhecidas e controladas Deve ser tratado na estratégia de teste e planejamento Deve ser similar ao ambiente utilizado pelo usuário
  • 23.
    Princípios de Teste Todos ostestes devem ser relacionados aos requisitos do cliente Os testes devem ser planejados muito antes do início do teste Princípio de Pareto 80% de todos os erros descobertos durante o teste vão provavelmente se relacionar a 20% de todos os componentes do programa
  • 24.
    Material produzido por TecnologiaEducacional - TI corporativa