Tecnicas de projeto design especificacao modelagem de casos de testes
-
Upload
cristiano-caetano -
Category
Technology
-
view
2.757 -
download
7
description
Transcript of 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
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.
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).
www.qualister.com.br
twitter.com/c_caetano
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.
www.qualister.com.br
Alguns clientes
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
www.qualister.com.br
Tópico
• Introdução
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
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.
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
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
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}
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
www.qualister.com.br
Introdução
• Resumo
Técnicas de testes (O que testar)
Procedimento/Roteiro/Script de teste (Como testar)
www.qualister.com.br
Tópico
• Técnicas de projeto de caso 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.
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
www.qualister.com.br
Tópico
• Particionamento em classes de equivalência e valores limítrofes
www.qualister.com.br
Técnicas de projeto de casos de teste
• Classe de equivalência
www.qualister.com.br
Técnicas de projeto de casos de teste
• Classe de equivalência
www.qualister.com.br
Técnicas de projeto de casos de teste
• Valores limítrofes
www.qualister.com.br
Técnicas de projeto de casos de teste
• Decomposição em classes • Válidas • Inválidas • Limites • NegaDvos • Vazio
www.qualister.com.br
Tópico
• Permutações e Matriz ortogonal (pairwise)
www.qualister.com.br
Técnicas de projeto de casos de teste
Permutações
www.qualister.com.br
Técnicas de projeto de casos de teste
2 x 2 X 5 X 5 = 100 permutações
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
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
www.qualister.com.br
Tópico
• Grafo causa-efeito e Tabela de decisão
www.qualister.com.br
Técnicas de projeto de casos de teste
R2
E2 S1
E1
E3
E4
R1
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
www.qualister.com.br
Tópico
• Árvore de decisão
www.qualister.com.br
Técnicas de projeto de casos de teste
www.qualister.com.br
Árvore de decisão
www.qualister.com.br
Tópico
• Árvore de classificação
www.qualister.com.br
Técnicas de projeto de casos de teste
www.qualister.com.br
Técnicas de projeto de casos de teste
Árvore de classificação
www.qualister.com.br
Tópico
• Decomposição de casos de uso em casos de testes
www.qualister.com.br
Técnicas de projeto de casos de teste
www.qualister.com.br
Técnicas de projeto de casos de teste
FP
FA1
FA2
FA3
www.qualister.com.br
Técnicas de projeto de casos de teste
FP
FA1
FA2
FA3
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
www.qualister.com.br
Técnicas de projeto de casos de teste
www.qualister.com.br
Diagrama de atividade
www.qualister.com.br
Tópico
• Matriz CRUD-L (matriz de interações)
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
www.qualister.com.br
Tópico
• Checklists
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
www.qualister.com.br
Tópico
• Boas práticas
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 +
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
www.qualister.com.br
Tópico
• Ferramentas de apoio para o projeto de casos de testes
www.qualister.com.br
Tópico
• Exercícios práticos
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)