Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema...

33
Planejamento e Projeto de Testes Taíse Dias

Transcript of Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema...

Page 1: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Planejamento e Projeto de Testes

Taíse Dias

Page 2: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Roteiro

Processo de Desenvolvimento:

Problema

Solução

Plano de Testes

Projeto de Testes

Teste baseado em Caso de Uso

Conclusão

Page 3: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Problema no Processo de Desenvolvimento Omissão de etapas de testes Inconsistência entre documentos Falta de comprometimento com a qualidade

dos sistemas Conseqüências: produtos de baixa

confiabilidade e gastos desnecessários por

causa de descobertas de erros tardias. Definição de Requisitos

Projeto do Sistema e do

SoftwareImplementação

e Testes Unitários

Integração e Teste do Sistema Operação e

Manutenção

Page 4: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Solução Iniciar ciclo de vida do teste em paralelo ao de

desenvolvimento Elaborar Plano de Teste previamente ajuda quem

pretende melhorar o seu processo de desenvolvimento e produzir com maior qualidade

Page 5: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Solução

Page 6: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Solução

Poderia haver um responsável por testes desde o início do projeto

O plano pode ser elaborado por alguém, antes do desenvolvimento do sistema

Vantagens: exige o estudo de toda regra de negócio incentiva à imaginação e criação de cenários de

testes, não visualizados pelo analista do sistema. Exemplo: Tela de Login

Page 7: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Ex.: Tela de Login Casos de testes construídos sem análise prévia:

Login do Usuário

Casos de Teste

Informar login correto

O sistema valida as informações e carrega na 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.”

Page 8: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Ex.: Tela de Login

Maior domínio das regras de negócios -> maior cobertura dos casos de testes

Login do Usuário

Casos de TesteNão informar o login É exibido o alerta “O campo login deve

ser preenchido. Verifique, por favor.”

Não informar senha É exibido o alerta “O campo de senha deve ser preenchido. Verifique por favor.”

Verificar sintaxe A sintaxe do texto deve estar correta.

Verificar as atribuições do usuário (teste de segurança)

No momento em que ocorrer o login, apenas as funcionalidades com permissões atribuídas devem ser exibidas ao usuário.

Logar com o mesmo usuário em dois browsers

É exibido um alertas notificando a duplicidade, e é notificada por e-mail a ocorrência desta redundância ao usuário.

Page 9: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Teste baseado em Caso de Uso Responsável pelo Plano de Testes: Analista

de Testes Elabora Projeto de testes durante e/ou após

elaboração de casos de uso Comunicação com o analista de sistemas

tirar dúvidas sobre os casos de uso Exemplo de Caso de uso:

O usuário informa a data início e data fim que deseja procurar.

O sistema retorna todos os registros cadastrados entre as datas informadas.

Neste momento, o analista de testes constrói os seguintes casos de teste:

Page 10: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Teste baseado em Caso de Uso

Pesquisa por período

Casos de TesteInformar data início e fim em uma seqüência cronológica

O sistema retorna todos os registros cadastrados entre 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 data 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(s) para a consulta (a obrigatoriedade, mais uma vez, depende do analista).

Informar a data fim anterior à data início

É exibido o alerta “A data fim informada é anterior à data início. Verifique, por falor.”

Page 11: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Documentação Elaborar documentos de testes Manter consistência com documento de

requisitos Ex: O analista de testes tem conhecimento da

existência de um campo de e-mail no cadastro de usuário. Imediatamente, ele cria um caso de teste que exija uma validação do campo de e-mail (aceitar apenas e-mails válidos). Quando finalmente consulta os fluxos de exceção do caso de uso, nota que não existe uma exceção levantada para o cadastro de e-mails inválidos. Então é adicionado um erro de especificação “Criar fluxo de exceção para cadastro de e-mails inválidos”.

Page 12: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Plano de Testes Identificar o que será testado (requisitos) Descrever as estratégias de teste a serem

empregadas Abordagem (Caixa Preta e Caixa Branca) Tipos de testes: funcionais, de segurança, entre

outros. Descrever quais técnicas serão utilizadas para

criação dos casos de testes: baseados em casos de uso, de boundary, entre outras.

Critérios de sucesso Identificar os recursos necessários

Recursos humanos Ferramentas

Prover uma estimativa dos esforços de teste Atividades Responsabilidades Cronograma

Page 13: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Projeto de Testes Artefato que descreve os casos de testes e

os procedimentos para execução dos mesmos.

Para projetar casos de testes, são visualizados cenários (casos de uso) a partir dos quais serão criados casos de testes.

Estabilizar o Test bed: combinação de drivers e stubs

Determinar pré-condições para o teste e os objetivos a serem atingidos

Especificar os casos de testes individuais Determinar como executar os testes

Page 14: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Exemplo de criação de caso de teste baseado em caso de uso

[UC07]Nome: Cadastrar usuárioAtores: VendedorPrioridade: EssencialRequisitos associados: [RF02] Cadastro de usuários

Entradas: Nome, CPF, Data de Nascimento Login (exceto para funcionário) Senha (exceto para funcionário) Crédito, data inicial, final, permissão para comprar em dinheiro, dias da semana (apenas

funcionário)Pré-condições: O vendedor deve estar logado no sistema

O usuário não deverá estar cadastrado no sistemaPós-condições: O usuário deve estar cadastrado no banco de dadosFluxos de eventosFluxo Normal: 1. O usuário seleciona a opção “Cadastrar Usuário”. [Fluxo Excepcional 1]

2. O usuário seleciona se o cadastro a ser feito é de funcionário, gerente ou vendedor.3. O usuário fornece os dados da pessoa a ser cadastrada.4. O sistema verifica se todas as informações obrigatórias foram fornecidas. [Fluxo Excepcional 2]5. O sistema valida as informações fornecidas.6. O sistema mostra uma tela para confirmação do cadastro.7. O usuário confirma o cadastro.8. Os dados são armazenados na base de dados.

Fluxo Excepcional 1: 1. A opção “Voltar” é selecionada.2. Todos os dados informados são descartados.3. A tela inicial do sistema é mostrada.

Fluxo Excepcional 2: 1. Uma ou várias informações obrigatórias não são informadas ou o formato da informação não é o adequado.

2. O sistema mostra uma tela informando que falta uma ou mais informações obrigatórias.3. O sistema retorna para a tela “Cadastrar Pessoa” com os dados informados nos seus respectivos

lugares.

Page 15: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Page 16: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

OrganizaçãoAlmoxarifadoProduto

VendasUsuário

Page 17: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Nome:

CPF:

Data de Nascimento:

Tipo de usuário:

<< Voltar

Gerente

Continuar >>

Nome 1

032.165.987-52

23/03/1985

Page 18: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Login:

Senha:

<< Voltar

login1

Cadastrar

senha1

Page 19: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

O usuário foi cadastrado com sucesso!

Cadastro de usuário

OK

Page 20: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Page 21: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

OrganizaçãoAlmoxarifadoProduto

VendasUsuário

Page 22: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Nome:

CPF:

Data de Nascimento:

Tipo de usuário:

<< Voltar

Vendedor

Continuar >>

Nome 2

053.725.944-50

07/07/1989

Page 23: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Login:

Senha:

<< Voltar

login2

Cadastrar

senha2

Page 24: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

O usuário foi cadastrado com sucesso!

Cadastro de usuário

OK

Page 25: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Page 26: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

OrganizaçãoAlmoxarifadoProduto

VendasUsuário

Page 27: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Nome:

CPF:

Data de Nascimento:

Tipo de usuário:

<< Voltar

Funcionário

Continuar >>

Nome 3

012.165.548-54

07/07/1980

Page 28: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

Cadastro de Usuário

Crédito em reais:

Data Inicial:

Data Final:

Permissão para compras em dinheiro?

Dias permitidos para realizar compras: todos

2ª feira 3ª feira 4ª feira 5ª feira 6ª feira

<< Voltar

Cadastrar

10,00

01/11/2007

07/11/2007

Não

Page 29: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Cadastrar Fazer logoffRelatóriosAlterar Remover

O usuário foi cadastrado com sucesso!

Cadastro de usuário

OK

Page 30: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Exemplo de criação de caso de teste baseado em caso de uso

Técnica utilizada: Use Case Testing

ID CT_001 Tipo do teste Funcional

ObjetivoVerificar se a funcionalidade de cadastrar usuário está executando corretamente.

Requisito [RF02] Cadastro de usuários

Pré-condição

1. O vendedor deve estar logado no sistema2. O usuário não deverá estar cadastrado no sistema

Nº. do Passo

Passos Resultados Esperados

1 Selecione a opção “Cadastrar Usuário”. A tela de cadastro é apresentada.

2 Forneça os dados do usuário (nome = nome1, CPF = 032.165.987-52, data de nascimento = 23/03/1985, tipo de usuário = gerente ) e selecione o botão “Continuar”.

A tela para cadastrar login e senha é apresentada.

3 Forneça os valores de login e senha (login = login1 e senha = senha1) e selecione o botão “Cadastrar”.

O sistema retorna uma mensagem informando que o usuário foi cadastrado com sucesso.

4 Verifique se o usuário está cadastrado no banco de dados com todas as informações fornecidas.

O usuário foi cadastrado no banco de dados com sucesso.

Page 31: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Exemplo de criação de caso de teste baseado em caso de uso E se nem todos os dados obrigatórios forem

preenchidos? E se esse usuário já tiver sido cadastrado no

banco de dados? E se o formato do CPF ou da data não

obedecer ao padrão? E se o usuário desistir de cadastrar usuário

durante a realização do cadastro? E se outras pré-condições forem violadas? Sugestão: “tentar criar casos de testes não

convencionais (se você não tentar, os usuários irão!!!)”

Page 32: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Conclusão

Produzir requisitos de testes baseados nos requisitos de análise

“As fábricas de software que experimentam algumas mudanças chegam sempre às mesmas conclusões: optar por testar somente no fim é ineficaz, gera mais gastos, e ainda induz ao maior de todos os prejuízos: a insatisfação do usuário. ”

Page 33: Planejamento e Projeto de Testes Taíse Dias. Roteiro Processo de Desenvolvimento: Problema Solução Plano de Testes Projeto de Testes Teste baseado em.

Referências [1] Testes de Software, disponível em www. URL:

<http://testesdesoftware.blogspot.com/2007/05/artigo-ii.html#links>, último acesso em 23 de setembro de 2007.

[2] Disciplina de Engenharia de Software, disponível em www. URL: http://www.cin.ufpe.br/~if682

[3] Spillner, A.; Linz, T.; Schaefer, H.: Software Testing Foundations, Rock Nook, 2007.