Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — VUNESP 2023
Engenharia de Software›Conceitos e Tipos de Testes de Software
Código
vu196903
Banca
VUNESP
Órgão
SP Regula
Ano
2023
Cargo
ARSP ( )
Dentre as diversas técnicas de teste de software, há uma em que a cada novo teste busca-se introduzir um conjunto de comandos que ainda não tenha sido exercitado ou testado nos testes anteriores.
Tal técnica de teste tem a denominação específica de
Avalores métricos.
Bclasses concretas.
Ccaminhos independentes.
Dmatricial.
Eengenharia reversa.
Revelar gabarito e comentário▾
GabaritoC — caminhos independentes.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Teste de software: caminhos independentes e a técnica de teste estrutural
Gabarito: letra C. A técnica descrita no enunciado — em que cada novo teste busca exercitar um conjunto de comandos ainda não testado — é o teste de caminhos independentes, uma técnica de teste estrutural (caixa-branca) baseada na complexidade ciclomática. Essa técnica garante que cada caminho lógico do código seja executado pelo menos uma vez, maximizando a cobertura de comandos.
O teste de software pode ser classificado de diversas formas, mas uma das distinções mais importantes é entre técnicas de caixa-preta (funcionais) e técnicas de caixa-branca (estruturais). As técnicas de caixa-preta focam nas entradas e saídas do sistema, sem considerar a estrutura interna do código. Já as técnicas de caixa-branca analisam a lógica interna, os fluxos de controle e os caminhos possíveis de execução. O teste de caminhos independentes pertence a esta segunda categoria.
A ideia central do teste de caminhos independentes é garantir que cada caminho lógico do programa seja executado pelo menos uma vez. Um caminho independente é aquele que introduz pelo menos uma nova condição ou um novo conjunto de comandos em relação aos caminhos já testados. Para determinar quantos caminhos independentes existem, utiliza-se a complexidade ciclomática, uma métrica que calcula o número mínimo de testes necessários para cobrir todos os caminhos. A complexidade ciclomática pode ser calculada pela fórmula , onde é o número de arestas e o número de nós do grafo de fluxo de controle.
Por exemplo, considere um programa com um grafo de fluxo que possui 17 arestas e 13 nós. A complexidade ciclomática seria . Isso significa que são necessários pelo menos 6 testes para percorrer todos os caminhos independentes. Essa métrica é fundamental para o teste de caminhos independentes, pois define o número mínimo de casos de teste a serem criados.
A banca explora a confusão entre os diferentes tipos de teste e técnicas. É comum que o candidato confunda o teste de caminhos independentes com outras técnicas, como o teste de condição, o teste de fluxo de dados ou o particionamento de equivalência. A chave para acertar é identificar a palavra-chave do enunciado: "conjunto de comandos que ainda não tenha sido exercitado" — isso remete diretamente à cobertura de caminhos, característica do teste estrutural.
Guarde a distinção entre as técnicas de caixa-preta e caixa-branca: é exatamente nessa fronteira que as alternativas se dividem. As técnicas de caixa-preta (como particionamento de equivalência, análise de valor limite e matriz ortogonal) não consideram a estrutura interna; as técnicas de caixa-branca (como teste de condição, teste de fluxo de dados e teste de caminhos independentes) focam na lógica interna do código.
Teste de software
1Caixa-preta (funcional)
Particionamento de equivalência
Análise de valor limite
Matriz ortogonal
2Caixa-branca (estrutural)
Teste de condição
Teste de fluxo de dados
Caminhos independentes
Cada teste cobre novo caminho
Baseado na complexidade ciclomática
V(G) = E − N + 2
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Valores métricos não é uma técnica de teste de software. O termo "métrico" refere-se a medidas quantitativas usadas para avaliar aspectos do software, como complexidade, tamanho ou qualidade. A complexidade ciclomática é uma métrica, mas não é uma técnica de teste em si. A alternativa confunde o conceito de métrica com o de técnica de teste.
Alternativa B — ❌ Incorreta
Classes concretas não é uma técnica de teste de software. O termo "classe" é um conceito da programação orientada a objetos, e "classes concretas" refere-se a classes que podem ser instanciadas. Não há relação com a técnica de teste descrita no enunciado. A alternativa tenta confundir o candidato com um termo da área de programação.
Alternativa C — ✅ Correta ⟵ GABARITO
O teste de caminhos independentes é exatamente a técnica descrita no enunciado. Cada novo teste busca exercitar um caminho lógico que ainda não foi percorrido, garantindo que todos os comandos do código sejam executados pelo menos uma vez. Essa técnica é baseada na complexidade ciclomática, que determina o número mínimo de caminhos independentes e, consequentemente, o número mínimo de testes necessários.
Alternativa D — ❌ Incorreta
Matricial não é uma técnica de teste de software. O termo pode se referir a matrizes ortogonais, que são usadas em uma técnica de teste de caixa-preta chamada "teste de matriz ortogonal", mas a alternativa está incompleta e não corresponde à técnica descrita. O teste de matriz ortogonal é uma técnica de caixa-preta que usa matrizes para selecionar combinações de entradas, mas não tem relação com a cobertura de caminhos.
Alternativa E — ❌ Incorreta
Engenharia reversa é o processo de analisar um sistema para identificar seus componentes e suas inter-relações, geralmente para entender ou modificar o software. Não é uma técnica de teste de software. A alternativa confunde o processo de engenharia reversa com uma técnica de teste, que tem objetivos diferentes.
NÃO CAIA NESSA!
A banca explora a confusão entre técnicas de caixa-preta e caixa-branca. O candidato pode ser tentado a escolher "matricial" (que lembra matriz ortogonal, uma técnica de caixa-preta) ou "engenharia reversa" (que é um processo de análise, não de teste). A palavra-chave "conjunto de comandos ainda não exercitado" aponta diretamente para a cobertura de caminhos, uma técnica estrutural.
PEGA ESSA DICA!
Para diferenciar as técnicas na prova, lembre-se: caixa-preta = foco em entradas e saídas (particionamento de equivalência, análise de valor limite, matriz ortogonal); caixa-branca = foco na estrutura interna (teste de condição, teste de fluxo de dados, teste de caminhos independentes). Se o enunciado mencionar "caminhos", "fluxo" ou "comandos", é caixa-branca.