Please enable JavaScript.
Coggle requires JavaScript to display documents.
FASES DE TESTE DE SOFTWARE - Coggle Diagram
FASES DE TESTE DE SOFTWARE
Teste de Unidade
Características
Foca nas menores unidades desenvolvidas
Verifica o funcionamento dos elementos de forma isolada que podem ser testados separadamente
Conceitos
Driver
Fornece dados necessários para que a unidade seja executada
Costuma ser a classe de teste
Dublês de Teste
Simulam comportamento de uma unidade não integrada
Tipos
Dummy
Objeto passado como parâmetro mas que nunca é utilizado no teste.
Ex: instancia de um objeto obrigatório no construtor
Fake
Objetos simulados que tem uma implementação muito mais simples
Ex: um FakeDAO implementa o método de forma diferente do original
Stubs
Fornece respostas hard-coded antecipadamente.
Ex: classe Stub extende a classe e sobrescreve o funciomanento de um método
Spies
Observam o comportamento de uma dependência.
Mocks
Agem como stubs mas as interações também são pré-programadas
Vantagens
Rápido
Fácil de Controlar
Fácil de Implementar
Desvantagens
Não é real
Alguns tipos de erros não são reproduzidos
Teste de Integração
Características
Verifica se as unidades testadas individualmente se comunicam como desejado
Descobre possíveis erros associados a interface do sistema
Abordagens de Teste
Big Bang
Espera todas as unidades ficarem prontas
Atraso para começar os testes
Economiza tempo de teste
Unidades são testadas de uma vez
Difícil encontrar causa do erro
Incremental up-down
Utiliza Stubs para substituir unidades que ainda não estão prontas
Testa as principais funções primeiro
Localizar erros é mais fácil
Stubs são necessários
Atraso no teste de funcionalidades básicas
Incremental bottom-up
Utiliza drivers para substituir unidades não prontas
Mais fácil de projetar por não ter stubs
Programa não existe como entidade até integrar a ultima unidade
Vantagens
Descobre erros de comunicação entre unidades
Criar teste pra uma integração é mais fácil do que pro sistema como um todo
Desvantagens
Maior granularidade, mais difícil de implementar
Teste de Sistema
Características
Testa o sistema como um todo
Verifica se ele atende aos requisitos especificados
Condições similares ao do usuário final
Tipos de Teste
Teste de Recuperação
Sistema deve ser tolerante a falhas
Força a falha e verifica se a recuperação é executada corretamente
Teste de Segurança
Verifica mecanismos de proteção
Busca garantir confidencialidade, autenticidade e integralidade
Teste de Desempenho
Teste de carga examina diferentes combinações entre volume de dados, numero de usuários simultâneos...
Teste de stress força a carga até o ponto de quebra
Testa o desempenho em tempo de execução
Teste de Disponibilização
Deve funcionar em uma variedade de plataformas
Re-teste
Testar parte do sistema que já foi testado mas sofreu alteração
Teste de Regressão
Sempre que houver mudança, todos os testes anteriores serão reexecutados
Teste de fumaça
Feito pelos desenvolvedores para garantir o funcionamento das funcionalidades principais
Teste de aceitação
Teste utilizado pra validação com o cliente
Vantagens
Mais realístico
Captura perspectiva do usuário
Desvantagens
Lentos
Difíceis de escrever
Ocorre testes quebradiços