Skip to content

Latest commit

 

History

History
64 lines (57 loc) · 9.93 KB

File metadata and controls

64 lines (57 loc) · 9.93 KB

Testando

Mapa de Resultados para Técnicas de Teste

A tabela abaixo mapeia resultados -- os resultados que você pode querer alcançar em seus esforços de validação -- para uma ou mais técnicas que podem ser usadas para alcançar esse resultado.

Quando estou trabalhando em... Quero obter este resultado... ...então devo considerar
Desenvolvimento Comprovar compatibilidade retroativa com chamadores e clientes existentes Shadow testing
Desenvolvimento Garantir que a lógica do programa esteja correta para uma variedade de entradas esperadas, principais, de borda e inesperadas Unit testing; Testes funcionais; Consumer-driven Contract Testing; Integration testing
Desenvolvimento Prevenir regressões na correção lógica; quanto mais cedo, melhor Unit testing; Testes funcionais; Consumer-driven Contract Testing; Integration testing; Anéis (cada um desses são escopos de cobertura em expansão)
Desenvolvimento Validar rapidamente a correção principal de um ponto de funcionalidade (por exemplo, uma única API), manualmente Testes de fumaça manuais Ferramentas: postman, powershell, curl
Desenvolvimento Validar interações entre componentes isoladamente, garantindo que componentes consumidores e provedores sejam compatíveis e estejam de acordo com um entendimento compartilhado documentado em um contrato Consumer-driven Contract Testing
Desenvolvimento; Integration testing Validar que múltiplos componentes funcionem juntos em várias interfaces em uma cadeia de chamadas, incluindo saltos de rede Integration testing; Testes de ponta a ponta (End-to-End testing); Testes de ponta a ponta segmentados (End-to-End testing)
Desenvolvimento Comprovar recuperação de desastres – recuperação de corrupção de dados Simulações de DR
Desenvolvimento Encontrar vulnerabilidades na autenticação ou autorização do serviço Cenário (segurança)
Desenvolvimento Comprovar interpretação correta de RBAC e reivindicações no código de autorização Cenário (segurança)
Desenvolvimento Documentar e/ou impor uso válido da API Unit testing; Testes funcionais; Consumer-driven Contract Testing
Desenvolvimento Comprovar a correção da implementação antes de uma dependência ou na ausência de uma dependência Unit testing (com mocks); Unit testing (com emuladores); Consumer-driven Contract Testing
Desenvolvimento Garantir que a interface do usuário seja acessível Accessibility
Desenvolvimento Garantir que os usuários possam operar a interface UI testing (automated) (observação de usabilidade humana)
Desenvolvimento Prevenir regressão na experiência do usuário Automação de UI; End-to-End testing
Desenvolvimento Detectar e prevenir fenômenos de 'vizinho barulhento' Load testing
Desenvolvimento Detectar quedas de disponibilidade Synthetic Transaction testing; Sondas externas
Desenvolvimento Prevenir regressão em casos de uso / fluxos de trabalho de cenário 'composto' (por exemplo, um sistema de comércio eletrônico pode ter muitas APIs que, usadas juntas em uma sequência, executam um cenário de "compra e venda") End-to-End testing; Cenário
Desenvolvimento; Operações Prevenir regressões em métricas de desempenho em tempo de execução, por exemplo, latência / custo / consumo de recursos; quanto mais cedo, melhor Anéis; Synthetic Transaction testing / Transação; Cães de guarda de reversão
Desenvolvimento; Otimização Comparar qualquer métrica dada entre 2 implementações candidatas ou variações na funcionalidade Testes A/B; Flighting
Desenvolvimento; Staging Comprovar que o sistema de produção de capacidade provisionada atende aos objetivos de confiabilidade, disponibilidade, consumo de recursos, desempenho Load testing (stress); Pico; Soak; Performance testing
Desenvolvimento; Staging Entender as principais características de desempenho da experiência do usuário – latência, conversação, resiliência a erros de rede Carga; Performance testing; Cenário (particionamento de rede)
Desenvolvimento; Staging; Operação Descobrir pontos de fusão (as cargas nas quais ocorre falha ou consumo máximo tolerável de recursos) para cada componente individual na pilha Squeeze; Load testing (stress)
Desenvolvimento; Staging; Operação Descobrir o ponto de fusão geral do sistema (as cargas nas quais o sistema de ponta a ponta falha) e qual componente é o elo mais fraco em toda a pilha Squeeze; Load testing (stress)
Desenvolvimento; Staging; Operação Medir limites de capacidade para provisionamento dado para prever ou satisfazer necessidades futuras de provisionamento Squeeze; Load testing (stress)
Desenvolvimento; Staging; Operação Criar / exercitar manual de failover Simulações de Failover
Desenvolvimento; Staging; Operação Comprovar recuperação de desastres – perda de data center (o cenário do meteoro); medir MTTR Simulações de DR
Desenvolvimento; Staging; Operação Entender se os painéis de observabilidade estão corretos e se a telemetria está completa e fluindo Validação de Rastreamento; Load testing (stress); Cenário; End-to-End testing
Desenvolvimento; Staging; Operação Medir impacto da sazonalidade do tráfego Load testing
Desenvolvimento; Staging; Operação Comprovar que transações e alertas notificam / tomam ações corretamente Synthetic Transaction testing (casos negativos); Load testing
Desenvolvimento; Staging; Operação; Otimização Entender a curva de escalabilidade, ou seja, como o sistema consome recursos com carga Load testing (stress); Performance testing
Operação; Otimização Descobrir o comportamento do sistema ao longo do tempo Soak
Otimização Encontrar oportunidades de economia de custos Squeeze
Staging; Operação Medir impacto de failover / aumento de escala (reparticionamento, aumento de provisionamento) / redução de escala Simulações de Failover; Simulações de Escala
Staging; Operação Criar/Exercitar manual para aumento/redução de provisionamento Simulações de Escala
Staging; Operação Medir comportamento sob mudanças rápidas no tráfego Spike
Staging; Otimização Descobrir métricas de custo por unidade de volume de carga (quais fatores influenciam o custo em quais pontos de carga, por exemplo, custo por milhão de usuários simultâneos) Carga (stress)
Desenvolvimento; Operação Descobrir pontos onde um sistema não é resiliente a falhas imprevisíveis, mas inevitáveis (queda de rede, falha de hardware, manutenção de host de VM, falhas de rack/switch, atos aleatórios do Divino Malévolo, flares solares, tubarões que comem relés de cabos submarinos, radiação cósmica, quedas de energia, operadores de retroescavadeiras renegados, lobos mastigando caixas de junção, ...) Caos
Desenvolvimento Realizar testes unitários em conectores personalizados da plataforma Power Custom Connector Testing

Seções dentro de Testes

Testes Específicos de Tecnologia