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 prática de Test Driven Development (TDD, ou Desenvolvimento Orientado por Testes) se relaciona com o conceito de verificação e validação e se baseia em um ciclo para garantir a qualidade do código.


Entre as características do TDD, é correto o que se afirma em


A

trata-se de desenvolvimento orientado para os comportamentos, sendo o desenvolvedor responsável por escrever os testes e validá-los de forma que eles funcionem.


B

trata-se de desenvolvimento orientado para os testes, sendo atribuição do programador escrever como o problema deve se comportar.


C

na prática, se refere a escrever um teste automatizado durante o desenvolvimento do código de fato.


D

o ciclo do TDD se inicia com a criação de um teste, para auxiliar a codificação, segue com a realização da codificação para passar no teste, e finaliza com a eliminação das redundâncias, ao se refatorar o código.


E

no desenvolvimento de programas são intercalados testes, elicitação de requisitos e desenvolvimento de código, tendo os testes embutidos em um programa separado que os executa e invoca o sistema que está sendo testado.

Uma equipe de desenvolvimento ágil decidiu utilizar Pontos de História (Story Points) para estimar o esforço necessário para implementar as funcionalidades descritas no seu Product Backlog, na forma de Histórias do Usuário.


Considerando-se esse contexto, a técnica de Pontos de História ajuda a equipe a compreender o trabalho envolvido em cada história por


A

alocar tarefas específicas da história do usuário aos membros da equipe.


B

classificar as histórias do usuário em categorias de prioridade, de alta a baixa.


C

permitir prever o tempo, em horas, que a equipe levará para completar uma história.


D

determinar o custo financeiro direto associado ao desenvolvimento de uma história do usuário.


E

estimar o esforço relativo necessário para implementar uma determinada história do usuário, comparando-o ao de outras histórias.

Test Driven Development (TDD) como programação ou desenvolvimento em que se escreve um teste primeiro, esta é uma abordagem incremental que envolve a criação de um caso de teste anteriormente à implementação do código necessário para que este passe. Após definir a lista com os testes, deve-se escolher um teste e seguir o ciclo de desenvolvimento proposto pelo TDD, que é composto por cinco passos básicos, que inclui, EXCETO:


A

Adicionar um teste rapidamente.


B

Executar o teste para que este não falhe.


C

Executar o teste e ver a barra verde.


D

Eliminar o código duplicado.


E

Alterar o mínimo de código para que o teste passe.

Em testes de software, o processo que é feito pelo cliente ou outras partes interessadas e que visa garantir, uma vez mais, que o programa atende às especificidades e funciona perfeitamente é denominado:


A

Teste Unitário


B

Teste de Integração


C

Homologação


D

Teste de Aceitação


E

Teste de Sistemas

Dentro do Scrum, a técnica utilizada para medir esforço em uma tarefa, que geralmente utiliza a sequência de fibonacci, é:


A

ponto de função.


B

ponto de caso de uso.


C

kanban.


D

Planning poker.


E

scrum-buts.

Sobre a adoção de métodos ágeis para o desenvolvimento de software, analisar os itens abaixo:


I. Uma sprint é um período de no mínimo dois meses em que, no final, objetiva-se entregar uma parte do software utilizável pelo usuário.

II. A organização visual das tarefas, com as etapas do processo divididas em colunas, possibilitando adaptações ágeis diante de imprevistos, é uma característica do Kanban.

III. TDD é uma técnica de desenvolvimento de software em que os testes são desenvolvidos antes do código-fonte do sistema.

Está(ão) CORRETO(S):


A

Somente o item II.


B

Somente o item III.


C

Somente os itens II e III.


D

Todos os itens.

Sobre Desenvolvimento Guiado pelos Testes pelo qual a prática é começar a implementação pelo teste e, deve o tempo todo, fazer de tudo para que seu código seja simples e com qualidade. O entendimento que o desenvolvedor deve buscar pela solução mais simples, e não pela modificação mais simples, observando que a modificação mais simples não é necessariamente a solução mais simples, está relacionado ao conceito de:


A

testes de sistema.


B

testes de unidade.


C

objetos simulados.


D

passos de bebê.


E

integração.

O desenvolvimento orientado a testes (TDD) é um processo que se baseia na repetição em ciclos de desenvolvimento curtos. Ele é baseado no conceito test-first oriundo da programação extrema (XP) que incentiva o design simples com alto nível de confiança.


O procedimento que conduz este ciclo é denominado


A

refatoração vermelho-verde.


B

documentação executável.


C

testes da caixa-branca.


D

testes da caixa-preta.


E

mocking up.

Maria está trabalhando em um projeto de desenvolvimento de software e decide adotar a abordagem do Test Driven Development (TDD) para melhorar a qualidade do código e a colaboração entre os membros da equipe. Ela começa a implementar uma nova funcionalidade seguindo os princípios do TDD. Assinale a alternativa que apresenta corretamente o processo que Maria deve seguir.


A

Escrever o teste, escrever o código, executar o teste, refatorar e, por fim, integrar o código ao repositório principal.


B

Escrever o código, executar o teste, escrever o teste, refatorar e, por fim, integrar o código ao repositório principal.


C

Escrever o teste, executar o teste, escrever o código, executar o teste novamente, refatorar e, por fim, integrar o código ao repositório principal.


D

Escrever o código, escrever o teste, executar o teste, refatorar e, por fim, integrar o código ao repositório principal.


E

Escrever o teste, escrever o código, executar o teste, integrar o código ao repositório principal e, por fim, refatorar.

Um engenheiro de software da CODEBA decidiu adotar a abordagem de Desenvolvimento Guiado por Testes (TDD) para criar um novo sistema. Ele começa escrevendo um teste para uma funcionalidade que ainda não foi implementada. Após fazer isso, qual é o próximo passo que esse engenheiro deve seguir no ciclo TDD?


A

Implementar a funcionalidade e, em seguida, escrever mais testes para outras funcionalidades.


B

Verificar se o teste falha, indicando que a funcionalidade ainda não foi implementada.


C

Ignorar os testes e focar apenas na implementação das funcionalidades.


D

Escrever todos os testes do sistema antes de começar qualquer implementação.


E

Rodar o teste e garantir que ele passe, mostrando que a funcionalidade foi implementada corretamente.

Segundo o processo de desenvolvimento TDD (Test Driven Development), assinale a alternativa correta.


A

Desenvolvimento orientado por funcionalidade


B

Desenvolvimento orientado por Domínios


C

Desenvolvimento orientados por classes


D

Desenvolvimento orientado por testes

Projetos possuem necessidades diferentes baseados em sua utilização, implementação e manutenção, desta forma existem diversos modelos de desenvolvimento de software. Um destes modelos é o TDD (Test-Driven Development), um modelo que envolve a criação de testes automatizados antes de escrever o código de produção. Assinale a alternativa correta em relação aos benefícios do TDD.


A

Desenvolvimento rápido, pois diminui a escrita de código


B

Rápido desenvolvimento pois não há a necessidade de testar as funções do software


C

Maior produtividade, código mais confiável, detecção precoce de erros e documentação automática


D

Diminuição de 30,2% no gerenciamento do projeto e consequentemente redução de quase 50% do código-fonte

Durante o processo de construção de software, a metodologia de Desenvolvimento Orientado a Testes é muito aplicada.


A ordem utilizada na prática do TDD é


A

escrever a funcionalidade após escrever os testes unitários e, por fim, refatorar o código implementado.


B

escrever os testes unitários após escrever a funcionalidade e, por fim, refatorar o código implementado.


C

escrever a funcionalidade após refatorar o código implementado e por fim escrever os testes unitários.


D

escrever os testes unitários após escrever a funcionalidade e, por fim, escrever os testes de integração.


E

escrever os testes de integração após escrever a funcionalidade e, por fim, refatorar o código.

Com relação à abordagem Test-Driven Development (TDD), assinale a alternativa correta.


A

Projetos legados desenvolvidos com a abordagem TDD não precisam ser novamente testados quando seus módulos são reutilizados em outros projetos.


B

Grande parte das funcionalidades deve ser desenvolvida para, então, ser validada pelas suítes de teste antes da conclusão da sprint.


C

Novas funcionalidades não devem ser desenvolvidas a menos que todos os testes anteriores sejam bem-sucedidos.


D

O time de desenvolvimento deve ser responsável pelos testes de release para validação do produto a ser entregue ao final da sprint.


E

Uma funcionalidade deve estar pronta antes que um teste eficiente seja desenvolvido para ela.

Desenvolvimento Dirigido Por Testes ou Test Driven Development (TDD) é uma das práticas de programação propostas pelo método ágil Extreme Programming. Sobre essa prática, marque a alternativa correta.


A

No TDD, toda implementação deve ser realizada por dois desenvolvedores trabalhando juntos.


B

Para aplicar TDD, basta a equipe utilizar frameworks de testes de unidade, como o JUnit, possibilitando a implementação de testes unitários.


C

O TDD também melhora o design do software em desenvolvimento.


D

O TDD estabelece que todo o código deve ter seus testes. Com isso, deve-se iniciar com o desenvolvimento do código e logo em seguida testá-lo.

Assinale as seguintes afirmações sobre teste ágil com V (verdadeiro) ou F (falso).

_

(_) A prática do desenvolvimento orientado a testes (TDD, do inglês Test-Driven Development) é voltada a pessoas técnicas, e tem por objetivo atingir uma alta cobertura de código com testes automatizados.

(_) A prática do desenvolvimento orientado a comportamento (BDD, do inglês Behavior-Driven Development) foca na descrição do comportamento do usuário ao usar o sistema, estimulando pessoas técnicas e do negócio a usar uma linguagem de comunicação comum.

(_) O desenvolvimento orientado a testes de aceitação (ATDD, do inglês Acceptance Test-Driven Development) combina BDD e TDD, usando cenários para refinar o entendimento de histórias, guiar o desenvolvimento e automatizar os testes de aceitação.

_

A sequência correta de preenchimento dos parênteses, de cima para baixo, é


A

V – V – V.


B

F – V – V.


C

F – F – V.


D

V – F – F.


E

F – F – F.

Você é coordenador da área de desenvolvimento da Controladoria Geral do Estado de Mato Grosso do Sul e deseja implantar o desenvolvimento dirigido a testes (TDD, do inglês Test-Driven Development). Nessa abordagem, o desenvolvimento de programas é feito intercalando testes e desenvolvimento de código. Entretanto, embora deseje essa implantação, você sabe que NÃO corresponde a um dos benefícios ofertados pelo TDD


A

a cobertura de código.


B

o teste de regressão.


C

a depuração simplificada.


D

a documentação de sistema.


E

o escopo simplificado.

Desenvolvimento guiado por testes (TDD) é uma técnica de desenvolvimento de software que


A

incentiva a construção de um alto número de testes de unidades de modo a eliminar a necessidade dos testes de integração e aceitação.


B

requer que os desenvolvedores escrevam testes de unidades antes da codificação da aplicação.


C

delimita o tempo máximo que o programador deve empenhar escrevendo testes para manter a produtividade.


D

testa unidades de ativos efêmeros que devem ser invalidados após o uso, pois repetir testes é um desperdício de tempo.


E

encoraja os desenvolvedores a escreverem testes apenas para verificação dos bugs detectados pelo usuário final na etapa de aceitação.

   
Gerar simulado