Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

February 7, 2018
Testes de Software
Sullivan Tanaka
February 7, 2018 2
Instrutor – Sullivan Tanaka
Bach. Ciências da Computação USP São Carlos, 2002
BSTQB CTFL
2001-2005: Desenvolvedor (PHP/ASP/MySQL/SQL Server), Suporte técnico, coordenador
2006-2011: Analista de testes atuando com escrita/execução de casos de teste e 
gerenciamento de defeitos, em projetos nacionais e internacionais. 
2011-atualmente: Gerente de Testes atuando em planejamento, acompanhamento e controle 
de projetos de teste nacionais e internacionais
Áreas de negócio: manufatura, financeiro, linhas aéreas, migração de sistemas
Áreas de interesse: testes funcionais, gerenciamento de testes, automação de testes, 
computação na nuvem, treinamento e recrutamento
Contato: sullivan.tanaka@dxc.com / Skype: sullivan.tanaka
February 7, 2018 3
Instrutor – Gregório Pagani
Formação
Fatec 1997
ISO, ISTQB, MBA e PMP 
Atuação em testes
2006-2009: Analista de testes atuando preparação e execução de casos de teste manuais e 
gerenciamento de defeitos, em projetos nacionais e internacionais. 
2009-atualmente: Analista de Métrica para projetos internacionais e Gerente de Testes para 
projetos nacionais e internacionais.
Áreas de negócio: manufatura, financeiro, linhas aéreas, Telecom. 
Áreas de interesse: testes funcionais, gerenciamento de testes/projetos e finanças. 
Contato: gregorio.pagani@dxc.com / Skype: gregorio.pagani
February 7, 2018 4
Agenda
Dia 1
• Conceitos básicos
• Importância da Qualidade do Software
• Erro, Defeito e Falha
• Abordagem do Teste
• Tipo, Nível e Fase
Dia 2
• Atividades do Teste
• Técnicas de Modelagem
Dia 3 (Avaliação) 
• Desenvolvendo Casos de teste
Dia 4 (Avaliação)
• Executando Casos de Teste
• Carreira de Analista de Testes
• Encerramento
February 7, 2018 5
Conceitos Básicos
“O teste do software é a investigação do software a fim de fornecer informações sobre sua 
qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar 
o produto para encontrar seus defeitos.”
“O teste é um processo realizado pelo analista de sistemas, que permeia outros processos 
da engenharia de software e que envolvem ações que vão desde o levantamento de 
requisitos até a execução do teste propriamente dito.”
February 7, 2018 6
Importância da Qualidade do Software
Por que testar ?
Softwares estão presentes em praticamente todos os locais, como bancos, indústrias, lojas, 
escolas, celulares e até mesmo em carros e geladeiras;
Atualmente, a natureza do software é complexa, já que os sistemas estão altamente 
integrados, fazendo com que a complexidade aumente não linearmente, mas 
exponencialmente.
February 7, 2018 7
Importância da Qualidade do Software
Por que testar ?
Softwares defeituosos podem causar sérios problemas:
Prejuízos financeiros (roubo de números de cartões);
Perda da confiança de fornecedores e clientes (erros em sistema de pedidos de 
peças/suprimentos);
Perda da reputação no mercado (suporte/atendimento ineficiente);
Perda da qualidade (lentidão em operações);
Riscos à integridade física das pessoas (erros de leitura de um sistema médico);
Desastres (software de controle de vôo defeituoso).
February 7, 2018 8
Importância da Qualidade do Software
Realizar atividades com qualidade = custo menor do produto final
Redução drástica do retrabalho
Redução dos custos de manutenção e suporte do software
Redução da probabilidade de incidentes e processos jurídicos
Software bem estruturado facilita a criação de novos projetos
February 7, 2018 9
Erro, Defeito e Falha
Erro: ação humana que produz um resultado incorreto. Pode ser cometido 
em qualquer fase do processo de desenvolvimento do software;
Defeito: um erro no software. Também conhecido como “bug”;
▪ Se executado, o erro pode causar uma falha
▪ É o resultado do erro cometido
Falha: diferença indesejável entre o observado e o esperado → Defeito 
encontrado!!
February 7, 2018 10
Erro, Defeito e Falha
Desta forma....
“Um software pode conter defeitos, mas mesmo assim nunca falhar”.
Uma pessoa 
comete um erro...
Que introduz um bug 
(defeito) no software...
Que pode gerar uma 
falha na execução
February 7, 2018 11
Erro, Defeito e Falha
Quanto menos defeitos encontrados, melhor será a qualidade do software?
February 7, 2018 12
Erro, Defeito e Falha
Não se pode afirmar que, quanto menos defeitos encontrados, melhor é o software, pois não sabemos se:
O software é realmente bom ou
O teste é ruim ou
Ambos teste e software são ruins!!
February 7, 2018 13
Abordagem do Teste
Para se alcançar o nível de qualidade desejado, como devo testar o software?
Através de uma abordagem adequada!
February 7, 2018 14
Abordagem do Teste
Teste exaustivo
Abordagem na qual o conjunto de testes engloba todas as combinações de valores e pré-condições de 
entrada de uma determinada funcionalidade.
Teste exaustivo = impraticável
Custos elevados
Toma muito tempo
Requer muitos recursos (pessoas, máquinas, etc)
February 7, 2018 15
Abordagem do Teste
Teste exaustivo
• Sistema com 20 telas
• Possui 4 menus
• Cada menu possui 3 opções
• Cada tela possui 10 campos
• 2 tipos de entrada por campo
• 100 valores possíveis
20 x 4 x 3 x 10 x 2 x 100 = 480.000 testes
1s por teste = 17.7 dias
10s por teste = 34 semanas
1 min por teste = 4 anos
10 min por teste = 40 anos
February 7, 2018 16
Abordagem do Teste
Quanto testar ?
Deve-se analisar o nível de risco do projeto
Deve-se priorizar os testes, através de atividades de análise, apontando quais funcionalidades 
devem ou não ser exaustivamente testadas
Se acontecer uma falha, quais as consequências?
▪ Processos legais
▪ Perda de vida ou riscos à saúde
▪ Perda de credibilidade e reputação
▪ Software não liberado a tempo (ex. concorrência, campanhas publicitárias, Black Friday, Natal)
February 7, 2018 17
Abordagem do teste
Abordagem tradicional:
“O objetivo da atividade de testes é mostrar que o sistema:
Faz o que deveria fazer
Não faz o que não deveria fazer”
META: Mostrar que o sistema funciona
Critério de sucesso: Sistema tem funcionamento correto
February 7, 2018 18
Abordagem do teste
Abordagem atual:
“O objetivo da atividade de testes é mostrar que o sistema:
Faz o que não deveria fazer
Não faz o que deveria fazer”
META: encontrar defeitos
Critério de sucesso: Sistema tem falhas
February 7, 2018 19
Abordagem do Teste
Abordagem antiga
Software desenvolvido e testado 
parcialmente por programadores
Cliente realizava os 
testes funcionais, 
algumas vezes já em 
produção
Abordagem atual
Equipe independente 
executa criteriosamente 
os testes
Software desenvolvido e 
testado parcialmente por 
programadores
Cliente executa 
cenários de 
negócio em 
ambiente 
controlado
Teste Unitário
Teste de Integração de Componentes
Teste de Sistema
Teste de Integração de Sistemas
Teste de Aceitação
February 7, 2018 20
Teste de Software
February 7, 2018 21
Tipo, Nível e Fase
•Tipos de Teste
•Funcional
•Não-Funcional
•Estrutural
•Regressão
•Níveis de Teste
•Unitário
•Integração
•Sistema
•Aceitação
•Performance
•Segurança
•Fases de Teste
•Revisão de Requisitos
•Planejamento
•Desenvolvimento
•Config. Ambiente
•Execução
•Entrega
February 7, 2018 22
Tipo, Nível e Fase - Tipos de Teste
Conceito:
Um grupo de atividades de teste pode ser direcionado para verificar o sistema (ou uma 
parte do sistema) com base em um motivo ou alvo específico.
Cada tipo de teste tem foco em um objetivo particular, que pode ser testar:
• uma funcionalidade a ser realizada (Teste Funcional)
• uma característica tal como a confiabilidadeou usabilidade (Teste Não-Funcional)
• a estrutura ou arquitetura do software ou sistema (Teste Estrutural);
• alterações/melhoria em um sistema já existente (Teste de Regressão).
February 7, 2018 23
Tipo, Nível e Fase - Tipos de Teste
Teste Funcional
O Teste Funcional avalia o comportamento externo do componente de software, sem 
considerar o comportamento interno do mesmo. Dados de entrada são fornecidos, o teste é 
executado e o resultado obtido é comparado a um resultado esperado previamente 
conhecido. Como detalhes de implementação não são considerados, os casos de teste são 
derivados da especificação.
O Teste Funcional utiliza as técnicas de caixa-preta.
February 7, 2018 24
Tipo, Nível e Fase - Tipos de Teste
Teste Não-Funcional
Testes não-funcionais podem ser realizados em todos os níveis de teste. O termo “teste não 
funcional” descreve que o teste é executado para medir as características que podem ser 
quantificadas em uma escala variável, como, por exemplo, o tempo de resposta em um teste 
de performance. É o teste de “como” o sistema funciona.
Também é utilizado para verificar aspectos como adequação a restrições de negócio, 
adequações a normas ou restrições tecnológicas.
Testes não-funcionais incluem, mas não se limitam a:
• teste de performance;
• teste de usabilidade;
• teste de segurança;
• teste de confiabilidade.
February 7, 2018 25
Tipo, Nível e Fase - Tipos de Teste
Teste Estrutural
Teste estrutural pode ser feito em todos os níveis de testes. 
Recomenda-se utilizar as técnicas estruturais após as técnicas 
baseadas em especificação, já que ela auxilia a medição da eficiência 
do teste através da avaliação da cobertura* de um tipo de estrutura. 
*Cobertura é a extensão que uma estrutura foi exercitada por um 
conjunto de testes, expresso como uma porcentagem de itens 
cobertos. Exemplos de técnicas de cobertura: cobertura de sentença e 
cobertura de decisão. Neste caso, utilizam-se as técnicas de 
caixa-branca.
February 7, 2018 26
Tipo, Nível e Fase - Tipos de Teste
Teste de Regressão
Teste de regressão é o teste repetido de um programa 
que já foi testado, após sua modificação, para 
descobrir a existência de algum defeito introduzido ou 
não descoberto originalmente.
A quantidade de testes de regressão é baseada no 
risco de se encontrar defeitos no software que estava 
funcionando previamente. Porém, dependendo da 
natureza do software e do processo de negócio, a 
regressão total é realizada. Ex. sistemas aéreos, 
sistemas médicos e sistemas com alto grau de 
integração com componentes externos.
February 7, 2018 27
Tipo, Nível e Fase - Tipos de Teste
Teste de Regressão
Tabela de Risco (exemplo):
1 – Baixo
9 – Alto
Exemplo: “executaremos apenas os testes com Risco >= 10”
Caso de Teste Impacto Probabilidade Risco
CT001 2 3 6
CT002 8 4 32
CT003 9 2 18
February 7, 2018 28
Tipo, Nível e Fase - Tipos de Teste
Teste de Regressão com Automação de Testes
• Ideal para projetos com várias releases
•Diminui o custo global do projeto ao longo do tempo
•Redução no tempo de execução dos ciclos de regressão
•Necessita de menos recursos que o teste manual
•Necessita planejamento adequado pois o custo inicial é alto, não 
é possível automatizar 100% dos testes, mudança constante no 
sistema pode inviabilizar a automação, tipo de tecnologia 
utilizada, etc
•Linguagens/ferramentas populares: Selenium, Appium, UFT
February 7, 2018 29
Tipo, Nível e Fase - Níveis de Teste
Conceito:
O conceito “níveis de teste” está relacionado 
com o modelo V, que representa quando as 
atividades de teste acontecem em decorrência 
do ciclo de vida do software. No entanto, esse 
conceito também pode ser aplicado ao 
desenvolvimento iterativo.
Os níveis de teste fornecem a indicação sobre o 
foco do teste e os tipos de problemas a serem 
encontrados (por exemplo, problemas no 
código-fonte ou problemas de ambiente).
February 7, 2018 30
Tipo, Nível e Fase - Níveis de Teste
• Teste Unitário
• Teste de Integração
• Teste de Sistema
• Teste de Aceitação
• Teste de Performance
• Teste de Segurança
February 7, 2018 31
Tipo, Nível e Fase - Níveis de Teste
Teste Unitário
Teste Unitário: Teste realizado em cada componente isolado;
• Componente: A menor parte do software que pode ser testada 
individualmente. Ex: Classe, Programa, Função, Procedure;
• Os casos de testes são escritos baseados na especificação técnica 
do componente (parâmetros de E/S, parâmetros de comunicação, 
fluxos lógicos, exceções, etc); 
• Realizados pelo desenvolvedor;
• Técnicas de caixa-branca.
February 7, 2018 32
Tipo, Nível e Fase - Níveis de Teste
Teste de Integração
Objetivo: testar as interfaces entre os componentes, interações de 
diferentes partes de um sistema, como o sistema operacional, arquivos, 
hardware ou interfaces com outros sistemas. 
Existem 2 tipos de teste de integração: 
• Teste de integração de componente: testa interações entre 
componentes do sistema. Por ex: validar a chamada de uma 
função/procedure a partir de uma combinação específica de entradas 
em um código-fonte. Realizado pelo desenvolvedor.
• Teste de integração de sistemas (SIT): testa interação entre diferentes 
sistemas e pode ser realizado após o teste de sistema. Por ex: validar a 
interface de troca de mensagens entre um sistema bancário e o 
mainframe do Banco Central. Realizado pelo testador (às vezes com 
auxílio do desenvolvedor).
February 7, 2018 33
Tipo, Nível e Fase - Níveis de Teste
Teste de Integração
February 7, 2018 34
Tipo, Nível e Fase - Níveis de Teste
Teste de Sistema
Definição: Processo de testar um sistema para verificar se atinge 
os requisitos especificados;
Finalidade: validar as regras de negócio de forma detalhada;
São concentrados no funcionamento do sistema como um todo, 
não no funcionamento dos componentes individuais;
Realizado pelo testador;
Técnicas de caixa-preta.
February 7, 2018 35
Tipo, Nível e Fase - Níveis de Teste
Teste de Aceitação
Definição: Teste formal onde o usuário especialista no negócio confronta os 
requisitos e os processos de negócio com o sistema para determinar se satisfaz ou 
não suas necessidades; 
Usuário pode apontar aspectos de usabilidade e performance, propondo melhorias e 
até gerando novas releases.
Testes Alpha e Beta:
▪ Alpha Testing: Teste realizado pelo usuário/cliente no ambiente do desenvolvedor, 
simulando situações do dia-a-dia, acompanhado pela equipe de desenvolvimento.
▪ Beta Testing: Teste realizado pelo usuário no seu ambiente, limitado a um grupo 
específico, com objetivos específicos. Por exemplo, um grupo de usuários da área 
financeira testa um módulo de um sistema enquanto outro grupo de usuários de 
callcenter testa um módulo de atendimento de reclamações.
February 7, 2018 36
Tipo, Nível e Fase - Níveis de Teste
Teste de Performance (ou Teste de Desempenho)
Objetivo – Medir o nível de desempenho de um Sistema, através da realização de testes 
como:
– Carga (Load Balancing Testing)
Verificar qual o volume de transações, acessos simultâneos ou usuários que um servidor/software/sistema suporta
– Stress (Stress Testing)
 Medir os limites de um software/servidor/site/hardware, determinando a partir de que ponto ele não consegue mais 
funcionar corretamente, apresentando erros
– Resistência (Endurance or Soaking Testing)
– Examinar se o sistema pode suportar uma carga enorme por um longo período de tempo e, assim, medir os 
parâmetros de reação do sistema
– Pico (Spike Testing)
– Verificar a estabilidade de um Sistema durante “rajadas” de atividade intense e concorrente de usuários/serviços 
– Configuração (Configuration Testing)
– Processo de testar um Sistema com cada configuração de hardware e software suportadosO teste é realizado através de scripts que conectam ao sistema e executam tarefas 
automatizadas que geram dados para relatórios detalhados levando-se em conta os 
requisitos acima.
February 7, 2018 37
Tipo, Nível e Fase - Níveis de Teste
Teste de Segurança
Objetivo: avaliar as vulnerabilidades em aplicações e serviços frente a diferentes tipos de ataques, 
como ataques de negação de serviço (DoS) e SQL injection, e descobrir novas vulnerabilidades antes que 
sejam exploradas por atacantes.
February 7, 2018 38
Tipo, Nível e Fase - Níveis de Teste
Teste 
Unitário
Teste de 
Integração
Teste de 
Sistema
Teste de 
Aceitação
Desenvolvedor Desenvolvedor e Testador Testador Cliente
Níveis de teste em um Projeto típico:
February 7, 2018 39
Tipo, Nível e Fase - Fases de Teste
Conceito:
As Fases de Teste, também conhecidas como Ciclo de Vida do Teste de 
Software, definem as etapas ao se testar um software. Não importando o tipo 
ou o nível de teste definido, deve-se obedecer a uma sequência de fases 
para se efetuar corretamente o teste.
February 7, 2018 40
Tipo, Nível e Fase - Fases de Teste
C
on
tro
le
 e
 M
on
ito
ra
m
en
to
February 7, 2018 41
Relação entre Tipos, Níveis e Fases
•Tipos de Teste
•Funcional
•Não-Funcional
•Estrutural
•Regressão
•Níveis de Teste
•Unitário
•Integração
•Sistema
•Aceitação
•Performance
•Segurança
•Fases de Teste
•Revisão de Requisitos
•Planejamento
•Desenvolvimento
•Config. Ambiente
•Execução
•Entrega
February 7, 2018 42
Relação entre Tipos, Níveis e Fases
•Tipos de Teste
•Funcional
•Não-Funcional
•Estrutural
•Regressão
•Níveis de Teste
•Unitário
•Integração
•Sistema
•Aceitação
•Performance
•Segurança
•Fases de Teste
•Revisão de Requisitos
•Planejamento
•Desenvolvimento
•Config. Ambiente
•Execução
•Entrega
February 7, 2018 43
Relação entre Tipos, Níveis e Fases
•Tipos de Teste
•Funcional
•Não-Funcional
•Estrutural
•Regressão
•Níveis de Teste
•Unitário
•Integração
•Sistema
•Aceitação
•Performance
•Segurança
•Fases de Teste
•Revisão de Requisitos
•Planejamento
•Desenvolvimento
•Config. Ambiente
•Execução
•Entrega
February 7, 2018 44
Relação entre Tipos, Níveis e Fases
•Tipos de Teste
•Funcional
•Não-Funcional
•Estrutural
•Regressão
•Níveis de Teste
•Unitário
•Integração
•Sistema
•Aceitação
•Performance
•Segurança
•Fases de Teste
•Revisão de Requisitos
•Planejamento
•Desenvolvimento*
•Config. Ambiente
•Execução
•Entrega
Automação
February 7, 2018 45
Projeto com Tipos, Níveis e Fases de Teste
• Projeto
• Funcional
• Integração
• Rev. Requisitos
•Planejamento
•Desenvolvimento
•Execução
•Entrega
• Sistema
• Rev. Requisitos
• Planejamento
• Desenvolvimento
• Execução
• Entrega
• Aceitação
• Rev. Requisitos
• Planejamento
• Desenvolvimento
• Execução
• Entrega
• Não-Funcional
• Performance
• Rev. Requisitos
•Planejamento
•Desenvolvimento
•Execução
•Entrega
• Segurança
• Rev. Requisitos
•Planejamento
•Desenvolvimento
•Execução
•Entrega
February 7, 2018 46
Teste de Software
February 7, 2018 47
Learning Check
1. Verdadeiro ou Falso:
( ) Erro é a manifestação de um defeito no sistema.
( ) Falha é a diferença indesejável entre o esperado e o observado
( ) Defeito e “bug” são a mesma coisa
( ) Erros podem acontecer em qualquer etapa do desenvolvimento do 
software
February 7, 2018 48
Learning Check
2. Em relação a “Qualidade”, podemos afirmar que:
( ) É o grau até o qual um componente, sistema ou processo atende aos 
requisitos especificados e/ou às necessidades e expectativas do usuário ou 
consumidor.
( ) O teste aumenta a qualidade do software.
( ) Quanto menos defeitos encontrados, melhor é a qualidade do software.
February 7, 2018 49
Learning Check
3. Por que dizemos que o teste exaustivo é impraticável?
February 7, 2018 50
Learning Check
4. Complete a tabela abaixo, relacionando os níveis de teste com as pessoas 
envolvidas no teste de um sistema:
Desenvolvedor Testador Cliente
Testes unitários
Testes de integração de componentes
Testes de sistema
Testes de integração de sistemas
Testes de aceitação
February 7, 2018 51
Learning Check
1. Verdadeiro ou Falso:
( F ) Erro é a manifestação de um defeito no sistema.
( V ) Falha é a diferença indesejável entre o esperado e o observado
( V ) Defeito e “bug” são a mesma coisa
( V ) Erros podem acontecer em qualquer etapa do desenvolvimento do 
software
Uma pessoa 
comete um erro...
Que cria um bug 
(defeito) no software...
Que pode gerar uma 
falha na execução
February 7, 2018 52
Learning Check
2. Em relação a “Qualidade”, podemos afirmar que:
( V ) É o grau até o qual um componente, sistema ou processo atende aos 
requisitos especificados e/ou às necessidades e expectativas do usuário ou 
consumidor.
( F ) O teste aumenta a qualidade do software.
( F ) Quanto menos defeitos encontrados, melhor é a qualidade do software.
February 7, 2018 53
Learning Check
3. Por que dizemos que o teste exaustivo é impraticável?
R: O Teste Exaustivo se torna impraticável pois ele testa todas as 
combinações de valores e pré-condições. Com isso, aumenta-se muito o 
custo, toma-se muito tempo e requer muitos recursos.
February 7, 2018 54
Learning Check
4. Complete a tabela abaixo, relacionando os níveis de teste com as pessoas 
envolvidas no teste de um sistema:
Desenvolvedor Testador Cliente
Testes unitários X
Testes de integração de componentes X
Testes de sistema X
Testes de integração de sistemas X
Testes de aceitação X
February 7, 2018 55
Atividades do Teste
Visão geral das atividades de um projeto de testes de software
Plan
eja
men
to
Anál
ise
Mod
elag
em
(Esc
rita)
Exe
cuç
ão
Aval
iaçã
o 
dos 
Crit
ério
s de 
saíd
a
Rel
atóri
os
Ativi
dad
es 
de 
enc
erra
men
to
Foco do nosso curso
February 7, 2018 56
Ti
m
e 
de
 T
es
te
s
•Gerente de Projeto
•Gerente de Testes
•Analistas
•Testadores
A Atividades do Teste
February 7, 2018 57
Atividades do Teste
Fase de Planejamento (Gerente de Projeto e Gerente de Testes)
• Entender metas e objetivos do projeto
• Definir escopo
• Elaborar o Plano de Teste (“Test Plan”)
a. Estratégia (teste manual, automatizado, etc)
b. Recursos
c. Cronograma
d. Critérios de entrada e saída
February 7, 2018 58
Atividades do Teste
Análise (Analista de Teste/Gerente de Testes):
• Definir o que será testado
• Analisar requisitos, em busca de erros, ambiguidades, etc.
• Avaliar requisitos funcionais e não funcionais
• Mapear requisitos x casos de teste (matriz de rastreabilidade - RTM)
February 7, 2018 59
Atividades do Teste
Modelagem/escrita (Analista e Testador):
• Desevolver casos de teste de acordo com o que foi definido na fase 
de análise
• Revisar casos de teste
• Avaliar as condições de teste e configurar o ambiente de testes 
(acessos, dados, equipamentos, etc)
• Configurar ferramenta de testes (Ex.:Bugzilla, ALM, Testlink, Excel, 
etc)
February 7, 2018 60
Atividades do Teste
Execução (Testador, Analista, Gerente de testes):
• Priorizar casos de teste
• Executar casos de teste (CTs):
a. Seguir os passos descritos no documento de CT
b. Registrar as evidências (screenshots, logs, etc)
c. Checar os resultados
d. Reportar defeitos, caso encontrados
e. Retrabalhar os CTs (se necessário)
• Coordenar atividades de execução, correção de defeitos, realocação de recursos, prazos, 
etc.
February 7, 2018 61
Atividades do Teste
Critérios de Saída (Gerente de Projeto e Gerente deTestes):
• Definir “quando parar de testar”
• Checar e validar que as metas e objetivos definidos no Test Plan 
foram satisfeitos
• Exemplos de critérios de saída:
a. Qtde de testes executados
b. Qtde de testes que passaram, falharam, etc
c. Qtde de defeitos encontrados, remanescentes, etc
d. Cobertura atingida (ex. Pelo menos 70% dos testes de cada 
funcionalidade foram executados com sucesso)
February 7, 2018 62
Atividades do Teste
Relatórios e atividades de Encerramento (Gerente de Testes):
• Relatórios detalhados sobre a execução dos testes
• Relatórios detalhados sobre defeitos, incidentes e quaisquer acontecimentos 
encontrados durante a fase de execução
• Entrega dos documentos de evidências juntamente com os casos de teste
• “Lessons-learned”, documento com “lições aprendidas”, para melhorar o processo 
de teste para futuras versões do software
February 7, 2018 63
Técnicas de Modelagem
Teste Unitário (Caixa Branca) com Cobertura de Decisão
Teste de Sistema (Caixa Preta)
– Casos de Uso
– Partição de Equivalência
– Análise do Valor Limite
February 7, 2018 64
Técnicas de Modelagem – Teste Unitário
Examine o código abaixo:
Através da técnica de cobertura de decisão, qual é o número mínimo de testes necessários para 
cobrir 100% das decisões ?
a) 1
b) 2
c) 3
d) 4
February 7, 2018 65
Técnicas de Modelagem – Teste Unitário
February 7, 2018 66
Técnicas de Modelagem – Teste Unitário
Examine o código abaixo: X Y
3 2
3 0
0 2
0 0
February 7, 2018 67
Técnicas de Modelagem – Teste Unitário
Examine o código abaixo:
Resposta:
c) 3
X Y
3 2
3 0
0 *
0 0
February 7, 2018 68
Técnicas de Modelagem – Teste Unitário
Teste Unitário – Cobertura de Decisão
Métodos:
tomarDecisão()
casarComAlguem()
comprarBicicleta()
Parâmetros:
estaGordo
querEmagrecer
querEngordar
queroCasar
queroBike
February 7, 2018 69
Técnicas de Modelagem – Teste Unitário
February 7, 2018 70
Técnicas de Modelagem – Teste Unitário
February 7, 2018 71
Técnicas de Modelagem – Teste Unitário
February 7, 2018 72
Teste de Software
February 7, 2018 73
Técnicas de Modelagem – Teste de Sistema
Teste de Sistema – Casos de Uso
February 7, 2018 74
Técnicas de Modelagem – Teste de Sistema
February 7, 2018 75
Técnicas de Modelagem – Teste de Sistema
Campo Formato Tamanho Obrigatório
Login Somente letras 30 Sim
Senha Alfanumérico 20 Sim
Data Reserva Date (dd/mm/aaaa) 8 Sim
February 7, 2018 76
Técnicas de Modelagem – Teste de Sistema
Teste de Login Teste 1 Teste 2 Teste 3 Teste 4
 Login Válido Válido Inválido Inválido
 Senha Válido Inválido Válido Inválido
Resultado Fluxo Básico Fluxo Alternativo
February 7, 2018 77
Testes de Sistema - Casos de Uso
Teste de Login Teste 1 Teste 2 Teste 3 Teste 4
 Login Válido Válido Inválido Inválido
 Senha Válido Inválido Válido Inválido
 Resultado Login OK Login NOK Login NOK Login NOK
 Categoria Fluxo Básico Fluxo Alternativo
Teste de Login Teste 1 Teste 2 Teste 3 Teste 4
 Login Válido Válido Inválido Inválido
 Senha Válido Inválido Não utilizado! Inválido
 Resultado Login OK Login NOK Login NOK Login NOK
 Categoria Fluxo Básico Fluxo Alternativo
February 7, 2018 78
Técnicas de Modelagem – Teste de Sistema
Teste de Login Teste 1 Teste 2 Teste 3 Teste 4
 CPF (Login) Válido Válido Inválido Inválido
 Senha Válido Inválido Não utilizado! Inválido
 Resultado Login OK Login NOK Login NOK Login NOK
 Categoria Fluxo Básico Fluxo Alternativo
Teste de Reserva Teste 4 Teste 5 Teste 6
 Data Reserva Válido 1 Válido 2 Inválido
 Resultado Reserva Disp. ”Reserva Indisp.” “Res. Indisp” ou Erro
 Categoria Fluxo Básico Fluxo Alternativo
February 7, 2018 79
Técnicas de Modelagem – Teste de Sistema
Partição de Equivalência
1. Dividir/particionar as entradas em grupos que tenham comportamento similar, podendo ser 
tratados da mesma forma
2. É necessário testar apenas uma condição de cada partição
3. Partições válidas e inválidas são consideradas
February 7, 2018 80
Técnicas de Modelagem – Teste de Sistema
Partição de Equivalência
Exemplo - Um programa valida um campo numérico inteiro da seguinte maneira:
Valores inferiores ou iguais a 0 são rejeitados;
Valores entre 1 e 130 são aceitos;
Valores maiores ou iguais a 131 são rejeitados.
Qual alternativa contém os valores de entrada que cobre todas as partições de equivalência?
a) -1, 50, 120
b) 0, 1, 131
c) -131, 65, 130
d) 10, 130, 200
February 7, 2018 81
Técnicas de Modelagem – Teste de Sistema
Partição de Equivalência
Exemplo - Um programa valida um campo numérico inteiro da seguinte maneira:
Valores inferiores ou iguais a 0 são rejeitados;
Valores entre 1 e 130 são aceitos;
Valores maiores ou iguais a 131 são rejeitados.
Qual alternativa contém os valores de entrada que cobre todas as partições de equivalência?
a) -1, 50, 120
b) 0, 1, 131
c) -131, 65, 130
d) 10, 130, 200
0-1 130-131
February 7, 2018 82
Técnicas de Modelagem – Teste de Sistema
Partição de Equivalência
Exemplo - Um programa valida um campo numérico inteiro da seguinte maneira:
Valores inferiores ou iguais a 0 são rejeitados;
Valores entre 1 e 130 são aceitos;
Valores maiores ou iguais a 131 são rejeitados.
Qual alternativa contém os valores de entrada que cobre todas as partições de equivalência?
a) -1, 50, 120
b) 0, 1, 131
c) -131, 65, 130
d) 10, 130, 200
0-1 130-131
February 7, 2018 83
Técnicas de Modelagem – Teste de Sistema
Análise do Valor Limite
1. Limites são áreas onde os testes estão mais propensos a indicar defeitos
2. Os valores-limites de uma partição são seu mínimo e máximo
February 7, 2018 84
Técnicas de Modelagem – Teste de Sistema
Análise do Valor Limite
Um campo referente ao ano de registro aceita valores entre 1860 e 2860. 
Utilizando a técnica do valor limite, o teste usaria quais valores?
a) 0, 1860, 2860, 3000
b) 1860,2860
c) 1859,1861, 1900, 2859, 2860, 2861
d) 1859, 1860, 2860, 2861
1859 = Valor limite mínimo inválido
1860 = Valor limite mínimo válido
2860 = Valor limite máximo válido
2861 = Valor limite máximo inválido
1859-1860 2860-2861
February 7, 2018 85
Técnicas de Modelagem – Teste de Sistema
Análise do Valor Limite
Um campo referente ao ano de registro aceita valores entre 1860 e 2860. 
Utilizando a técnica do valor limite, o teste usaria quais valores?
a) 0, 1860, 2860, 3000
b) 1860,2860
c) 1859,1861, 1900, 2859, 2860, 2861
d) 1859, 1860, 2860, 2861
1859 = Valor limite mínimo inválido
1860 = Valor limite mínimo válido
2860 = Valor limite máximo válido
2861 = Valor limite máximo inválido
1859-1860 2860-2861
February 7, 2018 86
Técnicas de Modelagem – Teste de Sistema
Partição de Equivalência x Análise do Valor Limite
Qual das técnicas utilizar ? 
DEPENDE!!
- Regras de negócio
- Probabilidade de erros
- Tipo de tecnologia, interface (UI x UX)
- Tipo de dados (text, alpha, date, etc)
- Indústria (Sistema de e-commerce x Sistema aéreo)
February 7, 2018 87
Técnicas de Modelagem – Teste de Sistema
Exercício
Um campo de entrada (input field) referente ao ano de nascimento aceita valores 
de 1900 até 2004. Utilizando a análise do valor limite o teste usaria quais valores?
 a) 0, 1900, 2004, 2005;
 b) 1900, 2004;
 c) 1899,1900, 2004, 2005;
 d) 1899, 1900, 1901, 2003 ,2004, 2005.
February 7, 2018 88
Técnicas de Modelagem – Teste de Sistema
Exercício
Um campo de entrada (input field) referente ao ano de nascimento aceita valores 
de 1900 até 2004. Utilizando a análise do valor limite o teste usaria quais valores?
 a) 0, 1900, 2004, 2005;
 b) 1900, 2004;
 c) 1899,1900, 2004, 2005;
 d) 1899, 1900, 1901, 2003 ,2004, 2005.
February 7, 2018 89Teste de Software
February 7, 2018 90
Escrevendo Casos de Testes
1. Sempre validar:
▪ IDs e títulos
▪ Modelos (templates)
▪ Linguagem a ser utilizada (“Clicar” ou “Clique”)
▪ Ferramentas
2. Descrição do Caso de Teste
▪ Objetivo: deve conter o que vai ser testado e como será validado
▪ Pré-requisitos (executar “test_001”, existir uma venda, etc)
▪ Dados necessários (CPF de comprador, CNPJ de vendedor, etc)
▪ Permissões especiais (usuário administrador, etc)
▪ Ambiente (ambiente de teste com servidor de email funcional, etc)
▪ Ferramentas externas (gerador de CPFs, editor SQL)
3. Passo-a-passo
Os passos devem cobrir o requisito a ser validado, através de pontos de verificação (i.e., 
deve ser possível “comprovar”)
Escrever os passos “ordenando” ao usuário: “Selecione” ou “Preencha”
February 7, 2018 91
Escrevendo Casos de Testes
4. Resultado esperado
Os passos devem descrever com clareza o resultado esperado, além de ser facilmente 
verificável
5. Organizar testes por funcionalidade/tipo
Ex: fluxo básico, fluxo alternativo, validação de campos/erros, etc
6. Linguagem direta e objetiva
▪ “Direto ao ponto” (“3 W’s”: What, When, Where)
▪ Evitar ambiguidade: “se”, “quando”, “talvez”, “caso” etc
▪ minimizar o número de verificações por passo (evitar passos longos)
7. Reusabilidade/Manutenção
▪ Escrever os testes de forma que sua estrutura possa ser reutilizada em outros módulos, 
funcionalidades
▪ Testes escritos de forma a facilitar a revisão e retrabalho. Ex: evitar longos parágrafos, 
organizar o texto dentro da caixa de texto.
February 7, 2018 92
Exemplos de Casos de Teste
February 7, 2018 93
Exercício prático – parte 1
ESCREVER casos de teste de sistema para a aplicação “Formulário de Contato” observando os 
requisitos:
• Todos os campos são obrigatórios
• Os campos de datas possuem validação de formato dd/mm/aaaa
• O campo Nome deve conter no máximo 50 caracteres
• O campo Email deve conter no máximo 40 caracteres
• Data Inicio do curso não pode ser posterior a Data Fim do curso
• O formulário deve ter o mesmo comportamento em todos os navegadores
• É permitido apenas um cadastro por usuário
Em DUPLAS, elaborar os casos de teste em planilha Excel com as colunas:
ID, Nome do CT, Ação, Resultado Esperado
URL da aplicação: https://goo.gl/forms/YJhnAzmlF3hmFfxo1
February 7, 2018 94
Exercício prático – parte 1
Iremos agora inserir os CTs no TestLink
No painel esquerdo “Especificar Testes” clicar no link “Especificar Casos de Testes”
Clique no grupo de acordo com o seu usuário (Ex.: diurno5 / Grupo5) em seguida, clique na 
engrenagem e depois no ícone + em Operações do Caso de Teste:
Na tela seguinte, preencha os dados do caso de teste seguindo orientações do instrutor.
URL: http://52.33.6.170/testlink
Usuário: diurno1, diurno2, noturno5, etc
Senha: diurno1, diurno2, noturno5, etc
February 7, 2018 95
Executando Casos de Testes
• Ler e entender o Caso de Teste antes de iniciar sua execução
• Seguir à risca os passos descritos no Caso de Teste
• Evidenciar todos os passos em um documento ou ferramenta de 
controle de execução (Testlink, MTM, etc), através de captura de 
tela ou o que for determinado pelo projeto
• Se necessário, retrabalhar o caso de teste e atualizar na 
ferramenta
• Caso o resultado observado seja diferente do esperado, 
investigar proativamente com o time/líder/arquiteto para 
determinar se um defeito deve ser registrado
• Em caso de defeito, descrever com clareza e objetividade, 
fornecendo anexos com prints/vídeos de telas, dados utilizados e 
se necessário, logs 
February 7, 2018 96
Exercício prático – parte 2
EXECUTAR os casos de teste desenvolvidos na etapa de modelagem utilizando o Testlink:
• Cada grupo deve executar somente os CTs da sua pasta. Respeite os colegas!
• Para cada passo, registrar o seu resultado (Pass/Fail). Em caso de falha, registrar a falha 
ocorrida no campo de anotações do passo e forneça uma evidência (print) do defeito, 
anexando-o ao passo.
• No final do caso de teste, não esqueça de registrar o tempo de execução do teste e registrar o 
status (Pass/Fail) através dos ícones.
• Se você julgar necessário executar algum passo adicional ou se algum passo estiver incorreto, 
registre a alteração no campo “Notas/Descrição”. NÃO alterar os testes diretamente!
• Fornecer descrições completas do(s) defeito(s) encontrado(s), lembre-se que quanto mais 
completa for a descrição, mais rápida será a correção do problema!
URL do Testlink: http://52.33.6.170/testlink
URL da aplicação: https://goo.gl/forms/YJhnAzmlF3hmFfxo1
February 7, 2018 97
Profissional da área de Testes
▪ Ter boas habilidades de comunicação
▪ Saber lidar com pessoas (conflito “desenvolvedor x testador x cliente”)
▪ Ser curioso, paciente e detalhista
▪ Ser criativo e inovador, capaz de criar processos e metodologias para 
identificar prováveis pontos de falha
▪ Ter alguma experiência com programação e banco de dados
▪ Experiências em várias indústrias (financeiro, telecom, logística, etc)
▪ Estar disposto a aprender constantemente novas tecnologias e 
ferramentas
February 7, 2018 98
Profissional da área de Testes
▪ Área relativamente nova e em grande expansão
▪ Grandes empresas de TI procuram profissionais qualificados, 
projetos demandam níveis cada vez maiores de qualidade
▪ Escassez de profissionais qualificados na área
▪ Várias oportunidades em projetos internacionais
▪ Curva de aprendizagem rápida
▪ Certificações ISTQB/BSTQB, ITIL, Scrum Master, etc
▪ Pode tornar-se um profissional destacado com poucos anos de 
carreira
February 7, 2018 99
Mesa Redonda
Thank you.

Mais conteúdos dessa disciplina