Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FAURGS 2018
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
qq336524
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Nível
Superior
Cargo
Teste de Software
Sobre o uso de grafos de causa e efeito, assinale a alternativa correta.
AEsse tipo de grafo ajuda na definição de testes que exploram ambiguidades e incompletudes das especificações.
BÉ uma técnica útil para especificações grandes, pois um único grafo pode resumir de maneira simples toda a especificação.
CO grafo é construído após a partição do domínio de entrada, escolhendo-se, como causa, um valor por partição e, como efeito, a saída esperada.
DPor construção, o grafo de causa e efeito elimina todas as ambiguidades e incompletudes da especificação.
EOs nodos de um grafo de causa e efeito representam os estados do sistema e podem assumir qualquer valor.
Revelar gabarito e comentário▾
GabaritoA — Esse tipo de grafo ajuda na definição de testes que exploram ambiguidades e incompletudes das especificações.
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”.
Grafos de Causa e Efeito em Teste de Software
Gabarito: letra A. O grafo de causa e efeito é uma técnica de teste de caixa-preta que modela relações lógicas entre causas (entradas/condições) e efeitos (saídas), permitindo derivar casos de teste que exploram ambiguidades e incompletudes da especificação. É exatamente o que a alternativa A descreve.
As demais alternativas contêm equívocos conceituais:
Grafo de causa e efeito: Objetivo (Derivar casos de teste, Explorar ambiguidades e incompletudes); Características (Causas: condições lógicas (V/F), Efeitos: saídas esperadas, Relações lógicas entre causas e efeitos); Limitações (Complexo em especificações grandes, Não elimina automaticamente falhas, Intervenção humana necessária); Não é (Análise de valores limite, Particionamento de equivalência, Grafo de estados)
Alternativa B — ❌ Incorreta
Afirma que o grafo é útil para especificações grandes por resumi-las de forma simples. Na prática, grafos de causa e efeito tendem a se tornar complexos e de difícil compreensão em especificações extensas, sendo mais adequados para situações com número moderado de condições lógicas. A técnica não foi projetada para “resumir” toda a especificação.
Alternativa C — ❌ Incorreta
Descreve o processo de partição de domínio de entrada (escolher um valor por partição como causa). Isso corresponde à técnica de análise de valores limite ou particionamento de equivalência, não ao grafo de causa e efeito. Neste, as causas são condições lógicas (verdadeiro/falso) que afetam os resultados, não valores individuais de partições.
Alternativa D — ❌ Incorreta
Alega que o grafo elimina todas as ambiguidades e incompletudes. O grafo é uma ferramenta para identificar ambiguidades e incompletudes, não para eliminá-las automaticamente. Ele expõe falhas na especificação, mas a eliminação exige intervenção humana.
Alternativa E — ❌ Incorreta
Diz que os nós representam estados do sistema e podem assumir qualquer valor. Em um grafo de causa e efeito, os nós representam causas (entradas) e efeitos (saídas), e seus valores são tipicamente booleanos (verdadeiro/falso) ou discretos, não “qualquer valor”. A descrição confunde com grafos de estado (como máquinas de estado finito).
PEGA ESSA DICA!
Para identificar a alternativa correta, lembre-se do objetivo principal do grafo de causa e efeito: derivar casos de teste a partir de relações lógicas — não simplificar especificações grandes, não particionar domínios de entrada, não eliminar automaticamente falhas. A alternativa que destacar a descoberta de problemas na especificação é a certa.