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
 

A equipe do projeto de modernização do workflow legislativo adotou o Extreme Programming (XP). Uma das práticas centrais do XP é o Desenvolvimento Orientado a Testes (TDD), que exige que os testes unitários sejam escritos antes do código de produção.


A prática essencial do XP que está diretamente ligada e potencializada pela adoção contínua do TDD, visando manter a qualidade e a simplicidade da base de código ao longo das iterações é o


A

On-Site Customer.


B

Sustainable Pace.


C

Pair Programming.


D

Refactoring.


E

Metaphor.

De acordo com as abordagens de desenvolvimento dirigido por testes (TDD, do inglês test-driven development), é correto afirmar:


A

o TDD reduz os custos com teste de regressão, pois o código é testado à medida que é escrito, fazendo com que os defeitos sejam descobertos precocemente no processo de desenvolvimento.


B

se o TDD é empregado, não é necessário um processo de teste de sistema para validá-lo, visto que ele cobre os requisitos do sistema.


C

o desenvolvimento dirigido por testes é ideal para a manutenção de sistemas legados e com muito código, pois os testes podem ser facilmente escritos de forma retroativa.


D

o desenvolvimento dirigido por testes foi introduzido como parte do método de desenvolvimento ágil Programação Extrema (XP) e não pode ser utilizado em outros métodos de desenvolvimento ágil.


E

o TDD, o código é escrito antes que o teste seja criado, e o teste serve para garantir que o código funcione como esperado.

Em relação à abordagem de Desenvolvimento Orientado a Testes (TDD), analise as afirmativas a seguir e assinale com V as verdadeiras e com F as falsas.


( ) A falha inicial do teste é um passo fundamental da metodologia TDD, conhecida como “Red”, pois confirma que o comportamento esperado ainda não foi implementado.

( ) A refatoração do código deve ser realizada logo após a escrita do teste, para garantir que o código seja de alta qualidade antes mesmo de ser implementado.

( ) A fase de “Green” do ciclo TDD consiste em escrever o código de produção mínimo para que o teste previamente escrito e falho seja aprovado.


Assinale a sequência correta.


A

V F V


B

F V F


C

F F V


D

V V F

O TDD contribui para a melhoria do design do código, pois estimula a criação de unidades menores, coesas e de responsabilidade única, o que facilitará a manutenção.


C

Certo


E

Errado

Durante o desenvolvimento de um sistema educacional para uma escola da rede estadual, a equipe ágil identificou a necessidade de melhorar a comunicação interna e otimizar o tempo gasto em tarefas recorrentes. Após a entrega de mais uma Sprint, todos os membros se reuniram para discutir o que funcionou bem, o que poderia ser aperfeiçoado e quais ações poderiam ser implementadas para melhorar o processo nas próximas Sprints. Essa reunião, focada na melhoria contínua da equipe e do processo, é denominada


A

Sprint Planning.


B

Daily Scrum.


C

Sprint Review.


D

Product Backlog Refinement.


E

Sprint Retrospective.

O Test-Driven Development (TDD) é uma metodologia de desenvolvimento de software que prioriza a escrita de testes automatizados antes da implementação do código funcional. Essa abordagem visa garantir que o software atenda aos requisitos desde o início, promovendo maior qualidade, menor ocorrência de erros e facilidade na manutenção do código. Nesse sentido, assinale a alternativa que apresenta duas etapas do ciclo TDD.


A

Blue e Yellow.


B

Green e Blue.


C

Orange e Purple.


D

Red e Green.


E

Yellow e Gray.

Ano: 2024
Prova: PROGEPE - UFRPE - Técnico de Tecnologia da Informação - Área: Sistemas - 2024

No contexto de Test-Driven Development (TDD), assinale a alternativa correta sobre o conceito de baby steps (passos de bebê).


A

O uso de valores pequenos como parâmetros das funções nos testes de unidade.


B

O crescimento gradual dos valores dos parâmetros dos testes de unidade, variando do limite inferior até o limite superior de cada tipo de dados até o teste detectar uma falha.


C

A ideia de sempre tomar o passo mais simples que resolva o problema naquele momento e faça o teste passar.


D

Escrever todos os testes de uma vez e depois implementar gradualmente todo o código de produção necessário.


E

Definir inicialmente sprints pequenas que aumentam de tempo à medida que mais testes de unidade vão sendo escritos.

TDD, DDD e BDD são três padrões de qualidade de desenvolvimento de software que enfatizam abordagens diferentes, mas complementares, para garantir a qualidade e a eficácia do processo de desenvolvimento. A esse respeito, analise as afirmativas a seguir:


I. BDD é uma abordagem de design de software que se concentra em modelar o domínio de um problema complexo de negócios em termos de entidades de domínio, serviços e agregados.

II. TDD é uma abordagem de desenvolvimento de software que enfatiza escrever testes automatizados antes de escrever o código de produção.

III. O objetivo do DDD é garantir que o software seja desenvolvido com base nos requisitos e comportamentos desejados do sistema, resultando em uma compreensão clara das expectativas do sistema e na validação contínua do comportamento conforme o desenvolvimento avança.


É correto o que se afirma em


A

I, apenas.


B

II, apenas.


C

I e II, apenas.


D

I e III, apenas.


E

II e III, apenas.

O TDD (Test Driven Development) é um paradigma de desenvolvimento de software criado por Kent Beck, que se tornou um dos pilares do XP (Extreme Programming). Em relação às suas características, o TDD


A

enfatiza o comportamento e os resultados finais da perspectiva do usuário e encoraja a colaboração entre programadores e pessoas não-técnicas.


B

apresenta um ciclo conhecido como vermelho/verde/refatore.


C

pode ser aplicado somente em linguagens de orientação a objetos.


D

é capaz de criar um teste de aceitação antes que se inicie a codificação da funcionalidade.

No TDD, o teste deve ser criado com o objetivo de fazer o segmento de código falhar, gerando-se um processo iterativo que permite a submissão de muitas subfunções simultaneamente, o que confere uma agilidade significativa ao processo.


C

Certo


E

Errado

Sobre a arquitetura de aplicações em infraestrutura, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


( ) O modelo de cloud computing do tipo Plataforma como Serviço (PAAS, Platform-as-a-Service) oferece ambiente compartilhado de desenvolvimento de software que fornece, às equipes de desenvolvimento e operações, acesso a todas as ferramentas de que necessitam, a partir de qualquer local com uma conexão à Internet, sendo frequente o emprego das tecnologias Docker e Kubernetes.

( ) Quanto ao nível de acoplamento, podemos diferenciar as arquiteturas de aplicação como monolíticas e em N camadas (levemente acopladas), microsserviços (fortemente acopladas); e, orientadas a eventos ou serviços (desacopladas).

( ) No ciclo de vida do desenvolvimento de software (SDLC, Software Development Lifecycle) podem ser aplicadas as metodologias TDD (Test Driven Development), quando o foco está em uma linguagem mais técnica e no objetivo de testar alguma funcionalidade, e o BDD (Behavior Driven Development), quando o foco está em uma linguagem mais próxima da linguagem natural e no objetivo de realização de testes de comportamento.


As afirmativas são, respectivamente,


A

V – V – F.


B

F – V – V.


C

F – F – V.


D

V – F – V.

O analista Joaquim implementou o código do sistema TRF1Web seguindo os princípios SOLID. O TRF1Web já se encontra em produção. A documentação do TRF1Web, escrita por Joaquim, estabelece que novas funcionalidades devem ser introduzidas no sistema por meio de plugins, sem modificar o código atual do sistema.


Essa maneira de introduzir novas funcionalidades no TRF1Web é resultado direto da aplicação do seguinte princípio SOLID:


A

aberto/fechado;


B

substituição de Liskov;


C

responsabilidade única;


D

segregação de interfaces;


E

inversão de dependência.

Considerando o uso de metodologias ágeis para gerenciar projetos de desenvolvimento de software de forma iterativa e incremental, avalie as afirmativas a seguir.

I. Em reuniões diárias e de curta duração (Daily Scrums), os membros do time Scrum são incentivados a expor o que fizeram desde a última reunião, o que planejam fazer até a reunião seguinte e a reportar algum impedimento que esteja atrapalhando o desenvolvimento de suas atividades.

II. O uso do Scrum junto ao método Kanban é uma prática muito comum nas organizações. De forma sucinta, cria-se um sistema em que as histórias de usuário são puxadas sob demanda, de acordo com a capacidade do sistema, como um todo, em identificar, desenvolver e entregar os itens de maior valor.

III. A necessidade de agregar maior valor aos processos de desenvolvimento de software propiciou o surgimento de metodologias ágeis tais como o Extreme Programming (XP), com foco em feedback constante e entregas incrementais. Uma prática fundamental do XP é o desenvolvimento orientado a testes (Test Driven Development – TDD). Com testes automatizados aplicados somente ao final do processo de desenvolvimento, o TDD possibilita maior alinhamento aos requisitos e menor risco de falhas.

Está correto o que se afirma em


A

I, apenas.


B

II, apenas.


C

III, apenas.


D

I e II, apenas.


E

II e III, apenas.

Boas práticas para o desenvolvimento de software são ações que dependem apenas dos programadores para serem utilizadas e têm influência direta na evolução do aplicativo, pois são relacionadas ao próprio código-fonte. O objetivo de se utilizar estas práticas é melhorar a legibilidade do código ou a arquitetura dele.


Neste contexto, associe as duas colunas, relacionando as boas práticas de desenvolvimento de software aos seus conceitos básicos (pode haver mais de um conceito relacionado a um termo).


1 - TDD (Test Driven Development).

2 - Clean Code.

3 - Clean Architecture.


( ) Preconiza que os testes de software devem ser escritos antes da codificação propriamente dita, possibilitando alcançar 100% de cobertura do código.

( ) Orienta os desenvolvedores a escreverem códigos facilmente compreendidos por outros desenvolvedores.

( ) Tem por objetivo padronizar e organizar o código desenvolvido, favorecer sua reusabilidade, bem como sua independência tecnológica.

( ) Segue o modelo F.I.R.S.T. (Fast, Isolated, Repeatable, Self verifying, Timely).

( ) Baseia-se em entidades e casos de uso, adaptadores, frameworks externos, regras de dependência e fluxos de controle.

( ) Baseia-se nos princípios de legibilidade, manutenibilidade, simplicidade, documentação, abstração adequada e testabilidade.


A sequência CORRETA dessa associação é:


A

1, 2, 3, 1, 3, 2.


B

1, 2, 3, 1, 2, 3.


C

1, 3, 2, 1, 3, 2.


D

2, 1, 3, 3, 2, 1.


E

3, 2, 1, 1, 2, 3.

Test Driven Development (TDD) é uma prática muito utilizada no processo de desenvolvimento de sistemas computacionais, que aumenta a produtividade do processo a partir de testes já consolidados. A figura a seguir representa o ciclo do TDD.


Imagem associada para resolução da questão



As atividades previstas nos balões RED-GREEN-REFACTOR podem ser, respectivamente:


A

criar um teste que falhe – fazer o código funcionar – eliminar redundâncias.


B

escrever um trecho de código – validar o código – encapsular o código.


C

identificar erros no código – validar o código – testar com várias iterações.


D

realizar testes no código – avaliar o código – implementar melhorias no código.

Analise as afirmativas a seguir a respeito das principais diferenças entre BDD, TDD e ATDD.


I. BDD é, exclusivamente, para equipes de desenvolvimento; TDD é para testadores; e, ATDD é para gerentes de projeto.

II. BDD e TDD são a mesma coisa, apenas com siglas diferentes; e, ATDD é uma técnica de teste de acessibilidade.

III. BDD normalmente abrange funcionalidades ou cenários completos do software; TDD se concentra em testes unitários para funções ou métodos individuais; e, ATDD valida se os requisitos de negócios são atendidos por meio de testes de aceitação que abrangem fluxos de funcionalidade específicos.


Está correto o que se afirma apenas em


A

I.


B

III.


C

I e II.


D

II e III.

Na metodologia TDD, os testes devem ser escritos somente após a codificação, propriamente dita, da funcionalidade.


C

Certo


E

Errado

   
Gerar simulado