A análise estática do código é um tipo de teste ou exame que pode ser realizado sem executar o código.
Permite:
Análise de Fluxo de Controle
Análise de fluxo de controle fornece informação sobre pontos de decisão lógica nos sistemas desoftware e a complexidade de sua estrutura.
Análise de Fluxo de Dados
Análise de fluxo de dados é uma técnica de teste estruturada que testa os caminhos entre onde avariável é estabelecida até onde ela é subsequentemente usada. Esses caminhos são denominadosde pares definição-uso (pares du) ou estabelecimento-uso. Nesse método, os conjuntos de teste sãogerados para alcançar 100% de cobertura (quando possível) para cada um desses pares.Essa técnica, apesar de denominada análise de fluxo de dados, também considera o fluxo de controledo software sob teste já que ele segue o estabelecimento e o uso de cada variável, e pode ter queatravessar o fluxo de controle do software.
Conformidade com Padrões de Codificação
Durante a análise estática, a conformidade aos padrões de codificação também podem ser avaliadas.Os padrões de codificação cobrem tanto aspectos arquiteturais quanto o uso (ou proibição do uso) dealgumas estruturas de programação.A conformidade com os padrões de codificação permite que o software seja mais passível demanutenção e teste. Requisitos específicos da linguagem podem também ser verificados usandoteste estático.
Geração de Métricas de Código
Métricas de código podem ser geradas durante a análise estática, a qual contribuirá para um mais alto nível de capacidade de manutenção ou confiabilidade do código. Exemplos de tais métricas são:
• Complexidade ciclomática
• Tamanho
• Frequência de comentários
• Número de níveis aninhados (grau de dependência entre seus componentes.)
• Número de chamadas de funções
A = MELHORO O INTERNO SEM ALTERAR O EXTERNO
C = A estratégia de “integração contínua” ajuda a evitar problemas de compatibilidade e de interface, além de criar um ambiente “teste da fumaça'' que ajuda a revelar erros precocemente.
D = Processo de analisar um programa na tentativa de criar uma representação dele em um nível mais alto de abstração do que o código-fonte. A engenharia reversa é um processo de recuperação do projeto.
E = Cada código é testado enquanto está sendo escrito; assim, os defeitos são descobertos no início do processo de desenvolvimento
GABARITO B
PRESSMAN