

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
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
On-Site Customer.
Sustainable Pace.
Pair Programming.
Refactoring.
Metaphor.
De acordo com as abordagens de desenvolvimento dirigido por testes (TDD, do inglês test-driven development), é correto afirmar:
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.
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.
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.
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.
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.
V F V
F V F
F F V
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.
Certo
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
Sprint Planning.
Daily Scrum.
Sprint Review.
Product Backlog Refinement.
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.
Blue e Yellow.
Green e Blue.
Orange e Purple.
Red e Green.
Yellow e Gray.
O TDD é uma tendência que enfatiza o projeto de casos de teste antes da criação do código fonte e se caracteriza como parte do modelo ágil de desenvolvimento de software.
Certo
Errado
No contexto de Test-Driven Development (TDD), assinale a alternativa correta sobre o conceito de baby steps (passos de bebê).
O uso de valores pequenos como parâmetros das funções nos testes de unidade.
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.
A ideia de sempre tomar o passo mais simples que resolva o problema naquele momento e faça o teste passar.
Escrever todos os testes de uma vez e depois implementar gradualmente todo o código de produção necessário.
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
I, apenas.
II, apenas.
I e II, apenas.
I e III, apenas.
II e III, apenas.
Qual abordagem de desenvolvimento de software segue um ciclo curto de desenvolvimento, enfatizando a criação de testes automatizados antes da implementação do código funcional?
Scrum.
TDD.
BDD.
Kanban.
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
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.
apresenta um ciclo conhecido como vermelho/verde/refatore.
pode ser aplicado somente em linguagens de orientação a objetos.
é 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.
Certo
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,
V – V – F.
F – V – V.
F – F – V.
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:
aberto/fechado;
substituição de Liskov;
responsabilidade única;
segregação de interfaces;
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
I, apenas.
II, apenas.
III, apenas.
I e II, apenas.
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 é:
1, 2, 3, 1, 3, 2.
1, 2, 3, 1, 2, 3.
1, 3, 2, 1, 3, 2.
2, 1, 3, 3, 2, 1.
3, 2, 1, 1, 2, 3.
O desenvolvimento dirigido por testes (TDD) é modelado em três estados: vermelho, verde e refatorar. Um exemplo da ação de refatoração é a simulação do comportamento dos componentes que interagem com a unidade de teste que está falhando.
Certo
Errado
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.

As atividades previstas nos balões RED-GREEN-REFACTOR podem ser, respectivamente:
criar um teste que falhe – fazer o código funcionar – eliminar redundâncias.
escrever um trecho de código – validar o código – encapsular o código.
identificar erros no código – validar o código – testar com várias iterações.
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
I.
III.
I e II.
II e III.
Na metodologia TDD, os testes devem ser escritos somente após a codificação, propriamente dita, da funcionalidade.
Certo
Errado