Questões de Concurso sobre Test-Driven Development (TDD)

 
 
Disciplina 1
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
159 questões encontradas
Questões por página
20
Mais recentes
 

Testes unitários (ou, testes de unidades) são scripts que verificam o funcionamento de unidades individuais de código.


Os testes unitários representam


A

scripts manuais que testam unidades individuais de código fonte, como funções ou métodos, de forma integrada com o restante do sistema.


B

uma forma de se testar a combinação das unidades em conjunto.


C

uma dificuldade adicional para encontrar problemas o quanto antes, atrasando a mudança da unidade introduzem complexidade na integração e para documentação.


D

testes de software que procuram aferir a corretude do código, em sua menor fração.


E

um processo de execução automatizado, porém, lentificado

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Desenvolvimento de Sistemas . - 2025

A integração do TDD ao fluxo de trabalho do GIT, por meio da implementação de hooks de pré-commit e pré-push, em associação com práticas de integração contínua, propicia uma abordagem proativa para a manutenção da integridade do código em ambientes de desenvolvimento distribuído com múltiplos branches.


C

Certo


E

Errado

Considere um desenvolvedor que adota a prática de Desenvolvimento Dirigido por Testes (TDD). Inicialmente, ele escreve um teste de unidade que falha, baseando-se unicamente na especificação de uma nova funcionalidade. Após implementar o código mínimo para que o teste passe, o desenvolvedor analisa a estrutura interna e a lógica do código recém-criado para se inspirar e decidir qual será o próximo teste a ser escrito, buscando cobrir caminhos lógicos específicos. Essa abordagem de teste, considerando o ciclo TDD descrito, é melhor caracterizada como:


A

Um processo que inicia como caixa-preta, guiado pela especificação, e evolui para incorporar aspectos de caixa-branca ao usar a estrutura do código para guiar novos testes.


B

Uma aplicação exclusiva de teste de caixa-branca, visto que a análise da estrutura interna do código é o principal fator para a elaboração de todos os testes no ciclo de desenvolvimento.


C

Um método predominantemente de teste de caixa-preta, pois a definição original do que será testado se baseia nos requisitos funcionais, sendo a implementação um fator secundário.


D

Um tipo de teste de unidade focado no comportamento, que supera as classificações de caixa-preta e caixa-branca, pois o objetivo é apenas a verificação funcional externa.


E

Uma forma de teste de regressão estrutural, pois a análise do código implementado visa prioritariamente validar se as alterações recentes afetaram a estrutura de componentes existentes.

O desenvolvimento de software de alta qualidade exige a adoção de boas práticas consolidadas ao longo do tempo, tanto em abordagens ágeis quanto em processos formais. Com base nessas práticas, assinale a alternativa correta.


A

As boas práticas de programação recomendadas incluem o uso de variáveis globais compartilhadas para facilitar a comunicação entre componentes e reduzir a complexidade do código.


B

No desenvolvimento ágil, a responsabilidade pela qualidade do software é concentrada no gerente de projeto, que deve aprovar todas as alterações antes do commit no repositório.


C

Uma prática importante para evitar falhas de segurança é garantir que os vetores de dados sejam acessados diretamente, sem verificações de limites, para preservar o desempenho do sistema.


D

O uso de testes automatizados e refatoração contínua são exemplos de práticas adotadas para manter a simplicidade e a qualidade do código em metodologias ágeis.


E

Os métodos formais de inspeção são evitados em grandes projetos de software devido ao seu alto custo, sendo recomendada sua substituição por testes automatizados simples.

NoTDD, primeiro escreve-se o código funcional, depois os testes automatizados e, por fim, o refactoring, o que garante maior produtividade no início do projeto.


C

Certo


E

Errado

O framework MDA é um modelo para análise e design de jogos, que divide a experiência de jogo em três componentes. Considerando o modelo MDA, o componente Estéticas é definido como


A

o comportamento dos jogadores em comunidade.


B

o tempo de duração da campanha do jogo.


C

as regras, sistemas e ações principais que compõem o jogo.


D

o tipo de emoção e experiência que o jogo proporciona.


E

o comportamento do jogo à medida que os jogadores interagem com as mecânicas.

Considere que uma equipe de desenvolvimento de software utiliza um quadro Kanban com as colunas “A Fazer”, “Em Andamento” e “Concluído”. O time definiu um limite de “Trabalho em Andamento” (WIP) de três tarefas para a coluna “Em Andamento”. Ao iniciar o dia, o quadro já possui três tarefas nessa coluna. Um dos membros da equipe finaliza uma tarefa e a move para a coluna “Concluído”. Imediatamente depois, ele identifica duas tarefas na coluna “A Fazer”: uma com baixa prioridade e outra com alta prioridade, que depende da conclusão de uma tarefa ainda em andamento.


Com base nos princípios do Kanban, qual ação o membro da equipe deve adotar?


A

Puxar a tarefa de baixa prioridade para a coluna “Em Andamento”, respeitando o limite de WIP.


B

Puxar a tarefa de alta prioridade para a coluna “Em Andamento”, ignorando a dependência, para maximizar a produtividade.


C

Esperar que outro membro decida qual tarefa puxar, pois há tarefas com diferentes prioridades e dependências.


D

Puxar a tarefa de baixa prioridade e também a tarefa de alta prioridade para a coluna “Em Andamento”, mesmo que isso ultrapasse o limite de WIP.

Uma startup está desenvolvendo um aplicativo de mobilidade urbana que deve calcular rotas otimizadas para usuários em tempo real. O time de desenvolvimento adota a prática de Desenvolvimento Orientado a Testes (TDD) para garantir maior qualidade e reduzir retrabalho. Durante a implementação de uma nova funcionalidade de cálculo de tarifa dinâmica, o desenvolvedor cria inicialmente um teste automatizado que descreve o comportamento esperado, depois implementa o código mínimo necessário para que o teste passe e, em seguida, realiza refatorações para melhorar a estrutura do código sem alterar sua funcionalidade. Com base nesse cenário e nos princípios do TDD, assinale a alternativa que descreve corretamente a sequência de passos fundamentais dessa prática.


A

Refatoração → Escrita do teste → Implementação mínima.


B

Implementação mínima → Escrita do teste → Refatoração.


C

Implementação mínima → Refatoração → Escrita do teste.


D

Escrita do teste → Refatoração → Implementação mínima.


E

Escrita do teste → Implementação mínima → Refatoração.

A respeito das práticas de desenvolvimento orientado a testes, do inglês Test-Driven Development (TDD), assinale a alternativa INCORRETA.


A

O TDD contribui para maior clareza dos requisitos, pois obriga o desenvolvedor a entender exatamente o que a funcionalidade deve fazer antes de implementá-la.


B

A prática de escrever testes antes do código pode eliminar a necessidade de testes de sistema e de testes de aceitação em processos ágeis.


C

Um dos principais benefícios do TDD é a criação de uma suíte de testes que pode ser utilizada para regressão automatizada.


D

O TDD incentiva maior cobertura de código e tende a revelar defeitos mais cedo no processo de desenvolvimento.


E

O TDD pode ser ineficaz quando utilizado com sistemas legados ou multithreaded, devido à dificuldade de controle dos testes nesses contextos.

Em equipes que praticam metodologias ágeis (Scrum/XP), a abordagem de testes é integrada e contínua.


Em contraste com os modelos tradicionais, onde os testes eram uma fase separada no final do ciclo, a cultura ágil exige que o teste seja


A

exclusivamente automatizado e sem envolvimento do usuário final.


B

realizado apenas pelo Time de QA, que atua como gatekeeper de qualidade.


C

uma atividade contínua e colaborativa, responsabilidade de toda a equipe.


D

focado primariamente em Testes de Performance em detrimento de Testes Funcionais.


E

totalmente documentado em um Plano de Teste formal antes da codificação.

Ano: 2025
Prova: FCC - SEFAZ PI - Auditor Fiscal da Fazenda Estadual - Área: Tecnologia da Informação . - 2025

Uma Secretaria da Fazenda está passando por instabilidades em um novo módulo do sistema. A equipe de Garantia da Qualidade (QA) está sendo chamada para repetir rapidamente os testes funcionais sempre que o sistema é corrigido, devido a atualizações constantes. Nesse cenário de manutenção contínua e verificação rápida, o tipo mais adequado a ser utilizado é o Teste


A

de Estresse.


B

de Unidade.


C

de Regressão.


D

de Usabilidade.


E

Beta.

TDD é uma das práticas de programação propostas dentro do escopo das metodologias ágeis.


Com relação aos objetivos propostos pelo TDD, analise os itens a seguir.


I. Favorecer a escrita de códigos com alta testabilidade. Essa característica é uma consequência natural da manutenção do fluxo de trabalho proposta pela metodologia XP. Por exemplo, como o desenvolvedor sabe que ele terá que escrever a classe C e depois o teste T, é natural que desde o início ele planeje C de forma a facilitar a escrita de T.

II. Prática relacionada não apenas com testes, mas também com a melhoria do design de um sistema. Isso acontece porque o desenvolvedor, coloca-se na posição de um usuário da classe C para escrever um teste T

III. Evitar que os desenvolvedores esqueçam de escrever testes. TDD promove testes à primeira atividade de qualquer tarefa de programação, seja ela corrigir um bug ou implementar o código de uma nova funcionalidade.


Está correto o que se afirma em:


A

I, apenas.


B

III, apenas.


C

I e II, apenas.


D

II e III, apenas.


E

I, II e III.

A pirâmide para teste de aplicações web prevê um fluxo de processo da direita para a esquerda e adota uma estratégia bottom-up, em que os elementos de infraestrutura são testados antes dos componentes visíveis ao usuário.


C

Certo


E

Errado

No desenvolvimento de software, a prática de TDD (Test-Driven Development) tem como característica principal um fluxo estruturado de criação de código baseado em testes. Se uma equipe adotar os princípios do TDD, então ela deverá iniciar o desenvolvimento de um novo recurso, por meio


A

da execução manual de testes exploratórios antes da implementação do código.


B

da criação de um conjunto de testes automatizados antes da implementação do código, para garantir que ele atenda aos requisitos desejados.


C

da escrita do código-fonte e, após sua implementação, da criação dos testes para verificar sua funcionalidade.


D

da definição de requisitos detalhados e de um planejamento extensivo antes da escrita dos testes.


E

da validação do código mediante revisões de pares antes da criação de qualquer teste automatizado.

A equipe de desenvolvimento de sistemas da Câmara Municipal de Mariana recebeu a solicitação de implementação de um projeto de utilização interna, para facilitar a execução de serviços durante as sessões públicas. Ao analisar a demanda, o analista de sistema responsável verificou os fluxos, estimou o tempo e entrou em acordo com o gestor do projeto para a alocação da equipe necessária para todo o fluxo de desenvolvimento. Devido à importância do projeto e à frequente orientação do time para um desenvolvimento escalável de ferramentas nos novos projetos, foi decidido que deverão ser utilizadas técnicas de desenvolvimento dirigido por testes (TDD). Sobre tal prática de programação, assinale a afirmativa INCORRETA.


A

Favorece a escrita de códigos com alta testabilidade.


B

Geralmente a primeira etapa é escrever um teste que falha.


C

É uma prática de programação obrigatória ao utilizar a metodologia Scrum.


D

Ajuda a evitar que os desenvolvedores esqueçam de escrever testes, pois tem como estratégia a criação do teste antes da própria tarefa de programação.

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Desenvolvimento de Sistemas . - 2025

Um dos princípios do DDD (domain-driven design) é que o software possa ser construído mesmo sem o entendimento do domínio do cliente.


C

Certo


E

Errado

Uma organização que pretenda inovar deve incentivar a experimentação, sem limites ou regras, pois a liberdade e independência das ações são o que transforma instituições em inovadoras.


C

Certo


E

Errado

Um item de backlog deve ser uma história de usuário completa, não podendo ser representado por tarefas técnicas tal como, por exemplo, refatorar o código da interface com o usuário.


C

Certo


E

Errado

O Test-Driven Development (TDD) é uma prática de Extreme Programming (XP) que integra o desenvolvimento com a qualidade de software, seguindo o ciclo rigoroso de Red, Green, Refactor.


Assinale a opção que indica a principal atividade realizada na fase Refactor do TDD e o seu objetivo primário em relação à qualidade do código.


A

Escrever o teste de unidade que falha; e garantir que a cobertura de testes seja 100% confiável.


B

Escrever o código de produção mínimo para o teste passar e provar que o teste é válido no domínio aplicado e no problema tratado.


C

Criar um novo feature branch no Git e isolar as alterações de forma segura e atômica.


D

Reestruturar o código de produção e o código de teste sem alterar seu comportamento funcional e melhorar a legibilidade, reduzir a duplicação e otimizar o design interno.


E

Iniciar a integração contínua e o deployment automático e entregar valor rapidamente ao cliente.

   
Gerar simulado