Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fases de teste, Pirâmide de teste
mais complexo mais próximo da realidade…
Fases de teste
Teste de Sistema
- Testa o sistema como um todo para verificar se ele atende aos requisitos de especificados
- Testes executados em condições similares àqueles que um usuário utilizará no seu dia-a-dia
Um sistema dividi-se em características
- Funcionais
Foco na funcionalidade
- Não-funcionais
- Características de qualidade
-
-
-
-
Teste de recuperação
- Um sistema precisa ser tolerante a falhas
- falhas no processamento não devem causar a paralisação do sistema
- Testes de recuperação
- 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
Teste de desempenho
- Projetado para testar o desempenho de um 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
-
Vantagens:
- mais realísticos
- Captura a perspectiva do usuário
Desvantagens:
- Lentos
- Difícil de escrever
- Ocorrência de testes quebradiços
Teste de integração
- Objetivo é verificar se as unidades testadas individualmente se comunicam como desejado
- Por que testar a integração entre unidades se as mesmas, em isolado, funcionam corretamente ?
- Descobrir se possíveis erros associados à interface do sistema
- dados podem se perder na interface
- Unidade pode ter efeito inesperado sobre outra
-
-
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
Teste de unidade
- Foca nas menores unidades de software desenvolvidas
- Verifica o funcionamento de forma isolada dos elementos de software que podem ser testados separadamente
Drivers
Fornece os dados necessários para que essa unidade seja executada e posteriormente apresenta os resultados ao testador
Unidade sob teste
Dublê de teste
Dummy
Passados como parâmetros mas nunca utilizados
- apenas para preencher lista de parâmetros
Fake
Possuem alguma implementação mas de maneira muito mais simples
- Inadequados para produção
Strubs
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/configurado
Spies
Observam 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
-
Teste de aceitação:
Foco nos requisitos
- O sistema satisfaz ou não seus critérios de aceitação definidos pelo cliente?
- Não é encontrar erros
Geralmente realizado por um grupo restrito de usuários finais do sistemaDois tipos
-
-
Estratégias pra re-teste:
Testar parte do sistema que já foi testado quando o sistema sofre alterações
-
Teste de fumaça:
Testes superficiais feitos pelos desenvolvedores para garantir que as funcionalidades principais funcionem corretamente
- Aplicado após a geração de um build
- Evita que sejam desperdiçados recursos de teste com um build não estável
Pirâmide de teste
mais complexo mais próximo da realidade /\
Teste de sistema
teste de integração
Teste de unidade
-
-