54
www.qualister.com.br (48) 3285 5615 [email protected] Técnicas de projeto de casos de teste Terceirização de profissionais Consultoria de teste Avaliação de usabilidade Automação de testes Testes de performance Treinamentos

Tecnicas de projeto design especificacao modelagem de casos de testes

Embed Size (px)

DESCRIPTION

Técnicas de projeto design especificação modelagem de casos de testes. Para maiores informações, visite: http://www.qualister.com.br

Citation preview

Page 1: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

(48) 3285 5615 [email protected]

Técnicas  de  projeto  de  casos  de  teste  

•  Terceirização de profissionais •  Consultoria de teste •  Avaliação de usabilidade •  Automação de testes •  Testes de performance •  Treinamentos

Page 2: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Direitos autorais

Importante –  É proibida a cópia e reprodução de qualquer

parte do conteúdo desta apresentação incluindo,

mas não limitado a, textos, imagens, gráficos e

tabelas. Esta apresentação é protegida pelas leis

de Copyright e são propriedade de Cristiano

Caetano e Qualister Consultoria e Treinamento

LTDA.

–  Não é permitido modificar, copiar, guardar em

banco de dados público, alugar, vender ou

republicar qualquer parte desta apresentação,

sem prévia permissão explícita do autor.

–  Quando houver permissão de uso deste material,

é obrigatória a referência bibliográfica conforme

as normas vigentes.

Page 3: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Instrutor

Cristiano Caetano Email: [email protected] Apresentações: slideshare.net/cristianocaetano Blog: cristianocaetano.wordpress.com

É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br).

Page 4: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Twitter

twitter.com/c_caetano

Page 5: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Sobre a Qualister

•  Fundação: 2007. •  Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união

de profissionais qualificados e certificados na área de testes e qualidade de software, com o objetivo de integrar, implementar e implantar soluções com base nas melhores práticas do mercado e normas internacionais.

•  Colaboradores: A Qualister é composta por colaboradores pós-graduados e certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de Tecnologia da Informação.

•  Área de atuação: A Qualister é uma empresa especializada em serviços de qualidade e teste de software. Tem como linhas de atuação consultoria em teste/qualidade de software, outsourcing (terceirização dos serviços através da alocação de profissionais) e treinamentos.

•  Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da universidade UNIVALI.

Page 6: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Alguns clientes

Page 7: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Parcerias internacionais

           

         

       

Soluções para automação, profilling e gestão de testes

Soluções para testes de performance

Soluções de apoio a avaliação de usabilidade

Page 8: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Introdução

Page 9: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Para  que  serve  o  teste  de  so-ware?  •  Para  confirmar  se  o  so3ware  faz  o  que  ele  deve  fazer  •  Para  confirmar  se  o  so3ware  não  faz  o  que  ele  não  deveria  fazer  •  Para  confirmar  se  o  so3ware  atende  a  fatores  de  qualidade  implícitos  •  Encontrar  defeitos  

Page 10: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  É  impossível  testar  exaus7vamente  por  causa  da  cardinalidade  das  Entradas  e  Saídas  de  um  programa  •  O  domínio  de  entrada  de  um  programa  P,  denotado  por  DE(P)  é  o  conjunto  de  

todos  os  possíveis  valores  que  podem  ser  uDlizados  para  executar  o  programa  P.  

•  O  domínio  de  saída  de  um  programa  P,  denotado  por  DS(P)  é  o  conjunto  de  todos  os  possíveis  resultados  esperados  após  a  execução  do  programa  P.  

DELAMARO, Márcio Eduardo (Org.) ; MALDONADO, José Carlos (Org.) ; JINO, Mario (Org.) . Introdução ao teste de software. 1. ed. Rio de Janeiro - RJ: Editora Campus, 2007. v. 1. 394 p.

Page 11: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Dado  de  teste  •  Um  dado  de  teste  para  um  programa  P  é  um  elemento  do  domínio  

de  entrada.  

DELAMARO, Márcio Eduardo (Org.) ; MALDONADO, José Carlos (Org.) ; JINO, Mario (Org.) . Introdução ao teste de software. 1. ed. Rio de Janeiro - RJ: Editora Campus, 2007. v. 1. 394 p.

Entradas    

Saídas    

Programa  E1 E2

E3

Dado  de  teste  

Page 12: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Pré-­‐condição  •  Condições de ambiente e de estado do sistema que

devem ser atendidas antes da execução de um teste.

DELAMARO, Márcio Eduardo (Org.) ; MALDONADO, José Carlos (Org.) ; JINO, Mario (Org.) . Introdução ao teste de software. 1. ed. Rio de Janeiro - RJ: Editora Campus, 2007. v. 1. 394 p.

Entradas    

Saídas    

Programa  Pré-­‐Condição  

Page 13: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Caso  de  teste  •  Um  caso  de  teste  é  o  par  formado  por  um  dado  de  teste  mais  o  

resultado  esperado.  

DELAMARO, Márcio Eduardo (Org.) ; MALDONADO, José Carlos (Org.) ; JINO, Mario (Org.) . Introdução ao teste de software. 1. ed. Rio de Janeiro - RJ: Editora Campus, 2007. v. 1. 394 p.

Entradas    

Saídas    

Programa  E1 E2

E3

S1 S2

S3

Caso  de  teste  {E3,  S3}  

Page 14: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Procedimento  de  teste  (roteiro  ou  script  de  teste)  •  Um  roteiro  de  teste  determina  uma  sequência  de  ações  para  

executar  um  caso  de  teste  

DELAMARO, Márcio Eduardo (Org.) ; MALDONADO, José Carlos (Org.) ; JINO, Mario (Org.) . Introdução ao teste de software. 1. ed. Rio de Janeiro - RJ: Editora Campus, 2007. v. 1. 394 p.

Passo   Resultado  esperado  

Fazer  isso  

Fazer  aquilo   Tal  coisa  acontece  

Fazer  aquilo  outro   Outra  coisa  acontece  

Page 15: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Introdução

•  Resumo  

Técnicas  de  testes  (O  que  testar)  

Procedimento/Roteiro/Script  de  teste  (Como  testar)  

Page 16: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Técnicas de projeto de caso de testes

Page 17: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de testes

Classes de equivalencia/Valores limítrofes Tabelas de decisão

Pairwise Árvore de classificação

Teste estrutura de controle Teste de condição

Teste de ciclo Teste de decisão

Teste de fluxo de dados

Caixa Preta (Funcional) Caixa Branca (Estrutural)

Suposição de erro Baseado em checklist

Ataques Testes exploratórios

Baseada na experiência

•  Funcional: Nesta técnica, também conhecida como “Teste de Caixa Preta”, são usados critérios para a geração de casos de teste com o objetivo de avaliar a aderência, ou conformidade do software implementado em relação ao comportamento descrito nos requisitos.

•  Estrutural: Nesta técnica, também conhecida como “Teste de Caixa Branca”, são requer a análise do código fonte e a geração de casos de teste que exercitem partes do código e não de sua especificação.

•  Baseada na experiência: Nesta técnica, a geração de casos de testes é baseada na experiência do testador em sistemas similares ou experiência geral na atividade de teste.  

Page 18: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Técnicas  funcionais  (caixa  preta)  que  serão  discu7das:  •  ParDcionamento  em  classes  de  equivalência  •  Análise  de  valor  limítrofe  •  Permutações  e  matriz  ortogonal  (pairwise)  •  Grafo  de  causa-­‐efeito  e  tabela  de  decisão  •  Árvore  de  decisão  •  Árvore  de  classificação  •  Decomposição  de  casos  de  uso  em  casos  de  testes  •  CRUD-­‐L  •  Checklists  

Page 19: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Particionamento em classes de equivalência e valores limítrofes

Page 20: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Classe de equivalência

Page 21: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Classe de equivalência

Page 22: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Valores limítrofes

Page 23: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Decomposição  em  classes  •  Válidas  •  Inválidas  •  Limites  •  NegaDvos  •  Vazio  

Page 24: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Permutações e Matriz ortogonal (pairwise)

Page 25: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Permutações      

Page 26: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

2  x  2  X  5  X  5  =  100  permutações      

Page 27: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Matriz  ortogonal  (pairwise)  •  2  x  2  X  5  X  5  =  100  permutações  

•  2  variáveis  =  25  permutações              

Page 28: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Matriz  ortogonal  (pairwise)  •  2  x  2  X  5  X  5  =  100  permutações  

•  2  variáveis  =  25  permutações  •  3  variáveis  =  50  permutações  •  4  variáveis  =  100  permutações    

       

Page 29: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Grafo causa-efeito e Tabela de decisão

Page 30: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

R2  

E2  S1  

E1  

E3  

E4  

R1  

Page 31: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

1   2   1   2  

2   4  

1  

3   2  

3  

1  

Iden7dade   NOT  

OR   AND  

Notação  básica  

Page 32: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Árvore de decisão

Page 33: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Page 34: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Árvore de decisão

Page 35: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Árvore de classificação

Page 36: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Page 37: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Árvore de classificação

Page 38: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Decomposição de casos de uso em casos de testes

Page 39: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Page 40: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

FP  

FA1  

FA2  

FA3  

Page 41: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

FP  

FA1  

FA2  

FA3  

Page 42: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

FP  

FA1  

FA2  

FA3  

#   Fluxos  

C1   FP  

C2   FP  +  FA1  

C3   FP  +  FA1  +  FA2  

C4   FP  +  FA3  

Page 43: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Page 44: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Diagrama de atividade

Page 45: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Matriz CRUD-L (matriz de interações)

Page 46: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Matriz  CRUD-­‐L  (Matriz  de  interações)  •  A matriz de Interações (ou Matriz CRUD-L) é construída de forma que os

casos de testes são listados num dos seus eixos e as entidades no outro. As entidades podem ser tabelas de banco de dados ou funcionalidades.

•  Cada uma das células da matriz descreve as ações exercidas pelos casos de testes nas entidades que podem ser: Create (inclusão), Read (leitura), Update (atualização), Delete (exclusão) e List (listagem, relatórios)

EnDdade1   EnDdade2   EnDdade3   EnDdade4  

CT1   C   UD   CRUDL   L  

CT2   L   CRUD   C   D  

CT3   RU   DL  

CT4   C   U  

Page 47: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Checklists

Page 48: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

•  Checklists

Item  a  verificar   Verificado  (S/N)  

Limites    (valores  limítrofes,  acima  dos  limites,  etc)  

Interrupções  (cancelar,  desligar,  desconectar,  matar  o  processo,  etc)  

Configurações  (versões  diferentes  de  so3ware,  sistema  operacional,  hardware)  

Localização/Internacionalização  

Ausência  de  recursos  (falta  de  espaço  em  disco,  memória,  banda  de  rede,  etc)  

Estress  (ultrapassar  e  superuDlizar  os  limites:  usuários,  transações,  tamanho,  etc)  

Concorrência  (verificar  a  atomicidade  da  transação  com  múlDplos  usuários  concorrentes)  

Dependência  (verificar  a  consistência  de  relacionamentos  mestre-­‐detalhe)  

Matrix  CRUD  (acrônimo  de  Create,  Read,  Update  e  Delete)    

Test Heuristics Cheat Sheet http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf

Page 49: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Boas práticas

Page 50: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Técnicas de projeto de casos de teste

Nível  de  detalhe  

Média   Baixo  

Alto   Média  

 -­‐  Experiência  do  Dme  +  

 -­‐  Complexidade  do  sistem

a  +  

Page 51: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Formatos de casos de testes

Formatos  •  Casos  de  teste  •  Casos  de  teste  +  roteiro  •  Roteiro  +  tabela  de  dados  (data-­‐driven)  •  G/W/T  (Given/When/Then)  •  Mapas  mentais  

     

Page 52: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Ferramentas de apoio para o projeto de casos de testes

Page 53: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Tópico

•  Exercícios práticos

Page 54: Tecnicas de projeto design especificacao modelagem de casos de testes

www.qualister.com.br

Para saber mais

hop://www.qualister.com.br/cursos  [email protected]      

Treinamento:    Como  escrever  casos  de  testes:  Técnicas  de  projeto  de  casos  de  testes  Ementa:  

•  Introdução a técnicas de projeto de caso de testes •  Técnicas baseadas na experiência •  Técnicas estruturais (caixa branca) •  Técnicas funcionais (caixa preta) •  Testes positivos e negativos •  Técnicas de projeto de caso de testes •  Particionamento em classes de equivalência •  Análise de valor limite •  Grafo de causa e efeito e tabela de decisão •  Matriz ortogonal (pairwise) •  Árvore de classificação •  Como escrever casos de testes •  Casos de testes x Roteiros de testes •  Pré-condições e pós-condições •  Nível de detalhe •  Formatos (Ação/Resultado, GWT, Data Table, Mapa Mental, etc)