← Technical Test Analyst: código, carga e fiabilidade
03 / 8 · 40 MIN

Análise estática e dinâmica

Segue fluxo, recursos e observações de execução.

Conceito e mecanismo

Análise estática investiga o programa sem executar os seus percursos. Pode revelar uso de uma variável antes de receber valor, escrita substituída antes de qualquer leitura ou um ramo aparentemente inacessível. Esses sinais precisam de contexto: uma segunda atribuição pode ser deliberada e um caminho reportado pode ser inviável segundo uma pré-condição que a ferramenta desconhece. Regista a justificação de cada supressão e prefere tornar o contrato explícito a desligar uma classe inteira de alertas. A complexidade ciclomática é um indicador estrutural; num grafo conectado com entrada e saída únicas, E menos N mais dois permite calculá-la. Não é uma contagem de todos os percursos possíveis, sobretudo quando existem ciclos.

Aplicação guiada

Análise dinâmica observa uma execução concreta e pode expor crescimento de recursos, acessos inválidos ou pontos de consumo de tempo. Num processo que cresce de memória durante muitas horas, compara alocações, libertações, cache e carga antes de concluir que há fuga. Reiniciar pode reduzir o sintoma sem corrigir a causa. Em código nativo, AddressSanitizer instrumenta a compilação e usa uma biblioteca de execução para detetar classes de erros de memória nos percursos exercitados. Essa instrumentação tem custo e não deve ser confundida com uma medição de desempenho do binário normal. Conserva a versão, a configuração e o percurso que reproduz o problema. A combinação de análise estática e dinâmica produz evidência complementar, não uma garantia de ausência de defeitos.

NA PRÁTICA

Num grafo conectado com E=9 e N=7, a complexidade é 4.

Armadilhas comuns

Alerta como defeito certo; crescimento como fuga provada; binário instrumentado como benchmark normal.

Tópicos relacionados: Risco técnico e evidência operacional · Cobertura lógica white-box · Desempenho e perfil de carga

Leva esta ideia contigo

Investiga sinais com hipóteses e contexto reproduzível.

Criar conta

Referência: LLVM Clang static analysis FAQ · CTAL-TTA v4.0 (2021)

ISTQB® é uma marca registada de International Software Testing Qualifications Board. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por ISTQB. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.