SlideShare uma empresa Scribd logo
1 de 95
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
Test design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniquesTest design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniquesKhuong Nguyen
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
Unit and integration Testing
Unit and integration TestingUnit and integration Testing
Unit and integration TestingDavid Berliner
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual TestingAyah Soufan
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumGustavo Quezada
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Edureka!
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...Yasuharu Nishi
 

Mais procurados (20)

Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Test design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniquesTest design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniques
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Software Testing (1)
Software Testing (1)Software Testing (1)
Software Testing (1)
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Salesforce testing best_practices
Salesforce testing best_practicesSalesforce testing best_practices
Salesforce testing best_practices
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Unit and integration Testing
Unit and integration TestingUnit and integration Testing
Unit and integration Testing
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos Scrum
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
 

Semelhante a Introdução ao design de teste de software

ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SWguest8ae21d
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Javaaceiro
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesEverton Rodrigues
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninDevInPF
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização UnivemAndré Abe Vicente
 

Semelhante a Introdução ao design de teste de software (20)

Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
Introdução a tdd
Introdução a tddIntrodução a tdd
Introdução a tdd
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Java
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
TDD (Resumo)
TDD (Resumo)TDD (Resumo)
TDD (Resumo)
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por Testes
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Eng de testes aula2
Eng de testes   aula2Eng de testes   aula2
Eng de testes aula2
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Apresentacao teste
Apresentacao testeApresentacao teste
Apresentacao teste
 

Mais de Kleitor Franklint Correa Araujo

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentosKleitor Franklint Correa Araujo
 

Mais de Kleitor Franklint Correa Araujo (20)

Metricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projetoMetricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projeto
 
Modelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitosModelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitos
 
Engenharia de software Lean Kanban
Engenharia de software  Lean KanbanEngenharia de software  Lean Kanban
Engenharia de software Lean Kanban
 
Fundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e QualidadeFundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e Qualidade
 
MBA em projetos - Gestao Ágil
MBA em projetos - Gestao ÁgilMBA em projetos - Gestao Ágil
MBA em projetos - Gestao Ágil
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
Teste de software gestao e kaizen
Teste de software gestao e kaizenTeste de software gestao e kaizen
Teste de software gestao e kaizen
 
Gestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndownGestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndown
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
 
Gestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - RetrospectivasGestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - Retrospectivas
 
Gestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - TaskboardsGestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - Taskboards
 
Gestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlogGestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlog
 
Gestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião DiáriaGestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião Diária
 
Agil - coisas essenciais de sempre
Agil - coisas essenciais de sempreAgil - coisas essenciais de sempre
Agil - coisas essenciais de sempre
 
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
 
Gestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciaisGestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciais
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 

Introdução ao design de teste de software

  • 1. 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 2 Esta apresentação fornece visão geral sobre testes, e enfatiza testes funcionais no universo de times ágeis. emphasize
  • 3. 3 3 Padronizando o vocabulário Design clássico Design Ágil
  • 5. 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 6 Garantia da qualidade x Controle da qualidade
  • 7. 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 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 9 A psicologia de 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 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 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 de teste 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 de teste Componentes (unitários)
  • 16. 16 16 Níveis de teste Integração: nível unitário, nível de interface, End-to-end System testing.
  • 17. 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 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 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 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.
  • 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 DE VALIDAÇÃO E VERIFICAÇÃO -Validação: caixa-preta -Verificação: caixa branca ( estrutural)
  • 25. 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 26 Não se pode cobrir tudo. Cobrir estrategicamente Amostras de valor Por que desenhar testes?
  • 27. 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 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 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 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 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 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 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 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 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 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 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 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 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 40 Testes com script. Um exemplo:
  • 41. 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 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 43 TÉCNICAS ÁGEIS DE TESTE -Teste Exploratório no mundo ágil -Histórias do usuário
  • 44. 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
  • 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 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 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 50 Quem precisa de Exploratórios?
  • 51. 51 51 Quem precisa de Exploratórios?
  • 52. 52 52 TESTE COM SCRIPT e EXPLORATÓRIO
  • 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 Frente da carta Costas da carta Critérios e condições de teste
  • 56. 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 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 58 Técnicas Exploratórias
  • 59. 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 60 Onde ( o que ) : Riscos Atividade 2-Jogos de catástrofes
  • 61. 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 62 Desenhando cenários com mindmaps "Acceptance Criteria", Kent McDonald
  • 63. 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 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 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 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 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 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
  • 71. 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 72 Heurísticas Não demore a entregar um teste for falta delas.
  • 73. 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 74 Atividade -Sugerir - passar à frente Não consigo enxergar oportunidade exploratórias
  • 75. 75 7575 Fontes de quando explorar.
  • 76. 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 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 interpreto a observação como um problema até que o sentimento ( intensidade) chega Atenção às emoções
  • 81. 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 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 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 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 85 Testando com Histó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 -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 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 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 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 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 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 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