SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
Introdução ao
Teste de Software
Uma abordagem prática
Licença Creative Commons
Mas antes disso...

• O quanto
   é o seu software?
Análise de                                                         Teste de
Requisitos                                                        aceitação


       Design do                                           Teste de
        sistema                                            sistema


               Design da                              Teste de
              arquitetura                            integração


                    Design dos                 Teste de
                     módulos                   unidade

                                 Codificação
Ativação:                   Análise dos riscos:
determina objetivos,        avalia alternativas;
alternativas e restrições   identifica e resolve riscos




Planejamento da
próxima iteração                          Desenvolvimento:
                                          desenvolve; verifica
Alguns modelos do processo de
    desenvolvimento de software
• RUP
Alguns modelos do processo de
     desenvolvimento de software
• Ágil
O processo de Teste de Software
• Dependerá do processo de desenvolvimento
  de software
• Comparação com irmãos siameses
As atividades de Teste de Software
   Planejar

   Controlar

   Analisar

   Modelar

   Implementar

   Executar

   Avaliar critérios de saída e reportar resultados

   Encerramento
O que testar/avaliar?
• Norma ISO/IEC 9126/1991 ou NBR 13596:




                                     O que testar
A importância dependerá do software
          sob teste (SUT)
                                 Sistema embarcado
   Web Site
                                       no carro


               Funcionalidade

               Confiabilidade

                Usabilidade

                 Eficiência

              Manutenibilidade

                Portabilidade
Verificação X Validação
• Verificação:
  – estamos desenvolvendo o produto corretamente?
• Validação:
  – estamos desenvolvendo o produto correto?
Teste Estático X Teste Dinâmico
• No teste estático:
  – O código é examinado.
• No teste dinâmico:
  – O código é testado.
Técnicas Estáticas
• Revisões:
  – Revisão informal;
  – Acompanhamento;
  – Revisões técnicas;
  – Inspeção.
• Análise estática:
  – Objetivo encontrar defeitos no
    código/modelagem;
  – Geralmente utilizando uma ferramenta.
Teste de Caixa Branca e Caixa Preta
• Teste de Caixa Branca: teste baseado na
  análise da estrutura interna de um
  componente ou sistema.
• Teste de Caixa Preta: teste funcional ou não
  funcional, sem referência à estrutura interna
  do componente ou do sistema.


                                          Como testar
Níveis de teste
• Unidade: teste realizado com os componentes
  individuais de um software, na maioria das
  vezes feito pelo desenvolvedor.
• Integrado: teste realizado com a finalidade de
  expor defeitos nas interfaces e nas interações
  entre componentes ou sistemas integrados.


                                        Quando testar
Níveis de teste
• Sistema: testa um sistema integrado para
  verificar se ele atende aos requisitos
  especificados. Realizado pelos testadores.
• Aceitação: Teste formal relacionado às
  necessidades dos usuários e aos requisitos e
  processos de negócios. Realizado pelos
  usuários/stakeholders para estabelecer a
  confiança no sistema.
                                        Quando testar
Planejamento do Teste de Software
•   Definir o objetivo do teste;
•   O que testar? Como testar? Quando testar?
•   A estratégia que será adotada;
•   A equipe de teste;
•   O ambiente de teste;
•   Análise de riscos.
IEEE 829
• É o padrão criado pelo IEEE para
  documentação de Teste de Software;
• A melhor fonte para criarmos nossos próprios
  documentos;
• Mais uma vez devemos avaliar quais
  documentos e itens podem ser úteis para a
  nossa realidade.
IEEE 829
• Apresenta 8 documentos:
  – Especificação
     •   Plano de Teste;
     •   Especificação de Projeto de Teste;
     •   Especificação de Caso de Teste;
     •   Especificação de Procedimento de Teste.
  – Relatório
     •   Log de Teste;
     •   Relatório de Incidente de Teste;
     •   Relatório de Sumário de Teste;
     •   Relatório de Encaminhamento de Item de Teste.
Relação dos documentos com o
   processo de Teste de Software
Especificação de                              Documentação do
Projeto de Teste     Plano de Teste              Projeto &
                                              Desenvolvimento



Especificação de                               Relatório de
                     Especificação de                                 Documentação do
Procedimento de                              Encaminhamento
                      Caso de Teste                                        Item
     Teste                                   de Item de Teste



                           Execução dos testes


                                                                   Relatório de
      Log de Teste
                                                                Incidente de Teste



                                 Relatório de
                               Sumário de Teste
O Plano de Teste
• É o documento mais importante!
• Deve ser feito a partir da documentação do
  projeto e do desenvolvimento do software;
• Todos os demais documentos serão baseados
  nele.
Prática 1
de
Teste de Software.
Técnicas de modelagem de testes
• Baseadas em especificação
• Baseadas em estrutura
• Baseadas na experiência
Baseadas em especificação
•   Partição de Equivalência
•   Análise do Valor Limite
•   Tabela de Decisão
•   Teste de Transição de Estados
•   Teste de Caso de Uso
Partição de Equivalência
• Aplicada em qualquer nível de teste
• É muitas vezes uma boa técnica para ser
  aplicada primeiro
• Muitos testadores aplicam ela sem saber
  (informalmente)
• O seu uso formal pode proporcionar melhores
  resultados
Partição de Equivalência
• A idéia é divivir/particionar as entradas em
  grupos que tenham um comportamento
  similar, podendo ser tratados da mesma forma
• Se tiver tempo, você pode tentar mais de um
  valor por partição, principalmente, se quiser
  confirmar uma entrada típica do usuário
Partição de Equivalência
Exemplo bolo:
• Vamos imaginar que esse delicioso bolo ao
  lado, tem 6 sabores: chocolate, nozes,
  morango, maracujá, baunilha e limão.
• Quantos testes são necessários,
  usando a técnica de partição de
  equivalência?
~                ^
Partição de Equivalência
      Temos 6 sabores diferentes, e a técnica de
      partição de equivalência, diz que precisamos
      dividir as entradas, fazendo com que cada
      divisão/partição , seja equivalente com um
      comportamento do sistema.
      Ou seja, precisamos dividir o bolo em
      pedaços de diferentes sabores. Totalizando 6
      pedaços (partições) de bolo, que equivalem
      aos 6 sabores.
Análise do Valor Limite
• Complementar a técnica de partição de
  equivalência;
• Limites são áreas onde os testes estão mais
  propensos a indicar defeitos;
• Os valores limites de uma partição são seu
  máximo e seu mínimo.
Análise do Valor Limite
Voltando ao bolo...
Agora vamos considerar que cada “camada” do bolo
tem 10cm. Desta maneira, o nosso bolo tem 60cm,
sendo composto de:
10cm de chocolate
10cm de morango
10cm de nozes
10cm de maracujá
10cm de baunilha
10cm de limão

Portanto, agora é a hora de fazer um teste mais
“guloso”...vamos lá
Análise do Valor Limite
No teste anterior...
Comemos 6 pedaços de bolo para verificar se o bolo
contém os seis sabores mesmo.
Agora...
Além de verificar se o bolo contém os seis sabores, vamos
verificar cada sabor tem exatamente 10 cm de altura.
O teste usando a técnica de análise do valor limite, irá
resultar em 24 entradas diferentes, ou seja, iremos
precisar comer 24 pedaços de bolo, nada ruim, neh...
Análise do Valor Limite
Entendo melhor
Usando a análise de valor limite são 14 pedaços de bolo, necessários
para o teste. O motivo para esse resultado é:
                             Valor limite máximo inválido (chocolate) = 11cm
                             Valor limite mínimo válido (nozes)
                             Valor limite máximo válido= 10cm
                             Valor limite mínimo válido= 1cm
                             Valor limite mínimo inválido= 0cm

Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1,
10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12
pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes
aos valores inferiores inválidos 0cm e 61cm.
Totalizando 14 pedaços. BOM APETITE!
Tabela de Decisão
• Focada nas regras de negócio
• É uma boa maneira de lidar com combinações
  de valores de entrada
• As condições de entrada e ações são
  declaradas de uma forma que possam ser
  entendidas, como verdadeiras ou falsas
• Às vezes, é chamada de “causa e efeito”
Tabela de Decisão
• O grande ganho na utilização da tabela de
  decisão, é que ela cria combinações de
  condições que, geralmente, não foram
  exercitadas durante os testes
• Pode ser aplicada a todas as situações quando
  a execução do software depende de muitas
  decisões lógicas
Tabela de Decisão
• O grande ganho na utilização da tabela de
  decisão, é que ela cria combinações de
  condições que, geralmente, não foram
  exercitadas durante os testes
• Pode ser aplicada a todas as situações quando
  a execução do software depende de muitas
  decisões lógicas
Tabela de Decisão

                      Condições de
                        entrada

                         Ações/
                       Resultados


Regra
Tabela de Decisão
Condição       Regra 1 Regra 2 Regra 3 Regra 4
 Valor>100       V        F      V       F
quant>100        V       V       F       F
   Ações
 dar brinde      X
dar desconto                     X
 mensagem                X
  de erro
Teste de Transição de Estados
• É utilizado quando algum aspecto do sistema
  pode ser descrito usando uma máquina de
  estados
• Ou seja, o sistema pode ter um número
  (finito) de estados diferentes, e as transições
  de um estado para outro são determinadas
  por regras de "máquina"
Teste de Transição de Estados
• Os testes podem ser construídos para cobrir
  uma sequência típica de estados, cobrir todos
  os estados, exercitar todas as transições,
  exercitar uma seqüência específica de
  transições ou testar transições inválidas
Teste de Transição de Estados


insere    digita
cartão    senha    NOK        NOK
                                     NOK


                               OK   OK
                         OK
Teste de Caso de Uso
• Ajuda a identificar casos de testes que
  exercitam todo o sistema, transação por
  transação, do início ao fim
• Baseada em casos de uso
• Um caso de uso é a descrição de um uso
  particular do sistema feito por um ator
  (usuário do sistema)
Teste de Caso de Uso
• Casos de uso muitas vezes são tratados como
  cenários, e úteis para construir testes de
  aceite com a participação do usuário final
• Eles podem ajudar a descobrir defeitos de
  integração causados pela interação e
  interferência de diferentes componentes, que
  testes individuais de componentes podem não
  ter detectado
Teste de Caso de Uso
• Casos de uso são definidos de acordo com o
  autor, não com o sistema, descrevendo o que
  o ator ver, mais do que as entradas e
  resultados esperados do sistema
• Eles costumar usar uma linguagem e termos a
  nível de negócio, ao invés de termos técnicos,
  especialmente quando o ator é parte do
  negócio
Teste de Caso de Uso
Ator        Sistema

              Criar
              post


             Publicar
               post
Teste de Caso de Uso
Cenário – criar post (fluxo principal)
Pré-condição:                              A: ator
Usuário logado no sistema                  S: sistema

Cenário:
1. A: Seleciona opção de novo post;
2. S: Abre página de postagem;
3. A: Digita post;
4. A: Seleciona opção de salvar o post;
5. S: Salva o post;
6. S: Carrega a página com o post salvo.
Teste de Caso de Uso
Caso de teste – criar post
Pré-condição:
Usuário logado no sistema

Cenário:
1. Clicar no botão ‘novo post’;
2. Digitar texto;
3. Clicar no botão 'salvar como rascunho‘.

Resultado esperado:
Sistema salvar o post e apresentar a página com o post salvo.
Saiba mais: Técnicas de modelagem de teste (parte 2)
                    (QualidadeBR)
Baseadas na experiência
• Suposição de erro
• Teste exploratório
Especificação dos Casos de Testes
• Basicamente: pré-condições, ações, resultado
  esperado e pós-condições;
• Organizado em suítes de testes = conjunto de
  casos de testes;
• Deve ser de auto-explicativo;
• Defina padrões entre a equipe.

            Saiba mais: Test Case Writing Best Practices
                            (SlideShare)
Prática 2
Implementação de Teste
• Criar o procedimento de execução dos testes,
  priorizando-os;
• Criar massa de dados, caso necessário;
• Preparar o ambiente de teste;
• Escrever scripts para automatização dos
  testes.
Preparando o ambiente de teste
• O ambiente de teste deve ser o mais próximo
  possível do de produção;
• O procedimento de criação do ambiente de teste
  deve ser documentado;
• O ambiente de teste deve
  ser isolado dos demais;
• Caso seja preciso, envolver
  o pessoal de infra o mais
  cedo possível.
Prática 3
Nunca é demais lembrar...
• Documente toda execução dos testes;
• Tenha todos os casos de testes prontos e
  atualizados;
• Use a sua experiência e conhecimento ao seu
  favor;
• Testar não é só seguir um procedimento!
• Se algo estiver errado no caso de teste, avise!
• Atenção é a palavra chave!
Top Five: 5 métodos para encontrar
                 falhas
• Aprenda a quebrar as regras, de vez em
  quando. Explore!
• Busque padrões!
• Toque onde dói mais!
• Escute os passos do bug se
aproximando!
• Dois é melhor do que um.
Trabalhe em par!
O custo dos defeitos
Reporte de falha
• Detalhe ao máximo!
  – A caixa de mensagem não segue o padrão.
  – Após não preencher os dados de critério do filtro
    de mensagens, a mensagem de erro foi
    apresentada num message box diferente do
    padrão das demais mensagens de erro.
• Descreva o passo-a-passo, informe as
  configurações do ambiente de teste,
  prioridade, impacto, tipo, coloque provas do
  incidente (ex. log, printscreen, etc).
A falha foi corrigida, e agora?
• Reteste;
• Teste de regressão.
Prática 4
Gerenciamento de incidentes
• Incidente = qualquer evento que requeira
  investigação;
• O gerenciamento de incidentes é uma tarefa
  em conjunto da equipe de desenvolvimento e
  testes;
• Máquina de estados definida de acordo com
  as necessidades da equipe;
• Uma ferramenta bug tracking pode ajudar.
Ferramentas Bug Tracking
•   Bugzilla;
•   Eventum;
•   Jira;
•   Mantis;
•   Trac;
•   Etc.
          Saiba mais: Comparação de ferramentas bug tracking
                             (Wikipedia)
Avaliar critérios de saída e reportar
                resultados
• Checar os registros de teste (logs) mediante o
  critério de encerramento especificado;
• Avaliar se são necessários testes adicionais ou
  se o critério de saída especificado deve ser
  alterado;
• Elaborar um relatório de
  teste resumido para os
  interessados.
Prática 5
Quando os testes devem parar?
•   O número de bugs achados que estão fechados é maior do que o número
    de bugs que se esperava achar;
•   Todos os testes foram executados;
•   A porcentagem de cobertura da aplicação pelos testes já é o suficiente;
•   Todas as funcionalidades funcionam corretamente;
•   O sistema atende as métricas de confiabilidade, disponibilidade e
    durabilidade definidas no Plano de Teste;
•   O software tornou-se confiável;
•   A estabilidade alcançada atingiu o
    esperado;
•   O número e severidade dos bugs caíram
    a um nível satisfatório;
•   O tempo médio entre defeitos
     encontrados é muito alto.
Relatório de Resumo de Teste
• O objetivo é resumir os resultados da
  atividades de teste executadas e prover
  avaliações baseadas nesses resultados;
• Nele também é registrado o que foi testado e
  em quanto tempo; as melhorias identificadas
  e qualquer plano futuro de teste;
• É o documento final que apresenta, se o que
  foi acordado no plano de teste, foi
  realmente realizado ou não.
Prática 6
Carreira – Teste de Software
Carreira – Teste de Software
• Tester: responsável pela execução dos testes,
  que em muitas vezes incluem as seguintes
  atividades: testar configurações de hardware e
  software, executar scripts simples de teste,
  reproduzir e reportar bugs.
• Analista de Teste: responsável pela
  modelagem e elaboração dos casos de teste e
  pelos scripts de teste.
Carreira – Teste de Software
• Analista de Automação de Teste: tem como
  objetivo principal, buscar a automatização de
  testes, sempre que ela for possível e viável.
• Arquiteto de Teste: responsável pela
  montagem da infra-estrutura de teste, monta
  o ambiente de teste, escolhe as ferramentas
  de teste e capacita a equipe para executar seu
  trabalho nesse ambiente de teste.
Carreira – Teste de Software
• Líder de Teste: responsável pela condução dos
  testes e pela equipe de Testes. Geralmente é
  um profissional com alto grau de
  conhecimento da área de Teste de Software.
• Gerente de Teste: tem como função
  primordial a iniciação do projeto de teste a ser
  realizado no produto a ser testado. Lida com
  todas tarefas gerenciais.
Carreira – Teste de Software
• Os cargos e as tarefas dos cargos podem variar
  (muito) de empresa para empresa;
• A área de Testes está a pleno vapor e os seus
  profissionais são cada vez mais valorizados;
• É difícil encontrar profissionais qualificados.
Saiba mais: Guia Completo para Certificações em Teste de Software
              (TestExpert - Fábio Martinho Campos)
Saiba muito mais!
• Grupos de discussão:
  – Agile-Testing;
  – BSTQB;
  – Certificações - Qualidade e Teste de SW;
  – DFTestes;
  – GUTS;
  – QAI-Brasil;
  – etc.
Saiba muito mais!
• Sites e blogs:
   –   Diário da Qualidade;
   –   Ensaios de Qualidade;
   –   Falando em Teste e Qualidade de Software;
   –   One Stop Testing;
   –   QualidadeBR;
   –   Sem Bugs;
   –   StickyMinds;
   –   TESTAVO;
   –   TestExpert.
   –   zezologs;
   –   etc.
Saiba muito mais!
• Livros:
   – Agile Testing;
   – Análise de Riscos Em Projetos de Teste de Software;
   – Base de Conhecimento em Teste de Software;
   – Critical Testing Processes: Plan, Prepare, Perform, Perfect;
   – Garantia da Qualidade de Software;
   – How We Test Software at Microsoft;
   – Lessons Learned in Software Testing;
   – Pragmatic Software Testing: Becoming an Effective and
     Efficient Test Professional;
   – etc.
Saiba muito mais!
•   Twitter;
•   Troca de e-mails;
•   Eventos;
•   etc.
Obrigado!
•   E-mail/gtalk: ffc.fabricio@gmail.com
•   MSN: ffc_fabricio@hotmail.com
•   Twitter: fabricioffc
•   Blog: qualidadebr.wordpress.com
•   Ensina aí!
    – ensinaai@voicetechnology.com.br
    – ensinar.wordpress.com
Fonte
•   ISO/IEC 9126
     – http://pt.wikipedia.org/wiki/ISO/IEC_9126
•   Deception and Self-deception in Software Testing
     – www.stickyminds.com/se/S15016.asp
•   Testing Lessons - Top 5 Secrets to Bug Hunting Success!
     – http://software-testing-zone.blogspot.com/2007/09/testing-lessons-
        bug-hunting-success.html
•   Aulas da professora Dra. Eliane Martins (UNICAMP)
     – http://www.ic.unicamp.br/~eliane/Cursos/
•   Comparison of issue tracking systems
     – http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems
•   Black R. Advanced Software Testing Vol. 1. Rocky Nook, 2008.
Fonte
•   BSTQB. Base de Conhecimento para Certificação em Teste - Foundation
    Level Syllabus . 2007br.
•   D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software
    Testing: ISTQB Certification. Cengage Learning Business Press, 2006.
•   ISTQB – Glossário de Termos de Teste (Versão 1.3 – Português/Brasil).
•   Bastos, A.; Rios, E.; Cristalli, R. & Moreira, T. Base de conhecimento em
    teste de software. São Paulo, Martins Fontes, 2007.

Mais conteúdo relacionado

Mais procurados

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
 
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 - 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
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareClaudia Melo
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizadoselliando dias
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoAricelio Souza
 
Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaLucas Amaral
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 

Mais procurados (20)

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
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
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 - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de Software
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de Código
 
Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-Preta
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 

Semelhante a Introdução ao Teste de Software

4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
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
 
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
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IVJoão Lourenço
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesJoaquim Lopes Júnior
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de SoftwareIgor Takenami
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
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
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfHoctairBernardino
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2douglasdc7m
 
Melhorando a qualidade do software com testes de ponta a-ponta
Melhorando a qualidade do software com testes de ponta a-pontaMelhorando a qualidade do software com testes de ponta a-ponta
Melhorando a qualidade do software com testes de ponta a-pontaGuilherme Cardoso
 

Semelhante a Introdução ao Teste de Software (20)

O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
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
 
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 ...
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
AppTesting
AppTestingAppTesting
AppTesting
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testes
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de Software
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Eng de testes aula2
Eng de testes   aula2Eng de testes   aula2
Eng de testes aula2
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdf
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2
 
Melhorando a qualidade do software com testes de ponta a-ponta
Melhorando a qualidade do software com testes de ponta a-pontaMelhorando a qualidade do software com testes de ponta a-ponta
Melhorando a qualidade do software com testes de ponta a-ponta
 

Mais de Fabrício Campos

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesFabrício Campos
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuárioFabrício Campos
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Fabrício Campos
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)Fabrício Campos
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de SoftwareFabrício Campos
 

Mais de Fabrício Campos (8)

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomates
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de Software
 
CTFL - BSTQB
CTFL - BSTQBCTFL - BSTQB
CTFL - BSTQB
 
Por que testar?
Por que testar?Por que testar?
Por que testar?
 

Introdução ao Teste de Software

  • 1. Introdução ao Teste de Software Uma abordagem prática
  • 3.
  • 4.
  • 5.
  • 6. Mas antes disso... • O quanto é o seu software?
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Análise de Teste de Requisitos aceitação Design do Teste de sistema sistema Design da Teste de arquitetura integração Design dos Teste de módulos unidade Codificação
  • 16. Ativação: Análise dos riscos: determina objetivos, avalia alternativas; alternativas e restrições identifica e resolve riscos Planejamento da próxima iteração Desenvolvimento: desenvolve; verifica
  • 17. Alguns modelos do processo de desenvolvimento de software • RUP
  • 18. Alguns modelos do processo de desenvolvimento de software • Ágil
  • 19.
  • 20. O processo de Teste de Software • Dependerá do processo de desenvolvimento de software • Comparação com irmãos siameses
  • 21. As atividades de Teste de Software Planejar Controlar Analisar Modelar Implementar Executar Avaliar critérios de saída e reportar resultados Encerramento
  • 22. O que testar/avaliar? • Norma ISO/IEC 9126/1991 ou NBR 13596: O que testar
  • 23. A importância dependerá do software sob teste (SUT) Sistema embarcado Web Site no carro Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade
  • 24. Verificação X Validação • Verificação: – estamos desenvolvendo o produto corretamente? • Validação: – estamos desenvolvendo o produto correto?
  • 25. Teste Estático X Teste Dinâmico • No teste estático: – O código é examinado. • No teste dinâmico: – O código é testado.
  • 26. Técnicas Estáticas • Revisões: – Revisão informal; – Acompanhamento; – Revisões técnicas; – Inspeção. • Análise estática: – Objetivo encontrar defeitos no código/modelagem; – Geralmente utilizando uma ferramenta.
  • 27. Teste de Caixa Branca e Caixa Preta • Teste de Caixa Branca: teste baseado na análise da estrutura interna de um componente ou sistema. • Teste de Caixa Preta: teste funcional ou não funcional, sem referência à estrutura interna do componente ou do sistema. Como testar
  • 28.
  • 29. Níveis de teste • Unidade: teste realizado com os componentes individuais de um software, na maioria das vezes feito pelo desenvolvedor. • Integrado: teste realizado com a finalidade de expor defeitos nas interfaces e nas interações entre componentes ou sistemas integrados. Quando testar
  • 30. Níveis de teste • Sistema: testa um sistema integrado para verificar se ele atende aos requisitos especificados. Realizado pelos testadores. • Aceitação: Teste formal relacionado às necessidades dos usuários e aos requisitos e processos de negócios. Realizado pelos usuários/stakeholders para estabelecer a confiança no sistema. Quando testar
  • 31.
  • 32.
  • 33.
  • 34. Planejamento do Teste de Software • Definir o objetivo do teste; • O que testar? Como testar? Quando testar? • A estratégia que será adotada; • A equipe de teste; • O ambiente de teste; • Análise de riscos.
  • 35.
  • 36. IEEE 829 • É o padrão criado pelo IEEE para documentação de Teste de Software; • A melhor fonte para criarmos nossos próprios documentos; • Mais uma vez devemos avaliar quais documentos e itens podem ser úteis para a nossa realidade.
  • 37. IEEE 829 • Apresenta 8 documentos: – Especificação • Plano de Teste; • Especificação de Projeto de Teste; • Especificação de Caso de Teste; • Especificação de Procedimento de Teste. – Relatório • Log de Teste; • Relatório de Incidente de Teste; • Relatório de Sumário de Teste; • Relatório de Encaminhamento de Item de Teste.
  • 38. Relação dos documentos com o processo de Teste de Software Especificação de Documentação do Projeto de Teste Plano de Teste Projeto & Desenvolvimento Especificação de Relatório de Especificação de Documentação do Procedimento de Encaminhamento Caso de Teste Item Teste de Item de Teste Execução dos testes Relatório de Log de Teste Incidente de Teste Relatório de Sumário de Teste
  • 39. O Plano de Teste • É o documento mais importante! • Deve ser feito a partir da documentação do projeto e do desenvolvimento do software; • Todos os demais documentos serão baseados nele.
  • 41.
  • 43.
  • 44. Técnicas de modelagem de testes • Baseadas em especificação • Baseadas em estrutura • Baseadas na experiência
  • 45. Baseadas em especificação • Partição de Equivalência • Análise do Valor Limite • Tabela de Decisão • Teste de Transição de Estados • Teste de Caso de Uso
  • 46. Partição de Equivalência • Aplicada em qualquer nível de teste • É muitas vezes uma boa técnica para ser aplicada primeiro • Muitos testadores aplicam ela sem saber (informalmente) • O seu uso formal pode proporcionar melhores resultados
  • 47. Partição de Equivalência • A idéia é divivir/particionar as entradas em grupos que tenham um comportamento similar, podendo ser tratados da mesma forma • Se tiver tempo, você pode tentar mais de um valor por partição, principalmente, se quiser confirmar uma entrada típica do usuário
  • 48. Partição de Equivalência Exemplo bolo: • Vamos imaginar que esse delicioso bolo ao lado, tem 6 sabores: chocolate, nozes, morango, maracujá, baunilha e limão. • Quantos testes são necessários, usando a técnica de partição de equivalência?
  • 49. ~ ^ Partição de Equivalência Temos 6 sabores diferentes, e a técnica de partição de equivalência, diz que precisamos dividir as entradas, fazendo com que cada divisão/partição , seja equivalente com um comportamento do sistema. Ou seja, precisamos dividir o bolo em pedaços de diferentes sabores. Totalizando 6 pedaços (partições) de bolo, que equivalem aos 6 sabores.
  • 50. Análise do Valor Limite • Complementar a técnica de partição de equivalência; • Limites são áreas onde os testes estão mais propensos a indicar defeitos; • Os valores limites de uma partição são seu máximo e seu mínimo.
  • 51. Análise do Valor Limite Voltando ao bolo... Agora vamos considerar que cada “camada” do bolo tem 10cm. Desta maneira, o nosso bolo tem 60cm, sendo composto de: 10cm de chocolate 10cm de morango 10cm de nozes 10cm de maracujá 10cm de baunilha 10cm de limão Portanto, agora é a hora de fazer um teste mais “guloso”...vamos lá
  • 52. Análise do Valor Limite No teste anterior... Comemos 6 pedaços de bolo para verificar se o bolo contém os seis sabores mesmo. Agora... Além de verificar se o bolo contém os seis sabores, vamos verificar cada sabor tem exatamente 10 cm de altura. O teste usando a técnica de análise do valor limite, irá resultar em 24 entradas diferentes, ou seja, iremos precisar comer 24 pedaços de bolo, nada ruim, neh...
  • 53. Análise do Valor Limite Entendo melhor Usando a análise de valor limite são 14 pedaços de bolo, necessários para o teste. O motivo para esse resultado é: Valor limite máximo inválido (chocolate) = 11cm Valor limite mínimo válido (nozes) Valor limite máximo válido= 10cm Valor limite mínimo válido= 1cm Valor limite mínimo inválido= 0cm Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1, 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12 pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes aos valores inferiores inválidos 0cm e 61cm. Totalizando 14 pedaços. BOM APETITE!
  • 54. Tabela de Decisão • Focada nas regras de negócio • É uma boa maneira de lidar com combinações de valores de entrada • As condições de entrada e ações são declaradas de uma forma que possam ser entendidas, como verdadeiras ou falsas • Às vezes, é chamada de “causa e efeito”
  • 55. Tabela de Decisão • O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testes • Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
  • 56. Tabela de Decisão • O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testes • Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
  • 57. Tabela de Decisão Condições de entrada Ações/ Resultados Regra
  • 58. Tabela de Decisão Condição Regra 1 Regra 2 Regra 3 Regra 4 Valor>100 V F V F quant>100 V V F F Ações dar brinde X dar desconto X mensagem X de erro
  • 59. Teste de Transição de Estados • É utilizado quando algum aspecto do sistema pode ser descrito usando uma máquina de estados • Ou seja, o sistema pode ter um número (finito) de estados diferentes, e as transições de um estado para outro são determinadas por regras de "máquina"
  • 60. Teste de Transição de Estados • Os testes podem ser construídos para cobrir uma sequência típica de estados, cobrir todos os estados, exercitar todas as transições, exercitar uma seqüência específica de transições ou testar transições inválidas
  • 61. Teste de Transição de Estados insere digita cartão senha NOK NOK NOK OK OK OK
  • 62. Teste de Caso de Uso • Ajuda a identificar casos de testes que exercitam todo o sistema, transação por transação, do início ao fim • Baseada em casos de uso • Um caso de uso é a descrição de um uso particular do sistema feito por um ator (usuário do sistema)
  • 63. Teste de Caso de Uso • Casos de uso muitas vezes são tratados como cenários, e úteis para construir testes de aceite com a participação do usuário final • Eles podem ajudar a descobrir defeitos de integração causados pela interação e interferência de diferentes componentes, que testes individuais de componentes podem não ter detectado
  • 64. Teste de Caso de Uso • Casos de uso são definidos de acordo com o autor, não com o sistema, descrevendo o que o ator ver, mais do que as entradas e resultados esperados do sistema • Eles costumar usar uma linguagem e termos a nível de negócio, ao invés de termos técnicos, especialmente quando o ator é parte do negócio
  • 65. Teste de Caso de Uso Ator Sistema Criar post Publicar post
  • 66. Teste de Caso de Uso Cenário – criar post (fluxo principal) Pré-condição: A: ator Usuário logado no sistema S: sistema Cenário: 1. A: Seleciona opção de novo post; 2. S: Abre página de postagem; 3. A: Digita post; 4. A: Seleciona opção de salvar o post; 5. S: Salva o post; 6. S: Carrega a página com o post salvo.
  • 67. Teste de Caso de Uso Caso de teste – criar post Pré-condição: Usuário logado no sistema Cenário: 1. Clicar no botão ‘novo post’; 2. Digitar texto; 3. Clicar no botão 'salvar como rascunho‘. Resultado esperado: Sistema salvar o post e apresentar a página com o post salvo.
  • 68. Saiba mais: Técnicas de modelagem de teste (parte 2) (QualidadeBR)
  • 69. Baseadas na experiência • Suposição de erro • Teste exploratório
  • 70. Especificação dos Casos de Testes • Basicamente: pré-condições, ações, resultado esperado e pós-condições; • Organizado em suítes de testes = conjunto de casos de testes; • Deve ser de auto-explicativo; • Defina padrões entre a equipe. Saiba mais: Test Case Writing Best Practices (SlideShare)
  • 72. Implementação de Teste • Criar o procedimento de execução dos testes, priorizando-os; • Criar massa de dados, caso necessário; • Preparar o ambiente de teste; • Escrever scripts para automatização dos testes.
  • 73. Preparando o ambiente de teste • O ambiente de teste deve ser o mais próximo possível do de produção; • O procedimento de criação do ambiente de teste deve ser documentado; • O ambiente de teste deve ser isolado dos demais; • Caso seja preciso, envolver o pessoal de infra o mais cedo possível.
  • 74.
  • 76.
  • 77.
  • 78. Nunca é demais lembrar... • Documente toda execução dos testes; • Tenha todos os casos de testes prontos e atualizados; • Use a sua experiência e conhecimento ao seu favor; • Testar não é só seguir um procedimento! • Se algo estiver errado no caso de teste, avise! • Atenção é a palavra chave!
  • 79. Top Five: 5 métodos para encontrar falhas • Aprenda a quebrar as regras, de vez em quando. Explore! • Busque padrões! • Toque onde dói mais! • Escute os passos do bug se aproximando! • Dois é melhor do que um. Trabalhe em par!
  • 80. O custo dos defeitos
  • 81.
  • 82. Reporte de falha • Detalhe ao máximo! – A caixa de mensagem não segue o padrão. – Após não preencher os dados de critério do filtro de mensagens, a mensagem de erro foi apresentada num message box diferente do padrão das demais mensagens de erro. • Descreva o passo-a-passo, informe as configurações do ambiente de teste, prioridade, impacto, tipo, coloque provas do incidente (ex. log, printscreen, etc).
  • 83. A falha foi corrigida, e agora? • Reteste; • Teste de regressão.
  • 85. Gerenciamento de incidentes • Incidente = qualquer evento que requeira investigação; • O gerenciamento de incidentes é uma tarefa em conjunto da equipe de desenvolvimento e testes; • Máquina de estados definida de acordo com as necessidades da equipe; • Uma ferramenta bug tracking pode ajudar.
  • 86. Ferramentas Bug Tracking • Bugzilla; • Eventum; • Jira; • Mantis; • Trac; • Etc. Saiba mais: Comparação de ferramentas bug tracking (Wikipedia)
  • 87. Avaliar critérios de saída e reportar resultados • Checar os registros de teste (logs) mediante o critério de encerramento especificado; • Avaliar se são necessários testes adicionais ou se o critério de saída especificado deve ser alterado; • Elaborar um relatório de teste resumido para os interessados.
  • 88.
  • 90. Quando os testes devem parar? • O número de bugs achados que estão fechados é maior do que o número de bugs que se esperava achar; • Todos os testes foram executados; • A porcentagem de cobertura da aplicação pelos testes já é o suficiente; • Todas as funcionalidades funcionam corretamente; • O sistema atende as métricas de confiabilidade, disponibilidade e durabilidade definidas no Plano de Teste; • O software tornou-se confiável; • A estabilidade alcançada atingiu o esperado; • O número e severidade dos bugs caíram a um nível satisfatório; • O tempo médio entre defeitos encontrados é muito alto.
  • 91.
  • 92. Relatório de Resumo de Teste • O objetivo é resumir os resultados da atividades de teste executadas e prover avaliações baseadas nesses resultados; • Nele também é registrado o que foi testado e em quanto tempo; as melhorias identificadas e qualquer plano futuro de teste; • É o documento final que apresenta, se o que foi acordado no plano de teste, foi realmente realizado ou não.
  • 93.
  • 94.
  • 96.
  • 97. Carreira – Teste de Software
  • 98. Carreira – Teste de Software • Tester: responsável pela execução dos testes, que em muitas vezes incluem as seguintes atividades: testar configurações de hardware e software, executar scripts simples de teste, reproduzir e reportar bugs. • Analista de Teste: responsável pela modelagem e elaboração dos casos de teste e pelos scripts de teste.
  • 99. Carreira – Teste de Software • Analista de Automação de Teste: tem como objetivo principal, buscar a automatização de testes, sempre que ela for possível e viável. • Arquiteto de Teste: responsável pela montagem da infra-estrutura de teste, monta o ambiente de teste, escolhe as ferramentas de teste e capacita a equipe para executar seu trabalho nesse ambiente de teste.
  • 100. Carreira – Teste de Software • Líder de Teste: responsável pela condução dos testes e pela equipe de Testes. Geralmente é um profissional com alto grau de conhecimento da área de Teste de Software. • Gerente de Teste: tem como função primordial a iniciação do projeto de teste a ser realizado no produto a ser testado. Lida com todas tarefas gerenciais.
  • 101. Carreira – Teste de Software • Os cargos e as tarefas dos cargos podem variar (muito) de empresa para empresa; • A área de Testes está a pleno vapor e os seus profissionais são cada vez mais valorizados; • É difícil encontrar profissionais qualificados.
  • 102. Saiba mais: Guia Completo para Certificações em Teste de Software (TestExpert - Fábio Martinho Campos)
  • 103. Saiba muito mais! • Grupos de discussão: – Agile-Testing; – BSTQB; – Certificações - Qualidade e Teste de SW; – DFTestes; – GUTS; – QAI-Brasil; – etc.
  • 104. Saiba muito mais! • Sites e blogs: – Diário da Qualidade; – Ensaios de Qualidade; – Falando em Teste e Qualidade de Software; – One Stop Testing; – QualidadeBR; – Sem Bugs; – StickyMinds; – TESTAVO; – TestExpert. – zezologs; – etc.
  • 105. Saiba muito mais! • Livros: – Agile Testing; – Análise de Riscos Em Projetos de Teste de Software; – Base de Conhecimento em Teste de Software; – Critical Testing Processes: Plan, Prepare, Perform, Perfect; – Garantia da Qualidade de Software; – How We Test Software at Microsoft; – Lessons Learned in Software Testing; – Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional; – etc.
  • 106. Saiba muito mais! • Twitter; • Troca de e-mails; • Eventos; • etc.
  • 107.
  • 108. Obrigado! • E-mail/gtalk: ffc.fabricio@gmail.com • MSN: ffc_fabricio@hotmail.com • Twitter: fabricioffc • Blog: qualidadebr.wordpress.com • Ensina aí! – ensinaai@voicetechnology.com.br – ensinar.wordpress.com
  • 109. Fonte • ISO/IEC 9126 – http://pt.wikipedia.org/wiki/ISO/IEC_9126 • Deception and Self-deception in Software Testing – www.stickyminds.com/se/S15016.asp • Testing Lessons - Top 5 Secrets to Bug Hunting Success! – http://software-testing-zone.blogspot.com/2007/09/testing-lessons- bug-hunting-success.html • Aulas da professora Dra. Eliane Martins (UNICAMP) – http://www.ic.unicamp.br/~eliane/Cursos/ • Comparison of issue tracking systems – http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems • Black R. Advanced Software Testing Vol. 1. Rocky Nook, 2008.
  • 110. Fonte • BSTQB. Base de Conhecimento para Certificação em Teste - Foundation Level Syllabus . 2007br. • D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006. • ISTQB – Glossário de Termos de Teste (Versão 1.3 – Português/Brasil). • Bastos, A.; Rios, E.; Cristalli, R. & Moreira, T. Base de conhecimento em teste de software. São Paulo, Martins Fontes, 2007.