— A cada formulário novo, precisaríamos escrever testes do zero? — perguntou uma atendente do serviço digital…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— A cada formulário novo, precisaríamos escrever testes do zero? — perguntou uma atendente do serviço digital de uma prefeitura. Para reduzir esse trabalho, os analistas passaram a registrar, em uma tabela estruturada, as regras de cada formulário: campos obrigatórios, formatos aceitos e relações entre respostas. Um software lê essa tabela e constrói, para cada serviço, um roteiro com instruções de teste, como preencher campos com dados válidos e inválidos e conferir as mensagens esperadas. A equipe recebe os roteiros gerados e os executa antes de publicar o formulário. Quando uma regra é alterada na tabela, o software produz um novo roteiro, sem que seja necessário reescrever seu funcionamento interno. Analise o funcionamento descrito e identifique a característica que evidencia a generalização de programas adotada pelo serviço.
- A) Tratar as regras do formulário como dados para gerar procedimentos de teste.
- B) Tratar as regras do formulário como mensagens prontas para exibir durante o preenchimento.
- C) Tratar as regras do formulário como instruções para enviar cadastros reais automaticamente.
- D) Tratar as regras do formulário como registros para arquivar versões sem criar procedimentos.
- E) Tratar as regras do formulário como valores para repetir um procedimento fixo em todos os serviços.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O enunciado descreve um software que lê uma tabela com as regras de cada formulário (campos obrigatórios, formatos aceitos, relações entre respostas) e, a partir dela, gera roteiros de teste. Ou seja, as regras são tratadas como dados de entrada, e não como parte fixa do código.
- A característica que evidencia a generalização é justamente essa separação: o programa é um procedimento geral que produz testes específicos para cada serviço, conforme os dados recebidos. Quando uma regra muda na tabela, o software gera um novo roteiro sem reescrever seu funcionamento interno, o que comprova que o mesmo procedimento serve a casos diferentes.
- Por que as outras estão erradas:
- B) As regras não são transformadas em mensagens prontas para exibir; o software gera instruções de teste, e as mensagens são apenas conferidas.
- C) O software não envia cadastros reais; ele gera roteiros de teste que a equipe executa manualmente antes da publicação.
- D) Não há arquivamento de versões como finalidade central; o ponto é a geração de procedimentos de teste.
- E) Não se trata de repetir um procedimento fixo; o procedimento é geral e varia conforme os dados de cada formulário, o que é o oposto de um procedimento fixo.
- Conclusão: o gabarito A está correto, pois a alternativa descreve exatamente a generalização pela separação entre dados (regras) e procedimento (gerador de testes).
💡 Dica: Identifique como a tabela estruturada permite reutilização e adaptação do software.
Alternativa por alternativa
O software recebe uma descrição estruturada e produz roteiros de teste, ou seja, procedimentos que orientam outra execução.
O aluno pode ter associado a tabela de regras à exibição de mensagens ao usuário durante o preenchimento, confundindo a conferência de mensagens esperadas com a sua produção.
O aluno pode ter entendido que o software age sobre cadastros reais, quando o texto diz que os roteiros são executados pela equipe antes da publicação, com dados de teste.
O aluno pode ter focado na ideia de registrar e guardar as regras em tabela estruturada, ignorando que o objetivo central é gerar procedimentos de teste a partir delas.
O aluno pode ter pensado que, por o software ser único para todos os serviços, ele repete um mesmo procedimento fixo, sem perceber que o procedimento se adapta aos dados de cada formulário.
Raio-X da questão
generalização de programas
diagnostico
conceitos básicos de programação · estrutura de dados
Estude conceitos de generalização e reutilização em programação.
Confundir generalização com simples reutilização sem adaptação ou não entender o papel da tabela estruturada.
pensamento_critico
cotidiano
Questões parecidas com resolução
- — A rua da ponte precisa aparecer antes das demais no mapa de vistoria — observou a agente da Defesa Civil após uma…
- — Quero enviar meu relato, mas não quero que meu telefone apareça — disse uma moradora durante o teste do aplicativo…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- Por que uma mudança na prioridade de ambulâncias pode produzir conflitos em cruzamentos diferentes? Para examinar esse…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
- — Se há lixeiras vazias, por que o caminhão não segue sempre pelas mesmas ruas? — perguntou Caio ao funcionário da…
🔎 Resolver outra questão
Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
