O documento apresenta informações sobre a Qualister, uma empresa especializada em serviços de qualidade e teste de software. A Qualister oferece terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, o documento descreve técnicas de projeto de casos de teste, incluindo particionamento em classes de equivalência, análise de valores limítrofes e permutações.
Perspectivas do profissional de qualidade e testes de software
Tecnicas de projeto design especificacao modelagem de casos de testes
1. (48) 3285 5615
contato@qualister.com.br
• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
www.qualister.com.br
Técnicas
de
projeto
de
casos
de
teste
2. Direitos autorais
Importante
er
produção de qualqu
proibida a cópia e re
É
resentação incluindo,
do conteúdo desta ap
parte
, imagens, gráficos e
não limitado a, textos
mas
é protegida pelas leis
s. Esta apresentação
tabela
no
opriedade de Cristia
de Copyright e são pr
e Treinamento
Qualister Consultoria
Caetano e
LTDA.
–
–
–
www.qualister.com.br
r, copiar, guardar em
é permitido modifica
Não
ugar, vender ou
de dados público, al
banco
apresentação,
qualquer parte desta
republicar
o explícita do autor.
sem prévia permissã
o deste material,
uver permissão de us
Quando ho
e
bibliográfica conform
rigatória a referência
é ob
as normas vigentes.
3. Instrutor
Cristiano Caetano
Email: cristiano.caetano@qualister.com.br
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
5. 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
7. Parcerias internacionais
www.qualister.com.br
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
9. 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
10. 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.
www.qualister.com.br
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.
11. Introdução
• Dado
de
teste
• Um
dado
de
teste
para
um
programa
P
é
um
elemento
do
domínio
de
entrada.
E1
E2
Programa
Entradas
E3
Saídas
Dado
de
teste
www.qualister.com.br
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.
12. 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.
Pré-‐
Condição
www.qualister.com.br
Entradas
Programa
Saídas
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.
13. Introdução
• Caso
de
teste
• Um
caso
de
teste
é
o
par
formado
por
um
dado
de
teste
mais
o
resultado
esperado.
E1
E2
Entradas
Programa
E3
S1
S2
Saídas
S3
Caso
de
teste
{E3,
S3}
www.qualister.com.br
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.
14. 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
Passo
Resultado
esperado
Fazer
isso
Fazer
aquilo
Fazer
aquilo
outro
www.qualister.com.br
Tal
coisa
acontece
Outra
coisa
acontece
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.
15. Introdução
• Resumo
Técnicas
de
testes
(O
que
testar)
www.qualister.com.br
Procedimento/Roteiro/
Script
de
teste
(Como
testar)
17. Técnicas de projeto de casos de testes
Caixa Preta (Funcional)
Caixa Branca (Estrutural)
Baseada na experiência
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
Suposição de erro
Baseado em checklist
Ataques
Testes exploratórios
• 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
18. 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
26. Técnicas de projeto de casos de teste
2
x
2
X
5
X
5
=
100
permutações
www.qualister.com.br
27. 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
28. 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
46. 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
48. 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)
www.qualister.com.br
Test Heuristics Cheat Sheet
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
50. Técnicas de projeto de casos de teste
Nível
de
detalhe
-‐
Complexidade
do
sistema
+
Média
Baixo
Alto
Média
-‐
Experiência
do
Dme
+
www.qualister.com.br
51. 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
54. Para saber mais
hop://www.qualister.com.br/cursos
treinamento@qualister.com.br
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)
www.qualister.com.br