1 1
KLEITOR
Testes de software
Design clássico e Ágil
Conheça: clipzen.blog
Lean SS Black Belt certified
Kanban Coach certified
Scrum Coach certified
Lean expert and QA specialist
Uma introdução.
2 2
Esta apresentação fornece visão
geral sobre testes, e enfatiza testes
funcionais no universo de times
ágeis.
emphasize
3 3
Padronizando o vocabulário
Design clássico
Design Ágil
4 4
Padronizando o
vocabulário
5 5
Qualidade
Qualidade como o "grau em que um conjunto de
características inerentes a um objeto atende aos requisitos".
Simplificando, a qualidade é atender aos requisitos do cliente
ISO 9000:2015: Quality management systems—Fundamentals and vocabulary
6 6
Garantia da qualidade
x
Controle da qualidade
7 7
Garantia da qualidade
Atividade proativa
-Prevenção do que perturba a qualidade
-Foco no processo e melhoria continua
-Como o processo e o produto é feito
8 8
Controle da qualidade
Ferramenta que a Garantia da Qualidade usa
para garantir o atendimento aos requisitos dos
Produtos ou Serviços.
http://academiaplatonica.com.br/2012/gestao/nbr-iso-90002005-3-2-11-garantia-da-
qualidade-sistema-de-gestao-da-qualidade-fundamentos-e-vocabulario/
Mede, inspeciona,
examina
9 9
A psicologia de testes
O que acreditamos que seja teste?
10 10
O que é teste, para você?
- Teste como atividade
- Começa na primeira captura de requisitos
- Não é sobre bug-zero
O objetivo dos testes é agregar valor
o mais cedo possível ao produto
- É sobre obter um wow do cliente
11 11
O que é teste, para você?
- É sobre falhar o mais rápido possível
- Sua essência é enriquecer requisitos.
- Checar é o básico, validar é tudo
É sobre perceber o que
é importante pro
cliente.
12 12
Benefícios de testes
Teste fornece informação
-Que tipo de informação é necessária entregar e
aumentar a qualidade e reduzir riscos?
-Como evidenciar o benefício?
-Qual o tempo para evidenciar e fornecer
feedback?
13 13
Falha, erro, defeito e bug
Uma falha significa que um dado requisito não é
cumprido. Uma falha está presente se uma expectativa
não é conhecida.
Uma falha é causada por um defeito
ou erro interno no software,
cujo jargão é bug.
IEEE Standard 610.12,
Software Testing Foundations, 4ª edição
14 14
Níveis de teste
Componentes (unitarios),
integração, teste de sistema, teste
de aceitação, etc...
Os níveis são sequenciais ou
paralelos?
15 15
Níveis de teste
Componentes (unitários)
16 16
Níveis de teste
Integração: nível unitário, nível de
interface, End-to-end System
testing.
17 17
Tipos de teste
Funcional (caixa preta), inclui todos os tipos de
testes que verificam o comportamenteo de um
sistema. ISO 9126
18 18
Estruturais
Técnicas estruturais (testes baseados em
estrutura, teste de caixa branca).
Informações sobre a estrutura ou arquitetura de
código interno do objeto de teste.
19 19
Tipos de teste
Não funcional (performance, segurança,
usabilidade, etc). Não descrevem as funções, mas
atributos do comportamento funcional ou do
sistema. ISO / IEC 25010: 2011
20 20
Orientados a mudança
O objetivo é aferir se as mudanças não
causaram efeito indesejado.
Teste de confirmação( falhou da primeira vez),
Teste de regressão ( passou da primeira vez).
Se gerou comportamento indesejado ou
inesperado.
21 21
Perspectivas e
expectativas
22 22
V&V – Validação e verificação de software
A validação verifica a conformidade com as expectativas de
qualidade do cliente.
A verificação verifica a conformidade da implementação do
produto de software contra a sua especificação para ver se foi
implementado corretamente.
V&V – Software verification and validation IEEE 1012
https://en.wikipedia.org/wiki/Software_verification_and_validation
https://en.wikipedia.org/wiki/Verification_and_validation
PERSPECTIVAS
23 23
PERSPECTIVAS DE VALIDAÇÃO E VERIFICAÇÃO
-Validação: caixa-preta
-Verificação: caixa branca ( estrutural)
24 24
DESIGN
DE
TESTE
25 25
Desenho de teste
Técnicas estáticas: revisões, inspeções, auditoria de
código
Técnicas Dinâmicas: caixa-preta, Caixa-branca,etc.
Exemplos de técnicas de caixa-preta: partição por equivalência,
análise do valor do limite; tabelas de decisão, etc.
https://en.wikiversity.org/wiki/Software_testing/Design_technique
26 26
Não se pode cobrir tudo.
Cobrir estrategicamente
Amostras de valor
Por que
desenhar
testes?
27 27
TÉCNICAS DE TESTE
É impossível um conjunto completo de testes para provar que
não há erros, a solução é mudar a abordagem de prova
absoluta para demonstração convincente, buscando mostrar
que a probabilidade de falhas mais críticas que hibernam
foram cobertas pelos casos de teste.
IDENTIFICAR BUGS, CENÁRIOS DE RISCOS
E NECESSIDADES DO CLIENTE
28 28
TÉCNICAS DE TESTE
Análise de valor limite
Técnica que busca limítrofes, ou seja, erros que ocorrem nas
fronteiras do domínio de entrada em vez de no centro.
29 29
TÉCNICAS DE TESTE
Outros exemplos:
• Validar limites de expressões numéricas e datas:
>,>=,<,<=;
• Validar datas retroativas
• Validar arquivos cheios e vazios;
• Validar limite mínimo e máximo de parâmetros.
• Validar se cabeçalhos e rodapés estão aparecendo nos
limites superior e inferior;
Análise de valor limite
30 30
Uma escola quer cadastrar turmas e professores.
Uma turma pode ter aulas em salas teóricas e laboratórios
Cada professor tem no máximo 3 turmas, mas pode não estar alocado.
Turmas têm no máximo 30 alunos
A lista de presença deve ser preenchida até 10 minutos após o início da
aula
Exercício: Análise de valor limite
Identifique cenários
31 31
TÉCNICAS DE TESTE
Partição por equivalência
Divide o domínio de entrada em classes ( partes ) de tipos
específicos. Testar um da equivalência é considerado
suficiente.
Quais as classes inválidas?
SoftwareTesting Foundations, 4ª edição
32 32
Uma escola quer cadastrar turmas e professores.
Uma turma pode ter aulas em salas teóricas e laboratórios
Cada professor tem no máximo 3 turmas, mas pode não estar alocado.
Turmas têm no máximo 30 alunos
A lista de presença deve ser preenchida até 10 minutos após o início da
aula
Exercício: Partição por equivalência
Identifique cenários
33 33
TÉCNICAS DE TESTE
Tabelas de decisão
Testes baseados em partições de equivalência ou análise de valores-
limite consideram cada valor de entrada isoladamente.
E se existirem combinações de valores que constituam situações
interessantes a serem testadas?
A resposta é utilizar Tabelas de decisão para análise de “causa-efeito”.
Elas também permitem que se represente várias técnicas de teste em
conjunto.
34 34
TÉCNICAS DE TESTE
Resultado Esperado
Cenário Condição Funcional Pentest
Validar Extensão V V N/A
F F F
Validar conteúdo V V N/A
F F F
Validar Tamanho V V N/A
F F F
Exemplo para testar “Anexar arquivo”
Tabelas de decisão
35 35
TÉCNICAS DE TESTE
Cenário
( causas)
Senha Numero da
conta
Valor
digitado
Valor na
conta
Valor no
caixa
eletrônico
Resultado
esperado.
( efeitos )
CN1- Retirada em
Dinheiro Bem-
sucedida
V V V V V Retirada em
dinheiro bem-
sucedida.
CN2 - Caixa
Eletrônico sem
Dinheiro
V V V V F Opção Retirada
em Dinheiro
indisponível.
Tabela de decisão para “Sacar dinheiro”.
http://www.wthreex.com/rup/process/modguide/md_tstcs.htm
36 36
Cenários de teste
Uma instância de um contexto. Sequência específica de ações que
ilustra comportamentos. Um cenário pode ser usado para ilustrar
uma interação ou a execução da instância de um contexto.
Cenário
( causas)
Senha Numero da
conta
Valor
digitado
Valor na
conta
Valor no
caixa
eletrônico
Resultado
esperado.
( efeitos )
CN1- Retirada em
Dinheiro Bem-
sucedida
V V V V V Retirada em
dinheiro bem-
sucedida.
37 37
Uma escola quer cadastrar turmas e professores.
Uma turma pode ter aulas em salas teóricas e laboratórios
Cada professor tem no máximo 3 turmas, mas pode não estar alocado.
Turmas têm no máximo 30 alunos
A lista de presença deve ser preenchida até 10 minutos após o início da
aula
Exercício: Tabela de decisão
Identifique cenários
38 38
Caso de teste (script)
Conceito:
Conjunto de instruções passo a passo que contêm
-Entradas( dados de teste)
-Saídas ( resultados )
-Validações (Condições de execução: RN, exceções, msg, fluxos, etc)
39 39
Massa e dados de teste
 Dados Válidos: participam de um cenário de casos de teste
positivo.
Ex: nome ”joao”, telefone:3232-0000.
 Dados inválidos: possibilitam a implementação do teste
negativo a um determinado cenário.
Ex: nome ”??@*!”, telefone:”abcd;,~!!”.
Precisa de massa de teste?
40 40
Testes com script. Um exemplo:
41 41
Uma escola quer cadastrar turmas e professores.
Uma turma pode ter aulas em salas teóricas e laboratórios
Cada professor tem no máximo 3 turmas, mas pode não estar alocado.
Turmas têm no máximo 30 alunos
A lista de presença deve ser preenchida até 10 minutos após o início da
aula
Exercício: Crie um teste funcional com script
42 42
O paradoxo dos pesticidas.
Insetos e bactérias tornam-se resistentes aos pesticidas. Da mesma
forma, se os mesmos testes são repetidos uma e outra vez, tendem
a perder sua eficácia, não descobrindo novos defeitos.
Para manter a eficácia de testes e lutar contra este "paradoxo de
pesticidas", casos de teste novos e modificados devem ser
desenvolvidos.
Com base em Software Testing Foundations, 4ª edição
Como reduzir o paradoxo dos pesticidas?
43 43
TÉCNICAS ÁGEIS DE TESTE
-Teste Exploratório no mundo ágil
-Histórias do usuário
44 44
Manifesto de teste
Valorizamos
-Teste no todo é melhor que no final
-Prevenir bugs é melhor que procurá-los
-Compreender o teste é melhor que checar
funcionalidades
-Construir o melhor sistema é melhor que quebra-lo
-Responsabilidade do time com a qualidade é
melhor que a responsabilidade do tester
45 45
Teste
exploratório
46 46
O que é pra
você, teste
exploratório?
Um vídeo sobre
exploratório
47 47
Teste Exploratório:
Características
Gente, desculpa,
ainda não entendi o
que é teste
exploratório
Essa é fácil!!! Design,
execução e
aprendizagem ao
mesmo tempo
Deixa comigo!!! Seus
elementos são três..
James Bach’s 2003 paper, “Exploratory Testing Explained.”
É estruturado. Não é
“Testa eah!”
Seu ponto de partida
são ideias, propósitos
e missão definidas
identificar riscos
críticos, necessidades
e fatores de qualidade
Porque o objetivo é
agregar valor ao
produto
Por quê?
48 48
Por que usar Exploratorios?
Software perfeito e outras ilusões
Não consigo cobrir
com antecedência
todas as condições
...e é muita coisa que leva tempo!
configurações, interações,
execução, sumarização... rsrs
...e o conhecimento?!
dados, cenários,
configurações... nem se
fala!
...e nem todas
condições são úteis de
serem cobertas
49 49
Por que usar Exploratorios?
Repensando estratégias
Não é necessário um
conjunto “perfeito” de
testes
Que tal uma estratégia que
responda a questões criticas?
Amei a ideia..rsrs Que tal um um brainstorm
sobre comportamento e risco?
50 50
Quem precisa de
Exploratórios?
51 51
Quem precisa de
Exploratórios?
52 52
TESTE COM SCRIPT e EXPLORATÓRIO
53 53
SCRIPT CHECA
EXPLORATÓRIO
TESTA
54 54
Técnicas Exploratórias- Como explorar
Jogos de
catástrofes
Modelos de estado,
Técnica de relações,
CRUD, QQC,
Comportamento
padrão
Técnica
de turismo
Session Based e
de Reconhecimento
Persona
Não são
sequenciais
55 55
Cartas exploratórias
Frente da carta Costas da carta
Critérios e condições de teste
56 56
O valor das
Cartas de Teste
Card: para lembrar do teste, conversa
Conversation: detalhes
Confirmation: teste de aceitação
Abordagem
Exploratória
57 57
Sessões de reconhecimento são sobre mapear o território do sistema existente.
Ao final da sessão, saber mais sobre:
-O escopo exploratório
-As técnicas necessárias na exploração tendo uma ideia inicial
sobre a qualidade e características do sistema
Sessões de reconhecimento
James and Jon Bach recon session
https://www.youtube.com/watch?v=Vy0I2SB5OLo
58 58 58
Técnicas Exploratórias
59 59
• E se... O que de pior pode ocorrer? O que pode
comprometer?
• E se a primeira camada de segurança quebrar?
• E se eu mudar um parâmetro da requisição e o captha
não impedir um DOS?
• E se eu testar este trecho de funcionalidade, o que
ocorre?
• O que acontece se eu...
Identificando cenários
orientados a risco
Técnica de Jogos de catástrofes
60 60
Onde ( o que ) : Riscos
Atividade 2-Jogos de catástrofes
61 61
Mind Maps
-Começe com um alvo base
-Estratégias: top down e bottom up
-Deixe as ideias explodirem
-Planeje: KISS at all
-Recall da conversation
62 62
Desenhando cenários com mindmaps
"Acceptance Criteria", Kent McDonald
63 63
Atividade 6Crie um
que
o
com critérios mínimos de aceitação
Utilize técnicas de desenho de teste
Sessões de 5 minutos: Reconhecimento, exploração
64 64
Create.
Crie um caminho diferente para explorar a entidade
Crie entidades com atributos diferentes ( formulários com campos
personalizados)
Delete
Delete atributos da entidade e execute percurso padrão e diferente
Read
Veja a entidade imagem em browsers diferentes e dimensões
diferentes
Update:
Atualize a sessão do browser ( F5) durante o upload da entidade
arquivo
Técnica CRUD
65 65
Exemplo:
oQuem insere na funcionalidade criar escala?
oQuem pode enviar msgs fora do sistema?
oQuando pode enviar msgs?
oPode enviar msgs ao mesmo tempo? (quando)
oQuantos podem concorrentemente se matricular?
oHá outra forma de enviar msg usando tecla de atalho
( como )
oQuando pode apagar a msg de quem?
oComo ( Regras de negócio) insere?
Onde ( o que ) : Entidades, funcionalidades, UI, código...
Como: Técnica 3QC (Quando, Quem, Quantos, Como ) +
CRUD
66 66
Explore com Técnica 3QC (Quando, Quem, Quantos,
Como ) + CRUD
Uma escola quer cadastrar turmas e professores.
Uma turma pode ter aulas em salas teóricas e laboratórios
Cada professor tem no máximo 3 turmas, mas pode não estar alocado.
Turmas têm no máximo 30 alunos
A lista de presença deve ser preenchida até 10 minutos após o início da
aula
67 67
Vantagens de explorar o requisito
-Time uniformiza a visão sobre o requisito
-Time aprende e valida se o que modelou representa
necessidade do cliente
-Aproxima o time e requisitos são enriquecidos
68 68
Vantagens de explorar o requisito
-Testes mais simples e rápidos são produzidos
-Horas de retrabalho de todo o time são economizadas
-Times sadiamente mais produtivos
69 69
USANDO
Heurísticas
70 70
Heurísticas
Recurso valioso ou limitador?
71 71
Definindo as heurísticas
não estou limitando como explorar?
-O cuidado entre direcionar x restringir a
exploração
-Por que o tempo pode ser muito curto e
heurísticas prioritárias
Necessitam ser definidas
-Por que o explorador pode ser inexperiente ou pouco criativo
72 72
Heurísticas
Não demore a entregar um
teste for falta delas.
73 73
Um arquivo de heurísticas
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
Test Heuristics Cheat Sheet Data Type Attacks & Web ... - Test Obsessed
74 74
Atividade -Sugerir - passar à frente
Não consigo enxergar
oportunidade exploratórias
75 7575
Fontes de quando
explorar.
76 76
Fonte de inspiração para Cartas
Quando explorar
Vc faz parte!
Discussões de requisitos
Quem sabe fará parte
Apresentação de um produto
Vc ficou de fora!
Explorar artefatos
Explorar com o cliente
Explorar com o time
77 77
Algumas (outras) fontes
para Teste Exploratório
78 78
Quando é preciso explorar mais?
Atenção às
respostas verbais!
79 79 79
Prática – identificando oportunidades
Quando é preciso explorar mais?
Cada time faz duas perguntas sobre o cenário abaixo
e se há possibilidade de explora-la mais.
Simples, imprecisas, incompletas, dependência, ambiguas
80 80
Surgimento:
Não interpreto a observação como um
problema até que o sentimento ( intensidade)
chega
Atenção às emoções
81 81
o Gaste alguns minutos em torno das bordas
de uma ideia a explorar
o Questione pressupostos e novos conceitos, isso pode
poupar semanas de retrabalho.
Revisão de teste é uma revisão de requisitos para análise,
teste e desenvolvimento: documentação viva
EXPLORANDO REQUISITOS
o Escute a conversa
o Pergunte e explore
o Time precisa de mentalidade
exploratória para trazer ideias à
mesa.
82 82
ATDD (Acceptance Test Driven Development)
O núcleo de todas as práticas
Teste de
Aceitação
Eu sei o que eu
disse, mas já faz
seis meses
83 83
Alguns pontos de vista
-Aceitação do cliente como base;
-Só como pré-entrega do produto é subutilizar a
inteligência produtiva da empresa: muito gasto pouco ROI
-No Ágil é executado em todo o ciclo de vida do produto
ATDD: teste.. Design orientado
84 84
Alguns pontos de vista
-Aproxima o produto da necessidade do cliente. Reduz
incertezas
-Agrega muito valor ao produto
ATDD: teste..
Design orientado
85 85
Testando com Histórias
Usando 3C
-Card
-Conversation
-Confirmation
"User Stories… Unleashed"; Mike Turner, Sean Hurst, Ray Jordan
86 86
O que é uma história?
-Descrição escrita usada para descrever cenários de
negócios
-Testes que transmitem e documentam os detalhes de
um projeto (confirmação).
-Utilizada para modelar o sistema
"User Stories… Unleashed"; Mike Turner, Sean Hurst, Ray Jordan
87 87 87
-Enfatizam comunicação verbal ao invés de escrita.
-São compreensíveis pela equipe e cliente
-São ferramentas de desenvolvimento iterativo.
-Encorajam detalhes até que se tenha entendimento
do que realmente precisa.
User stories
88 88
Não fique obcecado pelo formato
http://blog.crisp.se/2014/09/25/david-evans/as-a-i-want-so-that-considered-harmful
O MVP é o mais importante
89 89
Critérios de aceitação nas costas
da nota adesiva
http://blog.crisp.se/2014/09/25/david-evans/as-a-i-want-so-that-considered-harmful
O MVP é o mais importante
90 90 90
Crie uma ou mais histórias para o cenário seguinte
Uma floricultura deseja informatizar suas operações.
Deseja manter um cadastro de seus clientes e de seus produtos.
Há descontos em certos dias do mês e por limite mínimo
Escreva critérios de aceitação
Use 3C
91 91 91
O valor das
Histórias testáveis
A história para mover o projeto
pra frente
Estreita colaboração com seus stakeholders:
• Para gerar Informações de valor
• Para identificar e enquadrar requisitos que respondam as
perguntas mais importantes sobre o software ou serviço
92 92
Driving Development with Tests:ATDD and TDD, Elisabeth Hendrickson
Todo o
time
explora e
modelaTime
explora e
remodela
testes de
aceitação
Time apoia
e modela
testes de
aceitação
Teste de aceitação: ATDD
Testers, Dev,
Analistas
modelam
testes de
aceitação
93 93 93
Padrões de teste de software
Algumas referências
http://www.gcreddy.com/2012/12/software-testing-standards.html
http://extremesoftwaretesting.com/Info/standards.html
94 94
Imagens
http://www.modernanalyst.com/Resources/Articles/tabid/115/ID/3127/10-Tips-for-Writing-Good-
User-Stories.aspx
http://blog.commlabindia.com/elearning-design/effective-scenarios-for-elearning
https://www.callcentrehelper.com/tag/quality
https://www.sadlerco.com/quality-control/
http://ecomputernotes.com/software-engineering/levels-of-software-testing
http://www.guru99.com/black-box-testing.html
95 95
Parabéns!!!!!
Seu time conseguiu

Introdução ao design de teste de software

  • 1.
    1 1 KLEITOR Testes desoftware Design clássico e Ágil Conheça: clipzen.blog Lean SS Black Belt certified Kanban Coach certified Scrum Coach certified Lean expert and QA specialist Uma introdução.
  • 2.
    2 2 Esta apresentaçãofornece visão geral sobre testes, e enfatiza testes funcionais no universo de times ágeis. emphasize
  • 3.
    3 3 Padronizando ovocabulário Design clássico Design Ágil
  • 4.
  • 5.
    5 5 Qualidade Qualidade comoo "grau em que um conjunto de características inerentes a um objeto atende aos requisitos". Simplificando, a qualidade é atender aos requisitos do cliente ISO 9000:2015: Quality management systems—Fundamentals and vocabulary
  • 6.
    6 6 Garantia daqualidade x Controle da qualidade
  • 7.
    7 7 Garantia daqualidade Atividade proativa -Prevenção do que perturba a qualidade -Foco no processo e melhoria continua -Como o processo e o produto é feito
  • 8.
    8 8 Controle daqualidade Ferramenta que a Garantia da Qualidade usa para garantir o atendimento aos requisitos dos Produtos ou Serviços. http://academiaplatonica.com.br/2012/gestao/nbr-iso-90002005-3-2-11-garantia-da- qualidade-sistema-de-gestao-da-qualidade-fundamentos-e-vocabulario/ Mede, inspeciona, examina
  • 9.
    9 9 A psicologiade testes O que acreditamos que seja teste?
  • 10.
    10 10 O queé teste, para você? - Teste como atividade - Começa na primeira captura de requisitos - Não é sobre bug-zero O objetivo dos testes é agregar valor o mais cedo possível ao produto - É sobre obter um wow do cliente
  • 11.
    11 11 O queé teste, para você? - É sobre falhar o mais rápido possível - Sua essência é enriquecer requisitos. - Checar é o básico, validar é tudo É sobre perceber o que é importante pro cliente.
  • 12.
    12 12 Benefícios detestes Teste fornece informação -Que tipo de informação é necessária entregar e aumentar a qualidade e reduzir riscos? -Como evidenciar o benefício? -Qual o tempo para evidenciar e fornecer feedback?
  • 13.
    13 13 Falha, erro,defeito e bug Uma falha significa que um dado requisito não é cumprido. Uma falha está presente se uma expectativa não é conhecida. Uma falha é causada por um defeito ou erro interno no software, cujo jargão é bug. IEEE Standard 610.12, Software Testing Foundations, 4ª edição
  • 14.
    14 14 Níveis deteste Componentes (unitarios), integração, teste de sistema, teste de aceitação, etc... Os níveis são sequenciais ou paralelos?
  • 15.
    15 15 Níveis deteste Componentes (unitários)
  • 16.
    16 16 Níveis deteste Integração: nível unitário, nível de interface, End-to-end System testing.
  • 17.
    17 17 Tipos deteste Funcional (caixa preta), inclui todos os tipos de testes que verificam o comportamenteo de um sistema. ISO 9126
  • 18.
    18 18 Estruturais Técnicas estruturais(testes baseados em estrutura, teste de caixa branca). Informações sobre a estrutura ou arquitetura de código interno do objeto de teste.
  • 19.
    19 19 Tipos deteste Não funcional (performance, segurança, usabilidade, etc). Não descrevem as funções, mas atributos do comportamento funcional ou do sistema. ISO / IEC 25010: 2011
  • 20.
    20 20 Orientados amudança O objetivo é aferir se as mudanças não causaram efeito indesejado. Teste de confirmação( falhou da primeira vez), Teste de regressão ( passou da primeira vez). Se gerou comportamento indesejado ou inesperado.
  • 21.
  • 22.
    22 22 V&V –Validação e verificação de software A validação verifica a conformidade com as expectativas de qualidade do cliente. A verificação verifica a conformidade da implementação do produto de software contra a sua especificação para ver se foi implementado corretamente. V&V – Software verification and validation IEEE 1012 https://en.wikipedia.org/wiki/Software_verification_and_validation https://en.wikipedia.org/wiki/Verification_and_validation PERSPECTIVAS
  • 23.
    23 23 PERSPECTIVAS DEVALIDAÇÃO E VERIFICAÇÃO -Validação: caixa-preta -Verificação: caixa branca ( estrutural)
  • 24.
  • 25.
    25 25 Desenho deteste Técnicas estáticas: revisões, inspeções, auditoria de código Técnicas Dinâmicas: caixa-preta, Caixa-branca,etc. Exemplos de técnicas de caixa-preta: partição por equivalência, análise do valor do limite; tabelas de decisão, etc. https://en.wikiversity.org/wiki/Software_testing/Design_technique
  • 26.
    26 26 Não sepode cobrir tudo. Cobrir estrategicamente Amostras de valor Por que desenhar testes?
  • 27.
    27 27 TÉCNICAS DETESTE É impossível um conjunto completo de testes para provar que não há erros, a solução é mudar a abordagem de prova absoluta para demonstração convincente, buscando mostrar que a probabilidade de falhas mais críticas que hibernam foram cobertas pelos casos de teste. IDENTIFICAR BUGS, CENÁRIOS DE RISCOS E NECESSIDADES DO CLIENTE
  • 28.
    28 28 TÉCNICAS DETESTE Análise de valor limite Técnica que busca limítrofes, ou seja, erros que ocorrem nas fronteiras do domínio de entrada em vez de no centro.
  • 29.
    29 29 TÉCNICAS DETESTE Outros exemplos: • Validar limites de expressões numéricas e datas: >,>=,<,<=; • Validar datas retroativas • Validar arquivos cheios e vazios; • Validar limite mínimo e máximo de parâmetros. • Validar se cabeçalhos e rodapés estão aparecendo nos limites superior e inferior; Análise de valor limite
  • 30.
    30 30 Uma escolaquer cadastrar turmas e professores. Uma turma pode ter aulas em salas teóricas e laboratórios Cada professor tem no máximo 3 turmas, mas pode não estar alocado. Turmas têm no máximo 30 alunos A lista de presença deve ser preenchida até 10 minutos após o início da aula Exercício: Análise de valor limite Identifique cenários
  • 31.
    31 31 TÉCNICAS DETESTE Partição por equivalência Divide o domínio de entrada em classes ( partes ) de tipos específicos. Testar um da equivalência é considerado suficiente. Quais as classes inválidas? SoftwareTesting Foundations, 4ª edição
  • 32.
    32 32 Uma escolaquer cadastrar turmas e professores. Uma turma pode ter aulas em salas teóricas e laboratórios Cada professor tem no máximo 3 turmas, mas pode não estar alocado. Turmas têm no máximo 30 alunos A lista de presença deve ser preenchida até 10 minutos após o início da aula Exercício: Partição por equivalência Identifique cenários
  • 33.
    33 33 TÉCNICAS DETESTE Tabelas de decisão Testes baseados em partições de equivalência ou análise de valores- limite consideram cada valor de entrada isoladamente. E se existirem combinações de valores que constituam situações interessantes a serem testadas? A resposta é utilizar Tabelas de decisão para análise de “causa-efeito”. Elas também permitem que se represente várias técnicas de teste em conjunto.
  • 34.
    34 34 TÉCNICAS DETESTE Resultado Esperado Cenário Condição Funcional Pentest Validar Extensão V V N/A F F F Validar conteúdo V V N/A F F F Validar Tamanho V V N/A F F F Exemplo para testar “Anexar arquivo” Tabelas de decisão
  • 35.
    35 35 TÉCNICAS DETESTE Cenário ( causas) Senha Numero da conta Valor digitado Valor na conta Valor no caixa eletrônico Resultado esperado. ( efeitos ) CN1- Retirada em Dinheiro Bem- sucedida V V V V V Retirada em dinheiro bem- sucedida. CN2 - Caixa Eletrônico sem Dinheiro V V V V F Opção Retirada em Dinheiro indisponível. Tabela de decisão para “Sacar dinheiro”. http://www.wthreex.com/rup/process/modguide/md_tstcs.htm
  • 36.
    36 36 Cenários deteste Uma instância de um contexto. Sequência específica de ações que ilustra comportamentos. Um cenário pode ser usado para ilustrar uma interação ou a execução da instância de um contexto. Cenário ( causas) Senha Numero da conta Valor digitado Valor na conta Valor no caixa eletrônico Resultado esperado. ( efeitos ) CN1- Retirada em Dinheiro Bem- sucedida V V V V V Retirada em dinheiro bem- sucedida.
  • 37.
    37 37 Uma escolaquer cadastrar turmas e professores. Uma turma pode ter aulas em salas teóricas e laboratórios Cada professor tem no máximo 3 turmas, mas pode não estar alocado. Turmas têm no máximo 30 alunos A lista de presença deve ser preenchida até 10 minutos após o início da aula Exercício: Tabela de decisão Identifique cenários
  • 38.
    38 38 Caso deteste (script) Conceito: Conjunto de instruções passo a passo que contêm -Entradas( dados de teste) -Saídas ( resultados ) -Validações (Condições de execução: RN, exceções, msg, fluxos, etc)
  • 39.
    39 39 Massa edados de teste  Dados Válidos: participam de um cenário de casos de teste positivo. Ex: nome ”joao”, telefone:3232-0000.  Dados inválidos: possibilitam a implementação do teste negativo a um determinado cenário. Ex: nome ”??@*!”, telefone:”abcd;,~!!”. Precisa de massa de teste?
  • 40.
    40 40 Testes comscript. Um exemplo:
  • 41.
    41 41 Uma escolaquer cadastrar turmas e professores. Uma turma pode ter aulas em salas teóricas e laboratórios Cada professor tem no máximo 3 turmas, mas pode não estar alocado. Turmas têm no máximo 30 alunos A lista de presença deve ser preenchida até 10 minutos após o início da aula Exercício: Crie um teste funcional com script
  • 42.
    42 42 O paradoxodos pesticidas. Insetos e bactérias tornam-se resistentes aos pesticidas. Da mesma forma, se os mesmos testes são repetidos uma e outra vez, tendem a perder sua eficácia, não descobrindo novos defeitos. Para manter a eficácia de testes e lutar contra este "paradoxo de pesticidas", casos de teste novos e modificados devem ser desenvolvidos. Com base em Software Testing Foundations, 4ª edição Como reduzir o paradoxo dos pesticidas?
  • 43.
    43 43 TÉCNICAS ÁGEISDE TESTE -Teste Exploratório no mundo ágil -Histórias do usuário
  • 44.
    44 44 Manifesto deteste Valorizamos -Teste no todo é melhor que no final -Prevenir bugs é melhor que procurá-los -Compreender o teste é melhor que checar funcionalidades -Construir o melhor sistema é melhor que quebra-lo -Responsabilidade do time com a qualidade é melhor que a responsabilidade do tester
  • 45.
  • 46.
    46 46 O queé pra você, teste exploratório? Um vídeo sobre exploratório
  • 47.
    47 47 Teste Exploratório: Características Gente,desculpa, ainda não entendi o que é teste exploratório Essa é fácil!!! Design, execução e aprendizagem ao mesmo tempo Deixa comigo!!! Seus elementos são três.. James Bach’s 2003 paper, “Exploratory Testing Explained.” É estruturado. Não é “Testa eah!” Seu ponto de partida são ideias, propósitos e missão definidas identificar riscos críticos, necessidades e fatores de qualidade Porque o objetivo é agregar valor ao produto Por quê?
  • 48.
    48 48 Por queusar Exploratorios? Software perfeito e outras ilusões Não consigo cobrir com antecedência todas as condições ...e é muita coisa que leva tempo! configurações, interações, execução, sumarização... rsrs ...e o conhecimento?! dados, cenários, configurações... nem se fala! ...e nem todas condições são úteis de serem cobertas
  • 49.
    49 49 Por queusar Exploratorios? Repensando estratégias Não é necessário um conjunto “perfeito” de testes Que tal uma estratégia que responda a questões criticas? Amei a ideia..rsrs Que tal um um brainstorm sobre comportamento e risco?
  • 50.
    50 50 Quem precisade Exploratórios?
  • 51.
    51 51 Quem precisade Exploratórios?
  • 52.
    52 52 TESTE COMSCRIPT e EXPLORATÓRIO
  • 53.
  • 54.
    54 54 Técnicas Exploratórias-Como explorar Jogos de catástrofes Modelos de estado, Técnica de relações, CRUD, QQC, Comportamento padrão Técnica de turismo Session Based e de Reconhecimento Persona Não são sequenciais
  • 55.
    55 55 Cartas exploratórias Frenteda carta Costas da carta Critérios e condições de teste
  • 56.
    56 56 O valordas Cartas de Teste Card: para lembrar do teste, conversa Conversation: detalhes Confirmation: teste de aceitação Abordagem Exploratória
  • 57.
    57 57 Sessões dereconhecimento são sobre mapear o território do sistema existente. Ao final da sessão, saber mais sobre: -O escopo exploratório -As técnicas necessárias na exploração tendo uma ideia inicial sobre a qualidade e características do sistema Sessões de reconhecimento James and Jon Bach recon session https://www.youtube.com/watch?v=Vy0I2SB5OLo
  • 58.
    58 58 58 TécnicasExploratórias
  • 59.
    59 59 • Ese... O que de pior pode ocorrer? O que pode comprometer? • E se a primeira camada de segurança quebrar? • E se eu mudar um parâmetro da requisição e o captha não impedir um DOS? • E se eu testar este trecho de funcionalidade, o que ocorre? • O que acontece se eu... Identificando cenários orientados a risco Técnica de Jogos de catástrofes
  • 60.
    60 60 Onde (o que ) : Riscos Atividade 2-Jogos de catástrofes
  • 61.
    61 61 Mind Maps -Começecom um alvo base -Estratégias: top down e bottom up -Deixe as ideias explodirem -Planeje: KISS at all -Recall da conversation
  • 62.
    62 62 Desenhando cenárioscom mindmaps "Acceptance Criteria", Kent McDonald
  • 63.
    63 63 Atividade 6Crieum que o com critérios mínimos de aceitação Utilize técnicas de desenho de teste Sessões de 5 minutos: Reconhecimento, exploração
  • 64.
    64 64 Create. Crie umcaminho diferente para explorar a entidade Crie entidades com atributos diferentes ( formulários com campos personalizados) Delete Delete atributos da entidade e execute percurso padrão e diferente Read Veja a entidade imagem em browsers diferentes e dimensões diferentes Update: Atualize a sessão do browser ( F5) durante o upload da entidade arquivo Técnica CRUD
  • 65.
    65 65 Exemplo: oQuem inserena funcionalidade criar escala? oQuem pode enviar msgs fora do sistema? oQuando pode enviar msgs? oPode enviar msgs ao mesmo tempo? (quando) oQuantos podem concorrentemente se matricular? oHá outra forma de enviar msg usando tecla de atalho ( como ) oQuando pode apagar a msg de quem? oComo ( Regras de negócio) insere? Onde ( o que ) : Entidades, funcionalidades, UI, código... Como: Técnica 3QC (Quando, Quem, Quantos, Como ) + CRUD
  • 66.
    66 66 Explore comTécnica 3QC (Quando, Quem, Quantos, Como ) + CRUD Uma escola quer cadastrar turmas e professores. Uma turma pode ter aulas em salas teóricas e laboratórios Cada professor tem no máximo 3 turmas, mas pode não estar alocado. Turmas têm no máximo 30 alunos A lista de presença deve ser preenchida até 10 minutos após o início da aula
  • 67.
    67 67 Vantagens deexplorar o requisito -Time uniformiza a visão sobre o requisito -Time aprende e valida se o que modelou representa necessidade do cliente -Aproxima o time e requisitos são enriquecidos
  • 68.
    68 68 Vantagens deexplorar o requisito -Testes mais simples e rápidos são produzidos -Horas de retrabalho de todo o time são economizadas -Times sadiamente mais produtivos
  • 69.
  • 70.
  • 71.
    71 71 Definindo asheurísticas não estou limitando como explorar? -O cuidado entre direcionar x restringir a exploração -Por que o tempo pode ser muito curto e heurísticas prioritárias Necessitam ser definidas -Por que o explorador pode ser inexperiente ou pouco criativo
  • 72.
    72 72 Heurísticas Não demorea entregar um teste for falta delas.
  • 73.
    73 73 Um arquivode heurísticas http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf Test Heuristics Cheat Sheet Data Type Attacks & Web ... - Test Obsessed
  • 74.
    74 74 Atividade -Sugerir- passar à frente Não consigo enxergar oportunidade exploratórias
  • 75.
    75 7575 Fontes dequando explorar.
  • 76.
    76 76 Fonte deinspiração para Cartas Quando explorar Vc faz parte! Discussões de requisitos Quem sabe fará parte Apresentação de um produto Vc ficou de fora! Explorar artefatos Explorar com o cliente Explorar com o time
  • 77.
    77 77 Algumas (outras)fontes para Teste Exploratório
  • 78.
    78 78 Quando épreciso explorar mais? Atenção às respostas verbais!
  • 79.
    79 79 79 Prática– identificando oportunidades Quando é preciso explorar mais? Cada time faz duas perguntas sobre o cenário abaixo e se há possibilidade de explora-la mais. Simples, imprecisas, incompletas, dependência, ambiguas
  • 80.
    80 80 Surgimento: Não interpretoa observação como um problema até que o sentimento ( intensidade) chega Atenção às emoções
  • 81.
    81 81 o Gastealguns minutos em torno das bordas de uma ideia a explorar o Questione pressupostos e novos conceitos, isso pode poupar semanas de retrabalho. Revisão de teste é uma revisão de requisitos para análise, teste e desenvolvimento: documentação viva EXPLORANDO REQUISITOS o Escute a conversa o Pergunte e explore o Time precisa de mentalidade exploratória para trazer ideias à mesa.
  • 82.
    82 82 ATDD (AcceptanceTest Driven Development) O núcleo de todas as práticas Teste de Aceitação Eu sei o que eu disse, mas já faz seis meses
  • 83.
    83 83 Alguns pontosde vista -Aceitação do cliente como base; -Só como pré-entrega do produto é subutilizar a inteligência produtiva da empresa: muito gasto pouco ROI -No Ágil é executado em todo o ciclo de vida do produto ATDD: teste.. Design orientado
  • 84.
    84 84 Alguns pontosde vista -Aproxima o produto da necessidade do cliente. Reduz incertezas -Agrega muito valor ao produto ATDD: teste.. Design orientado
  • 85.
    85 85 Testando comHistórias Usando 3C -Card -Conversation -Confirmation "User Stories… Unleashed"; Mike Turner, Sean Hurst, Ray Jordan
  • 86.
    86 86 O queé uma história? -Descrição escrita usada para descrever cenários de negócios -Testes que transmitem e documentam os detalhes de um projeto (confirmação). -Utilizada para modelar o sistema "User Stories… Unleashed"; Mike Turner, Sean Hurst, Ray Jordan
  • 87.
    87 87 87 -Enfatizamcomunicação verbal ao invés de escrita. -São compreensíveis pela equipe e cliente -São ferramentas de desenvolvimento iterativo. -Encorajam detalhes até que se tenha entendimento do que realmente precisa. User stories
  • 88.
    88 88 Não fiqueobcecado pelo formato http://blog.crisp.se/2014/09/25/david-evans/as-a-i-want-so-that-considered-harmful O MVP é o mais importante
  • 89.
    89 89 Critérios deaceitação nas costas da nota adesiva http://blog.crisp.se/2014/09/25/david-evans/as-a-i-want-so-that-considered-harmful O MVP é o mais importante
  • 90.
    90 90 90 Crieuma ou mais histórias para o cenário seguinte Uma floricultura deseja informatizar suas operações. Deseja manter um cadastro de seus clientes e de seus produtos. Há descontos em certos dias do mês e por limite mínimo Escreva critérios de aceitação Use 3C
  • 91.
    91 91 91 Ovalor das Histórias testáveis A história para mover o projeto pra frente Estreita colaboração com seus stakeholders: • Para gerar Informações de valor • Para identificar e enquadrar requisitos que respondam as perguntas mais importantes sobre o software ou serviço
  • 92.
    92 92 Driving Developmentwith Tests:ATDD and TDD, Elisabeth Hendrickson Todo o time explora e modelaTime explora e remodela testes de aceitação Time apoia e modela testes de aceitação Teste de aceitação: ATDD Testers, Dev, Analistas modelam testes de aceitação
  • 93.
    93 93 93 Padrõesde teste de software Algumas referências http://www.gcreddy.com/2012/12/software-testing-standards.html http://extremesoftwaretesting.com/Info/standards.html
  • 94.
  • 95.