GoConqr has a new look! Let us know what you think.

Mind map

Fases de Teste

Jose Emiliano Bertholdo Junior Portuguese

Fases de Teste

Map content

Fases de Teste

  1. A atividade de teste é complexa e é necessário reduzir a complexidade

  2. Utiliza-se o conceito de dividir para conquistar visando reduzir a complexidade

  3. Teste de Unidade

    • Foco nas menores unidades de software desenvolvidas
      • Cada unidade é testada isoladamente
    • Verifica o funcionamento de forma isoladas dos elementos de software que podem ser testados separadamente
    • Componentes
      • Drivers
        • Fornece os dados necessários para que essa unidade seja executada e, posteriormente apresenta os resultados ao testador
      • Dublês
        • Simulam o comportamento de uma unidade ainda não integrada
        • Dummy
          • Passados como parâmetro mas nunca utilizados
            • Apenas para preencher listas de parâmetros
        • Fake
          • Possuem alguma implementação mas de maneira muito mais simples
            • Inadequados para produção
        • Stubs
          • Fornecem respostas "hard-coded" para chamadas realizadas durante o teste
            • Não sabem o que fazer se o teste chamar um método que não foi programado
        • Sples
          • Observa o comportamento de uma dependência e registra informações sobre suas interações
            • Na verdade, não simulam um comportamento
        • Mocks
          • Agem como stubs mas os tipos de interações que devem ocorrer também são pré-programados
            • É possível verificar se essas interações ocorreram como esperadas
    • Vantagens
      • É rápido
      • Fácil de controlar
      • Fácil de Implementar
    • Desvantagens
      • Não é "real"
      • Alguns tipos de erros não são reproduzidos nessa fase
  4. Teste de Integração

    • Possui objetivo de verificar se as unidades testadas individualmente se comunicam como desejado
    • Testa-se a integração entre as unidades para descobrir possíveis erros associados à interface do sistema
      • Dados podem se perder na interface
      • Unidade pode ter efeito inesperado sobre outra
    • Abordagens
      • "Big Bang"
        • Vantagens
          • Todas as unidades são testadas de uma vez
          • Ideal para pequenos sistemas
          • Economiza tempo de teste
        • Desvantagens
          • Atraso para começar os testes
          • Dificuldade em encontrar a causa do erro
      • Incremental
        • As unidades são construídas e testadas em pequenos incrementos
          • Integração Top-Down (Descendente)
            • As unidades são integradas deslocando-se para baixo na hierarquia de controle
            • Vantagens
              • Testa as principais funções de controle antes
              • Localização de erros é mais fácil
            • Desvantagens
              • Stubs são necessários
              • Funcionalidades básicas são testadas mais tarde
          • Integração Bottom-Up
            • As unidades são integradas começando nos níveis mais baixos na hierarquia de controle
            • Vantagens
              • Casos de teste mais fácil de projetar
                • Ausência de stubs
            • Desvantagens
              • O programa não existe como entidade até que a última unidade seja integrada
              • Necessidade de criar drivers
                • Em teoria, mais fácil que stubs
    • Vantagens
      • Descobre erros relacionados a comunicação entre as unidades
      • Criar testes para uma integração específica é mais fácil do que para todo o sistema
    • Desvantagens
      • Quanto maior a granularidade da integração, mais difícil de implementar
  5. Teste de Sistema

    • Testa o sistema como um todo para verificar se ele atende aos requisitos especificados
    • Testes executados em condições similares àquelas que um usuário utilizará no seu dia-a-dia
    • Um sistema divide-se em características
      • Funcionais
        • Foco na funcionalidade
      • Não-Funcionais
        • Características de qualidade
          • Usabilidade
          • Segurança
          • Confiabilidade
          • Desempenho
          • Entre outros
    • Vantagens
      • Mais realísticos
      • Captura a perspectiva do usuário
    • Desvantagens
      • Lentos
      • Difícil de escrever
      • Ocorrência de testes quebradiços (flaky)
    • Teste de Recuperação
      • Um sistema precisa ser tolerante a falhas
        • Falhas no processamento não devem causas a paralisação do sistema
      • Obriga o software a falhar de várias formas e verifica se a recuperação é executada corretamente
    • Teste de Segurança
      • Verifica se os mecanismos de proteção incorporados ao sistema vão de fato protegê-lo contra acesso indevido
        • Confidencialidade
        • Autenticidade
        • Integridade
    • Teste de Desempenho
      • Projetado para testar o desempenho em tempo de execução do software dentro do contexto de um sistema integrado
        • Carga
          • Examina cargas reais em uma variedade de níveis e em uma variedade de combinações
        • Stress
          • Força o aumento de carga até o ponto de ruptura
          • Servem para colocar os programas em situações anormais
    • Teste de Disponibilização
      • O software deve operar em uma variedade de plataformas e sob mais de um ambiente de sistema operacional
      • Exercita o software em cada ambiente no qual ele deve operar
  6. Pirâmide de Teste

  7. Estratégias para Re-Teste

    • Testar parte do sistema que já foi testado quando o sistema sofre alterações
    • Teste de Regressão
      • Estratégia importante para redução de "efeitos colaterais"
    • Teste de Fumaça
      • Testes superficiais feitos pelos devs para garantir que as funcionalidades principais funcionam corretamente
  8. Teste de Aceitação

    • Foco nos requisitos
      • Verifica se o sistema satisfaz os critérios de aceitação do cliente
      • Não possui foco de encontrar erros
      • Geralmente realizado por um grupo restrito de usuários finais do sistema
    • Alfa
      • Executado na instalação do desenvolvedor por um grupo restrito de usuários finais
    • Beta
      • Executado na instalação de um ou mais clientes pelo usuário final do software

Images and files in the map

  • Fases de Teste

Information

Description
Mind Map on Fases de Teste, created by Jose Emiliano Bertholdo Junior on 16/08/2021.
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?