SlideShare uma empresa Scribd logo
1 de 36
Robson Tietz de Oliveira
MBA Qualidade de Software – UNISINOS
Bacharel em Processamento de Dados - UCPEL
 O teste de software busca contribuir com a
qualidade do software auxiliando a prevenir
defeitos e identificando os defeitos que estão
presentes no software.
 Provar que o software não faz o que deveria;
 Provar que o software faz o que não deveria;
 Provar que o programa não funciona;
 Não existe programa 100% livre de defeitos;
 Ter uma visão diferente do desenvolvedor;
 Diminuir o risco para o negócio.
 Explorador: não ter medo de se aventurar nas
situações;
 Resolvedor de problemas:
 Incansável: testar até estar satisfeito;
 Criativo: testar nem sempre é óbvio;
 Perfeccionista: teste não tem meio-termo;
 Exercitar o julgamento: tomar decisões enquanto
testa, que afetam para melhor ou pior a qualidade do
teste;
 Diplomático: o ser humano não gosta de ter erros
apontados, mas que o erro venha do programa;
 Persuasivo: quem conserta o defeito deve entender a
importância de fazê-lo;
 Economiza tempo;
 Reduz riscos;
 Reduz custos;
 Melhora processos;
 Melhora qualificações dos profissionais.
 Teste pode demonstrar a presença de defeitos,
mas não pode provar que eles não existem.
 O Teste reduz a probabilidade que os defeitos
permaneçam em um software, mas mesmo se
nenhum defeito for encontrado, não prova que
ele esteja perfeito. Teste não mostra que bugs
não existem.
 Os testes são indispensáveis para detectar os
defeitos que ainda escapam das revisões e para
avaliar o grau de qualidade de um produto e de
seus componentes.
 Líder do Projeto de Testes - Técnico responsável pela
liderança de um projeto de teste específico,
normalmente, seja um projeto novo ou uma
manutenção.
 Arquiteto de Teste - É o técnico responsável pela
montagem da infra-estrutura de teste, montando o
ambiente de teste, escolhendo as ferramentas de
teste e capacitando a equipe para executar o seu
trabalho neste ambiente de teste.
 Analista de Teste - É o técnico responsável pela
modelagem e elaboração dos Casos de teste e pelos
Scripts de Teste. Pode ser que em alguns casos os
Scripts de Teste sejam elaborados pelos testadores.
 Testador - Técnico responsável pela execução dos
Casos de Teste e Scripts de Teste.
 Testar pode ser aparentemente simples,
porém quando olhamos com “lupa”, vemos
que existe um novo universo logo ali, e no
caso em questão, um “projeto dentro de
outro projeto”.
 Software não faz o que a especificação diz
para fazer;
 Software faz algo que na especificação diz
para não fazer;
 Software faz algo que a especificação do
produto não menciona;
 Software não faz algo que a especificação do
produto menciona;
 Software é difícil de entender, difícil de usar,
lento, ou simplesmente aos olhos do testador
o “usuário não gostará”.
 Defeitos de interface com os usuários
 Defeitos no manuseio de defeitos
 Defeitos de limites
 Defeitos de cálculo
 Defeitos de inicialização ou fechamento
 Defeitos de controle de fluxo
 Defeitos de manuseio ou de interpretação de
dados
 Defeitos de condições de disputa
 Defeitos de carga
 Defeitos de hardware ou software
 Defeitos da funcionalidade – Ocorrem quando o software
executa uma ação não especificada nos seus requisitos ou
quando o requisito especifica uma coisa e o software faz
outra.
 Defeitos de usabilidade – São defeitos decorrentes da
dificuldade para se navegar em uma aplicação.
 Defeitos de desempenho – O programa não atende com
rapidez necessária às solicitações do usuário,
especialmente no caso dos sistemas interativos. Existem
estudos que indicam um tempo máximo de 3 segundos
como o tempo máximo que o usuário suporta sem desviar
a sua atenção para outra coisa.
 Defeitos de saída – Os resultados apresentados pelo
software não estão conforme definido pelas especificações
fornecidas pelo usuário ou foram mal projetadas
dificultando a sua análise.
 Prevenção dos defeitos – O programa não se
protege das entradas de dados não previstas que
posteriormente são processadas de forma
inadequada. O software pode, por exemplo,
aceitar valores em branco em campos numéricos.
 Detecção dos defeitos – O programa não trata
(ou trata inadequadamente) as indicações de
defeitos resultados das suas operações, tais
como: overflow, flags de defeitos, etc. Nestes
casos deveria ser dado um aviso da ocorrência do
problema.
 Recuperação dos defeitos – Mesmo detectando o
defeito, o programa falha porque não trata
adequadamente a situação.
 O programa não consegue tratar ou trata
inadequadamente valores extremos (o maior,
o menor, o primeiro, o último, etc) ou fora
dos limites estabelecidos.
 O programa efetua um cálculo e produz um
resultado errado, causado basicamente por:
lógica errada, defeito de codificação e/ou
imprecisão no cálculo.
 Alguns programas ou rotinas devem ser
inicializados respectivamente quando usados
pela primeira vez ou sempre que são
chamadas para execução. Muitos no
momento da inicialização criam um arquivo
em disco, a ausência deste arquivo poderá
causar problemas nas etapas seguintes do
processamento.
 O controle de fluxo controla, em
determinadas circunstâncias, o que o
programa fará a seguir. Um defeito deste tipo
leva o programa fazer coisas erradas,
parando ou tendo comportamento
inesperado.
 Ocorre quando um programa tem que passar
um grupo de dados para outro programa. No
processo, os dados podem ser corrompidos
ou interpretados incorretamente. As últimas
modificações de dados podem ser perdidas
ou estar disponível no momento errado.
 Ocorre quando o programa espera pela
resposta dos eventos A e B, sendo que é
suposto que A sempre termine primeiro. Se
por algum problema B terminar primeiro, o
programa pode não estar preparado para esta
situação e apresentar resultados inesperados.
 O programa não pode suportar um pico de
serviço em um determinado momento
(estresse) ou uma carga alta de serviço por
um tempo muito prolongado. Por exemplo,
os testes previram um pico de
processamento, porém não previram este
pico por um tempo prolongado.
 São defeitos decorrentes da
incompatibilidade entre o programa e o
ambiente onde está sendo processado,
gerando falhas de comunicação entre ambos.
 Verificar ortografia das mensagens e dos
campos.
 Verificar se campos de radio button
excludentes não podem ser marcados ao
mesmo tempo.
 Verificar layout do sistema, tentar manter a
aparência mais parecida possível com o
protótipo. Além disso deve-se verificar se os
campos e tabelas estão alinhados com
relação aos outros campos.
 Verificar lógica das mensagens. Ex.: Campo de filtro para período entre anos ____
a ____ colocar ano _2000_ a _1500_ deverá aparecer a mensagem "O ano final
deve ser maior que o inicial" e no caso de colocar ano _1500_ a _2000_ a
mensagem não deve aparecer.
 Fazer combinações de filtros e verificar se estão sendo listados resultados
relativos aos filtros selecionados.
 Verificar a ordenação das listagem (ver especificação).
 Verificar a ordenação de campos combo box (ver especificação).
 Verificar se os campos estão habilitados ou desabilitados conforme a
especificação.
 Ficar atento aos erros de java script.
 Preencher os campos de texto com caracteres especiais e/ou caracteres inválidos.
 Se não conseguir preencher com caracteres inválidos via teclado, tentar ctrl+v e
cola com o mouse.
 Verificar se o botão limpar está limpando todos os campos corretamente.
 Campos de texto deve ser possível pesquisar com uma substring. Ex.: Para
pesquisar um funcionário com nome Ana Paula Muniz, se eu digitar na consulta a
string "Ana" deve aparecer todos os funcionários que possuam a palavra Ana,
como Ana Maria, Luciana, etc.
 Verificar na especificação quais campos já devem vir preenchidos.
 Preencher os campos de texto com caracteres
especiais e/ou caracteres inválidos.
 Se não conseguir preencher com caracteres
inválidos via teclado, tentar ctrl+v e cola com
o mouse.
 Verificar se os campos estão habilitados ou
desabilitados conforme a especificação.
 Ao confirmar a operação de cadastro,
verificar se apareceu uma mensagem
informando que o item foi cadastrado.
 No exibir, deve-se ficar muito atento à
consistência dos dados, tipo se um dado foi
inserido no cadastro ele deve obrigatoriamente
aparecer no Exibir com sua respecitiva máscara.
 Deve-se estar ciente qual o valor que deve ser
exibido no caso de um campo não ter sido
preenchido. Às vezes deve aparecer o campo
vazio outras vezes deve aparecer algum caracter.
 Verificar na tela de exibição se todos os dados
alterados foram exibidos corretamente na tela,
inclusive ficar atento às máscaras.
 Este deve ser o caso de teste mais rigoroso e deve ser feito com mais atenção.
 Verificar se os campos atualizados foram realmente atualizados. Esta verificação
deve ser feita tanto no exibir quanto na tela de alteração.
 Verificar se na tela de alteração se todos os campos foram carregados
corretamente.
 Executar o fluxo de alteração mais de uma vez, para garantir que nenhum dado
esteja sendo mantido na sessão.
 Verificar a atualização de campos que fazem parte de pop-up. Pois muitas vezes
as alterações que são feitas dentro do pop-up se perdem ao fechar a janela.
 Verificar se os dados cadastrados/atualizados nos pop-up estão corretos.
 Quando houver uma tabela em que seja possível inserir e remover dados dela
antes de cadastrar, realizar testes de carga para ver se os dados estão sendo
mantidos/removidos corretamente.
 Ao confirmar a operação de atualização, verificar se apareceu uma mensagem
informando que o item foi atualizado.
 Verificar se ao chamar algum pop-up se ao fechar a janela, o fluxo continua no
modo de alteração.
 Tentar excluir um registro, no alert de
confirmação clicar em Cancelar e depois
verificar se o registro não foi excluído.
 Tentar excluir um registro, no alert de
confirmação clicar em OK e depois verificar
se o registro foi excluído.
 Realizar uma pesquisar e verificar se a
exclusão foi realizada realmente.
 Verificar se apareceu uma mensagem
informando que o item foi excluído.
 Ficar muito atento aos dados que contém no
relatório, ou seja, ao fazer uma filtragem de
dados, deve-se verificar se apenas aqueles dados
selecionados é que fazem parte do relatório.
 Verificar se o layout do relatório está idêntico ao
do protótipo.
 Verificar a ortografia dos relatórios.
 Verificar questões de agrupamento das colunas
quando há dados repetidos numa mesma coluna,
geralmente esta informação está presente no
projeto de teste ou especificação.
 O teste de software revela a presença de
defeitos, se as exigências de qualidade de
software estão sendo seguidas e geram
métricas para verificar a efetividade e a
eficiência das atividades e desenvolvimento
de software.
 As métricas de teste tendem a indicar o
aumento no número de defeitos e problemas
no processo de desenvolvimento, indicar se
um processo está sob controle e se os
objetivos estão sendo atingidos.
 Reportar a situação do teste
 Avaliar a qualidade do produto
 Analisar defeitos
 Avaliar risco do projeto
 Medir o progresso contra as metas
 Melhorar as técnicas de estimativa
 Medir a eficácia do processo de
desenvolvimento
 Identificar melhorias necessárias em
processos
 Mantis Bugtracker – reportar defeitos
 Testlink – criar casos de teste
 Selenium IDE – automação de teste funcional
 Categoria: categoria que pode ser um modulo ou
funcionalidade do sistema.
 Frequência: a frequência com que o bug ocorre
 Gravidade: a gravidade do bug para a aplicação
 Prioridade: a prioridade de correção do caso de
teste
 Resumo: descrição resumida do bug
 Descrição: descrição completa do problema
 Passos para reproduzir: passos necessários para
a reprodução do bug
 Titulo do Caso de Teste: titulo que descreve o
que o caso de teste faz
 Objetivo do Teste: descreva o objetivo deste caso
de teste e qual será o resultado final deste caso
de teste
 Pré-condições: todas as pré-condições
necessárias para executar o caso de teste, como
estar numa estar numa tela, ter algum dado
específico, etc..
 Ações do Passo: cria um passo do teste, como
clicar sobre o botão X
 Resultado esperado: o que se espera que
aconteça, como abrir uma tela
 Você “grava os passos” e “reproduz”
Obrigado a todos!
“I LIKE BUGS!”
Material: finalbug.blogspot.com

Mais conteúdo relacionado

Mais procurados

Android testing PT-BR
Android testing PT-BRAndroid testing PT-BR
Android testing PT-BRrafaeladson
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Tutorial avancado com appscan
Tutorial avancado com appscanTutorial avancado com appscan
Tutorial avancado com appscanReinaldo Rossetti
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/IntegradosGiovanni Bassi
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processocrc1404
 
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
 
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
 

Mais procurados (20)

Android testing PT-BR
Android testing PT-BRAndroid testing PT-BR
Android testing PT-BR
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Tutorial avancado com appscan
Tutorial avancado com appscanTutorial avancado com appscan
Tutorial avancado com appscan
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/Integrados
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
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
 

Semelhante a Teste de software

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
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
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
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágilGilberto Gampert
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
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
 
Fundamentos de testes de Software
Fundamentos de testes de SoftwareFundamentos de testes de Software
Fundamentos de testes de SoftwareThayse Severiano
 

Semelhante a Teste de software (20)

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
 
Eng de testes aula2
Eng de testes   aula2Eng de testes   aula2
Eng de testes aula2
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
Introdução ao Teste de Software
Introdução ao Teste de SoftwareIntrodução ao Teste de Software
Introdução ao Teste de Software
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
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...
 
Ibm app scan
Ibm app scanIbm app scan
Ibm app scan
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágil
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
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
 
ibm_appscan
ibm_appscanibm_appscan
ibm_appscan
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 
Fundamentos de testes de Software
Fundamentos de testes de SoftwareFundamentos de testes de Software
Fundamentos de testes de Software
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 

Teste de software

  • 1. Robson Tietz de Oliveira MBA Qualidade de Software – UNISINOS Bacharel em Processamento de Dados - UCPEL
  • 2.  O teste de software busca contribuir com a qualidade do software auxiliando a prevenir defeitos e identificando os defeitos que estão presentes no software.
  • 3.  Provar que o software não faz o que deveria;  Provar que o software faz o que não deveria;  Provar que o programa não funciona;  Não existe programa 100% livre de defeitos;  Ter uma visão diferente do desenvolvedor;  Diminuir o risco para o negócio.
  • 4.  Explorador: não ter medo de se aventurar nas situações;  Resolvedor de problemas:  Incansável: testar até estar satisfeito;  Criativo: testar nem sempre é óbvio;  Perfeccionista: teste não tem meio-termo;  Exercitar o julgamento: tomar decisões enquanto testa, que afetam para melhor ou pior a qualidade do teste;  Diplomático: o ser humano não gosta de ter erros apontados, mas que o erro venha do programa;  Persuasivo: quem conserta o defeito deve entender a importância de fazê-lo;
  • 5.  Economiza tempo;  Reduz riscos;  Reduz custos;  Melhora processos;  Melhora qualificações dos profissionais.
  • 6.  Teste pode demonstrar a presença de defeitos, mas não pode provar que eles não existem.  O Teste reduz a probabilidade que os defeitos permaneçam em um software, mas mesmo se nenhum defeito for encontrado, não prova que ele esteja perfeito. Teste não mostra que bugs não existem.  Os testes são indispensáveis para detectar os defeitos que ainda escapam das revisões e para avaliar o grau de qualidade de um produto e de seus componentes.
  • 7.  Líder do Projeto de Testes - Técnico responsável pela liderança de um projeto de teste específico, normalmente, seja um projeto novo ou uma manutenção.  Arquiteto de Teste - É o técnico responsável pela montagem da infra-estrutura de teste, montando o ambiente de teste, escolhendo as ferramentas de teste e capacitando a equipe para executar o seu trabalho neste ambiente de teste.  Analista de Teste - É o técnico responsável pela modelagem e elaboração dos Casos de teste e pelos Scripts de Teste. Pode ser que em alguns casos os Scripts de Teste sejam elaborados pelos testadores.  Testador - Técnico responsável pela execução dos Casos de Teste e Scripts de Teste.
  • 8.
  • 9.  Testar pode ser aparentemente simples, porém quando olhamos com “lupa”, vemos que existe um novo universo logo ali, e no caso em questão, um “projeto dentro de outro projeto”.
  • 10.  Software não faz o que a especificação diz para fazer;  Software faz algo que na especificação diz para não fazer;  Software faz algo que a especificação do produto não menciona;  Software não faz algo que a especificação do produto menciona;  Software é difícil de entender, difícil de usar, lento, ou simplesmente aos olhos do testador o “usuário não gostará”.
  • 11.  Defeitos de interface com os usuários  Defeitos no manuseio de defeitos  Defeitos de limites  Defeitos de cálculo  Defeitos de inicialização ou fechamento  Defeitos de controle de fluxo  Defeitos de manuseio ou de interpretação de dados  Defeitos de condições de disputa  Defeitos de carga  Defeitos de hardware ou software
  • 12.  Defeitos da funcionalidade – Ocorrem quando o software executa uma ação não especificada nos seus requisitos ou quando o requisito especifica uma coisa e o software faz outra.  Defeitos de usabilidade – São defeitos decorrentes da dificuldade para se navegar em uma aplicação.  Defeitos de desempenho – O programa não atende com rapidez necessária às solicitações do usuário, especialmente no caso dos sistemas interativos. Existem estudos que indicam um tempo máximo de 3 segundos como o tempo máximo que o usuário suporta sem desviar a sua atenção para outra coisa.  Defeitos de saída – Os resultados apresentados pelo software não estão conforme definido pelas especificações fornecidas pelo usuário ou foram mal projetadas dificultando a sua análise.
  • 13.  Prevenção dos defeitos – O programa não se protege das entradas de dados não previstas que posteriormente são processadas de forma inadequada. O software pode, por exemplo, aceitar valores em branco em campos numéricos.  Detecção dos defeitos – O programa não trata (ou trata inadequadamente) as indicações de defeitos resultados das suas operações, tais como: overflow, flags de defeitos, etc. Nestes casos deveria ser dado um aviso da ocorrência do problema.  Recuperação dos defeitos – Mesmo detectando o defeito, o programa falha porque não trata adequadamente a situação.
  • 14.  O programa não consegue tratar ou trata inadequadamente valores extremos (o maior, o menor, o primeiro, o último, etc) ou fora dos limites estabelecidos.
  • 15.  O programa efetua um cálculo e produz um resultado errado, causado basicamente por: lógica errada, defeito de codificação e/ou imprecisão no cálculo.
  • 16.  Alguns programas ou rotinas devem ser inicializados respectivamente quando usados pela primeira vez ou sempre que são chamadas para execução. Muitos no momento da inicialização criam um arquivo em disco, a ausência deste arquivo poderá causar problemas nas etapas seguintes do processamento.
  • 17.  O controle de fluxo controla, em determinadas circunstâncias, o que o programa fará a seguir. Um defeito deste tipo leva o programa fazer coisas erradas, parando ou tendo comportamento inesperado.
  • 18.  Ocorre quando um programa tem que passar um grupo de dados para outro programa. No processo, os dados podem ser corrompidos ou interpretados incorretamente. As últimas modificações de dados podem ser perdidas ou estar disponível no momento errado.
  • 19.  Ocorre quando o programa espera pela resposta dos eventos A e B, sendo que é suposto que A sempre termine primeiro. Se por algum problema B terminar primeiro, o programa pode não estar preparado para esta situação e apresentar resultados inesperados.
  • 20.  O programa não pode suportar um pico de serviço em um determinado momento (estresse) ou uma carga alta de serviço por um tempo muito prolongado. Por exemplo, os testes previram um pico de processamento, porém não previram este pico por um tempo prolongado.
  • 21.  São defeitos decorrentes da incompatibilidade entre o programa e o ambiente onde está sendo processado, gerando falhas de comunicação entre ambos.
  • 22.
  • 23.  Verificar ortografia das mensagens e dos campos.  Verificar se campos de radio button excludentes não podem ser marcados ao mesmo tempo.  Verificar layout do sistema, tentar manter a aparência mais parecida possível com o protótipo. Além disso deve-se verificar se os campos e tabelas estão alinhados com relação aos outros campos.
  • 24.  Verificar lógica das mensagens. Ex.: Campo de filtro para período entre anos ____ a ____ colocar ano _2000_ a _1500_ deverá aparecer a mensagem "O ano final deve ser maior que o inicial" e no caso de colocar ano _1500_ a _2000_ a mensagem não deve aparecer.  Fazer combinações de filtros e verificar se estão sendo listados resultados relativos aos filtros selecionados.  Verificar a ordenação das listagem (ver especificação).  Verificar a ordenação de campos combo box (ver especificação).  Verificar se os campos estão habilitados ou desabilitados conforme a especificação.  Ficar atento aos erros de java script.  Preencher os campos de texto com caracteres especiais e/ou caracteres inválidos.  Se não conseguir preencher com caracteres inválidos via teclado, tentar ctrl+v e cola com o mouse.  Verificar se o botão limpar está limpando todos os campos corretamente.  Campos de texto deve ser possível pesquisar com uma substring. Ex.: Para pesquisar um funcionário com nome Ana Paula Muniz, se eu digitar na consulta a string "Ana" deve aparecer todos os funcionários que possuam a palavra Ana, como Ana Maria, Luciana, etc.  Verificar na especificação quais campos já devem vir preenchidos.
  • 25.  Preencher os campos de texto com caracteres especiais e/ou caracteres inválidos.  Se não conseguir preencher com caracteres inválidos via teclado, tentar ctrl+v e cola com o mouse.  Verificar se os campos estão habilitados ou desabilitados conforme a especificação.  Ao confirmar a operação de cadastro, verificar se apareceu uma mensagem informando que o item foi cadastrado.
  • 26.  No exibir, deve-se ficar muito atento à consistência dos dados, tipo se um dado foi inserido no cadastro ele deve obrigatoriamente aparecer no Exibir com sua respecitiva máscara.  Deve-se estar ciente qual o valor que deve ser exibido no caso de um campo não ter sido preenchido. Às vezes deve aparecer o campo vazio outras vezes deve aparecer algum caracter.  Verificar na tela de exibição se todos os dados alterados foram exibidos corretamente na tela, inclusive ficar atento às máscaras.
  • 27.  Este deve ser o caso de teste mais rigoroso e deve ser feito com mais atenção.  Verificar se os campos atualizados foram realmente atualizados. Esta verificação deve ser feita tanto no exibir quanto na tela de alteração.  Verificar se na tela de alteração se todos os campos foram carregados corretamente.  Executar o fluxo de alteração mais de uma vez, para garantir que nenhum dado esteja sendo mantido na sessão.  Verificar a atualização de campos que fazem parte de pop-up. Pois muitas vezes as alterações que são feitas dentro do pop-up se perdem ao fechar a janela.  Verificar se os dados cadastrados/atualizados nos pop-up estão corretos.  Quando houver uma tabela em que seja possível inserir e remover dados dela antes de cadastrar, realizar testes de carga para ver se os dados estão sendo mantidos/removidos corretamente.  Ao confirmar a operação de atualização, verificar se apareceu uma mensagem informando que o item foi atualizado.  Verificar se ao chamar algum pop-up se ao fechar a janela, o fluxo continua no modo de alteração.
  • 28.  Tentar excluir um registro, no alert de confirmação clicar em Cancelar e depois verificar se o registro não foi excluído.  Tentar excluir um registro, no alert de confirmação clicar em OK e depois verificar se o registro foi excluído.  Realizar uma pesquisar e verificar se a exclusão foi realizada realmente.  Verificar se apareceu uma mensagem informando que o item foi excluído.
  • 29.  Ficar muito atento aos dados que contém no relatório, ou seja, ao fazer uma filtragem de dados, deve-se verificar se apenas aqueles dados selecionados é que fazem parte do relatório.  Verificar se o layout do relatório está idêntico ao do protótipo.  Verificar a ortografia dos relatórios.  Verificar questões de agrupamento das colunas quando há dados repetidos numa mesma coluna, geralmente esta informação está presente no projeto de teste ou especificação.
  • 30.  O teste de software revela a presença de defeitos, se as exigências de qualidade de software estão sendo seguidas e geram métricas para verificar a efetividade e a eficiência das atividades e desenvolvimento de software.  As métricas de teste tendem a indicar o aumento no número de defeitos e problemas no processo de desenvolvimento, indicar se um processo está sob controle e se os objetivos estão sendo atingidos.
  • 31.  Reportar a situação do teste  Avaliar a qualidade do produto  Analisar defeitos  Avaliar risco do projeto  Medir o progresso contra as metas  Melhorar as técnicas de estimativa  Medir a eficácia do processo de desenvolvimento  Identificar melhorias necessárias em processos
  • 32.  Mantis Bugtracker – reportar defeitos  Testlink – criar casos de teste  Selenium IDE – automação de teste funcional
  • 33.  Categoria: categoria que pode ser um modulo ou funcionalidade do sistema.  Frequência: a frequência com que o bug ocorre  Gravidade: a gravidade do bug para a aplicação  Prioridade: a prioridade de correção do caso de teste  Resumo: descrição resumida do bug  Descrição: descrição completa do problema  Passos para reproduzir: passos necessários para a reprodução do bug
  • 34.  Titulo do Caso de Teste: titulo que descreve o que o caso de teste faz  Objetivo do Teste: descreva o objetivo deste caso de teste e qual será o resultado final deste caso de teste  Pré-condições: todas as pré-condições necessárias para executar o caso de teste, como estar numa estar numa tela, ter algum dado específico, etc..  Ações do Passo: cria um passo do teste, como clicar sobre o botão X  Resultado esperado: o que se espera que aconteça, como abrir uma tela
  • 35.  Você “grava os passos” e “reproduz”
  • 36. Obrigado a todos! “I LIKE BUGS!” Material: finalbug.blogspot.com