TESTE DE SOFTWARE
OBJETIVOS
• Desmistificar o teste de software
• Mostrar a importância do teste, na
construção de um software de qualidade
HOJE VAMOS
FALAR SOBRE
1. Quebra-Gelo – Telefone sem fio
2. Principais conceitos e práticas
3. Por que é necessário testar
4. Níveis de testes
5. Regulamentação
6. Automação de testes
7. Teste ágil
8. Carreira
9. Dinâmica - Jenga Tests
01
QUEBRA-GELO
TELEFONE SEM FIO
QUEBRA-GELO - TELEFONE SEM FIO
QUEBRA-GELO - TELEFONE SEM FIO
Principais conceitos e
práticas
02
O QUE É TESTE SOFTWARE?
GLOSSÁRIO PADRÃO DE TERMOS DE TESTE DE SOFTWARE (ISTQB)
THE ART OF SOFTWARE TESTING - Third Edition (GLENFORD J. MYERS)
OBJETIVO DO TESTE DE SOFTWARE
Encontrar
defeitos
Prevenir
defeitos
Confiança
FRONTEIRAS DAS ATIVIDADES DO TESTE
Teste Dinâmico
• Planejamento
• Execução
• Controle
Teste Estático
• Revisão
• Inspeção
• Análise
PRINCIPAIS ATIVIDADES DO TESTE
Planejamento
• Objetivos
• Escopo
• Cronograma
• Recursos
• Estimativas
• Critérios de conclusão
Condições de teste
• Definição de cenários e
condições
Modelagem
• Criação dos casos de
teste
Execução
• Execução dos casos de
teste
Verificação
• Averiguação dos
resultados
Avaliação dos critérios
de conclusão
• Avaliar os resultados do
teste
Relatar sobre o processo
• Relatar o ocorrido
Atividades de
encerramento
• Encerramento do projeto
e emissão de relatórios
gerenciais
Controle
CICLO DE VIDA DO DESENVOLVIMENTO DE SOFTWARE
Testes
Desenvolvimentode
Software
Análise de Requisitos Especificação Funcional Especificação Técnica Construção Testes
Início
Levantamento
de Requisitos
Especificação
Funcional
Especificação
Técnica
Construção e
Testes
Unitários
Preparar
Plano de
Testes
Preparar
Desenho de
Testes
Preparar
Desenho de
Testes
Executar os
Testes
Fim
OS SETE PRINCÍPIOS DO TESTE
Teste demonstra a presença de defeitos
Teste exaustivo é impraticável
Teste antecipado
Agrupamento de defeitos
Paradoxo do pesticida
Teste depende do contexto
A ilusão da ausência de erros
OS SETE PRINCÍPIOS DO TESTE
• O teste exaustivo é impraticável
TESTE ANTECIPADO
56
7
10
27
Etapas do desenvolvimento x Introdução dos erros
Requisitos
Construção
Outros
Design
Fonte: James Martin
AGRUPAMENTO DE DEFEITOS
20%
Funcionalidades
80%
Defeitos
PARADOXO DO PESTICIDA
Suíte de
teste A
Suíte de
teste A
Menor
Eficácia
TESTE DEPENDE DO CONTEXTO
Saúde Gestão
A ILUSÃO DA AUSÊNCIA DE ERROS
Qualidade
Sem falhas
03
Por que é necessário
testar
POR QUE É NECESSÁRIO TESTAR
POR QUE É NECESSÁRIO TESTAR
Confiança
Valor
Qualidade
Produtividade
Teste de software
POR QUE É NECESSÁRIO TESTAR
Níveis de teste
04
NÍVEIS DE TESTE
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
TESTE DE UNIDADE
• Testa cada unidade do software
• Envolve os desenvolvedores
• Menores partes do software
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
TESTE DE COMPONENTE
• Classes, objetos, módulos, etc...
• Envolve os desenvolvedores
• Preparar os testes antes de codificar
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
BDD (Behavior Driven Development) & TDD (Test Driven Development)
TESTE DE COMPONENTE
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Escrever um teste de
aceitação defeituoso
Escrever um teste de
unidade que falhe
Fazer o teste passar
RefatorarRefatorar
3º
2º
1º
Mock
Spy
Stub
TESTE DE COMPONENTE
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
TESTE DE INTEGRAÇÃO
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Fonte: UOL Tech Day: Testes de Integração com OpenEJB
TESTE DE PERFORMANCE
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Fonte: http://guts-rs.blogspot.com.br/
Alessandra Paz
TESTE DE SEGURANÇA
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Fonte: https://www.mamsys.com/quality-assurance/security-testing/
Teste de
penetração
Verificadores de
integridade do
arquivo
Cracking de
Senhas
Marcação de
Guerra
Detecção de
vírus
Cracking de
Senhas
Varredura de
Vulnerabilidade
Digitalização em
rede
Verificação do
registro
TESTE DE SISTEMA
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Analise de
requisitos
Planejamento de
testes
Design do
caso de
teste
Matriz de
rastreabilidade
Execução
de teste
Gerenciamento
de defeitos
Análise de
cobertura do
código
Fonte: https://www.testree.com/services/functional-testing
TESTE DE ACEITAÇÃO
Teste de aceitação
Teste de sistema
Teste de segurança
Teste de performance
Teste de integração
Teste de componente
Teste de unidade
Alfa
• Ambiente da empresa
• Ambiente controlado
Beta
• Versões lançadas a grupos de
usuários
• Para grande público
• Mais de uma instalação do
cliente
• Ambiente não controlado
05
Regulamentação
REGULAMENTAÇÃO
REGULAMENTAÇÃO
Fonte: http://www.bstqb.org.br/?q=certificacao
NORMAS E PADRÕES
• Define um glossário de termos
para teste de software
BS 7925-1
• Define um padrão para
processo de teste de software
BS 7925-2
• Define normas para o processo
de teste e qualidade do produto
IEEE 829
• Define as características da
qualidade de software
ISO 9126-1
AUTOMAÇÃO DE
TESTES
06
AUTOMAÇÃO DE TESTES
UI
Serviços
Unitário
Manual
AUTOMAÇÃO DE TESTES
UI
Serviços
Unitário
Manual
07
Teste ágil
O QUE MUDA?
Fonte: http://eliasnogueira.com/o-mundo-de-teste-de-software/capitulo-7-teste-agil-como-implementar/
O QUE MUDA?
Teste de
Unidade
Automatizado
Teste de
Aceitação
Automatizado
Teste
Exploratório
Manual
Práticas XP
ATTD & TDD
ATTD & BDD & TDD
ATTD & BDD & TDD
08
Carreira
CARREIRA
Gestor de qualidade
Líder de projeto de teste
Arquiteto de teste
Analista de automação de teste
Analista de teste
Testador de software
CARREIRA
Fonte: http://eliasnogueira.com/o-testador-esta-morto/
CARREIRA
Fonte: http://eliasnogueira.com/o-testador-esta-morto/
CARREIRA
Fonte: http://eliasnogueira.com/o-testador-esta-morto/
CARREIRA
Fonte: https://pt.slideshare.net/elias.nogueira/o-testador-esta-morto
CARREIRA
Fonte: http://eliasnogueira.com/o-testador-esta-morto/
09
Jenga Tests
JENGA TESTS
• Construa uma torre com pelo menos três
andares de altura e use todos os blocos.
• O testador recebe quatro números de "blocos
problemáticos" que devem ser removidos.
• O testador no final da construção, deverá
retirar os blocos.
Rodada 1
JENGA TESTS
• Construa uma torre com pelo menos três
andares de altura e use todos os blocos.
• Desta vez, o desenvolvedor pode perguntar
ao testador a cada 5 peças inseridas na
torre, se aquela peça é um problema.
• Se tiver mais de uma peça para o testador
retirar, aguardar a segunda rodada de
pergunta.
Rodada 2
JENGA TESTS
• Os requisitos são como antes, e os blocos
são feitos nos três lotes novamente.
• Desta vez o desenvolvedor poderá perguntar
ao testador, quais são as peças com
problema a cada peça a ser colocada.
• Quando a peça de uma pessoa cair quando o
testador retirar, passa para a próxima
pessoa.
Rodada 3
FINALIZAÇÃO
Ganhar
• Clientes
• Confiança
• Qualidade
• Reputação
• Dinheiro
• Produtividade
Perder
• Clientes
• Confiança
• Qualidade
• Reputação
• Dinheiro
• Produtividade
FINALIZAÇÃO
totvs.com
@totvs
company/totvs
fluig.com
OBRIGADA
NYLCE DUVAL
Analista de Testes
51 9 9526 03352
nylce.duval@totvs.com.br
Tecnologia + Conhecimento são nosso DNA
#SOMOSTOTVERS
O sucesso do cliente é o nosso sucesso
Valorizamos gente boa que é boa gente

Teste de software

Notas do Editor

  • #44 A área de teste de software assumindo a postura de “Último Defensor da Qualidade” Restrições no gerenciamento de mudanças Preparação detalhada e planejamento acima de tudo Conjunto de documentação pesado para a terceirização dos esforços de teste Critérios de entrada e saída rigorosos com aprovações Automatização de testes pesada com foco nas regressões Tentativas de execução do processo
  • #46 ATDD - Captura os critérios de aceitação. Prove feedback sobre a conclusão da tarefa. Demonstrando a clara visão do progresso. É identificado e levantado quando a equipe de teste interage com o negócio, compreendendo sua real necessidade. Complementa à prática de TDD, que visa garantir que as funcionalidades bases da aplicação sejam desenvolvidas em conformidade com a arquitetura e projeto.