Mind map
Fases de Teste
Map content
Fases de Teste
A atividade de teste é complexa e é necessário reduzir a complexidade
Utiliza-se o conceito de dividir para conquistar visando reduzir a complexidade
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
- Passados como parâmetro mas nunca utilizados
- Fake
- Possuem alguma implementação mas de maneira muito mais simples
- Inadequados para produção
- Possuem alguma implementação mas de maneira muito mais simples
- 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
- Fornecem respostas "hard-coded" para chamadas realizadas durante o teste
- Sples
- Observa o comportamento de uma dependência e registra informações sobre suas interações
- Na verdade, não simulam um comportamento
- Observa o comportamento de uma dependência e registra informações sobre suas interações
- 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
- Agem como stubs mas os tipos de interações que devem ocorrer também são pré-programados
- Drivers
- 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
- Foco nas menores unidades de software desenvolvidas
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
- Vantagens
- 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
- Casos de teste mais fácil de projetar
- 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
- Integração Top-Down (Descendente)
- As unidades são construídas e testadas em pequenos incrementos
- "Big Bang"
- 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 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
- Características de qualidade
- Funcionais
- 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
- Um sistema precisa ser tolerante a falhas
- 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
- 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 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
- Carga
- Projetado para testar o desempenho em tempo de execução do software dentro do contexto de um sistema integrado
- 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
Pirâmide de Teste
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
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
- Foco nos requisitos
Images and files in the map
Information
- Description
- Mind Map on Fases de Teste, created by Jose Emiliano Bertholdo Junior on 16/08/2021.
- Created by
- Jose Emiliano Bertholdo Junior
- Views
- 0
- Rating