— 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
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
