

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.
Considere o seguinte ciclo de desenvolvimento do Test Driven Development (TDD) no contexto do teste de software:
1. Escrever um Teste que inicialmente não passa.
2. Adicionar uma nova funcionalidade do sistema.
3. ......................................................................
4. ......................................................................
5. Escrever o próximo Teste.
Os itens 3 e 4 correspondem, correta e respectivamente, a:
Fazer o Teste passar e Refatorar o código da nova funcionalidade.
Reescrever o código do programa e Fazer o Teste passar.
Refatorar o código da nova funcionalidade e Reescrever os requisitos funcionais.
Adicionar novos requisitos não funcionais e Reescrever o código do programa.
Reescrever os requisitos funcionais e Fazer o Teste passar
Acerca da prática de TDD, analise as assertivas e julgue V, para as verdadeiras, ou F, para as falsas!
( )TDD significa em inglês Test-Driver Develop.
( ) As atividades de Verificação e Validação contribuem para a realização de testes de software.
( ) Teste de caixa preta e teste de caixa branca são exemplos de tipos de teste de software.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
F-F-V
V-V-F
V-F-V
V-V-V
F-V-V
O TDD (test-driven development) é uma metodologia que, ao longo do tempo, implica que o aplicativo em desenvolvimento tenha um conjunto abrangente de testes que ofereça confiança no que foi desenvolvido até então.
Certo
Errado
No desenvolvimento guiado por testes (TDD), utiliza-se uma linguagem derivada do domínio do negócio para a definição dos casos de testes, ao passo que, no desenvolvimento orientado por comportamento (BDD), prioriza-se uma linguagem de programação que apoie a correção na implementação dos cenários de uso.
Certo
Errado
Testar um sistema é importante para evitar problemas na entrega do produto e minimizar o custo da sua produção. A utilização de técnicas de desenvolvimento de softwares como o TDD (Desenvolvimento Guiado por Testes ou Test-Driven Development, em inglês) ajuda na busca desses objetivos, na aplicação de ciclo de repetições. Em cada ciclo, podem ser aplicados os seguintes passos:
I - Um teste deve ser escrito para uma funcionalidade criada.
II - O teste é executado resultando em falha esperada.
III - O código do teste é escrito mais simples a solucionar a falha.
IV - Executa-se o teste novamente sem falha.
V - Refatore o código do teste a fim de melhorá-lo.
Em relação aos itens apresentados, pode-se afirmar que:
os itens I, III e V são verdadeiros.
os itens I, II, III e V são verdadeiros.
todos os itens são verdadeiros.
os itens II, III e IV são verdadeiros.
os itens I e V são verdadeiros.
Entre os métodos de testes ágeis, o TDD (test-driven development) é uma extensão do BDD (behavior driven development).
Certo
Errado
A engenharia de software é uma área da computação voltada à especificação, desenvolvimento, manutenção e criação de softwares, com a aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando a organização, a produtividade e a qualidade. Um importante conceito da engenharia de softwares é o desenvolvimento dirigido a testes (TDD), que preconiza uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Sobre o conceito evidenciado, analise as afirmativas a seguir.
I. Como o código é desenvolvido em pequenos incrementos, o programador não precisa executar todos os testes cada vez que adicionar funcionalidade ou refatorar o programa.
II. O TDD ajuda os programadores na análise de ideias de um segmento de código a ser elaborado; porém, não é capaz de reduzir os custos dos testes de regressão.
III. Melhor entendimento do problema, cobertura de código, teste de regressão, depuração simplificada e documentação de sistema são considerados benefícios do TDD.
Está correto o que se afirma em
I, II e III.
I, apenas.
II, apenas.
III, apenas.
II e III, apenas.
Uma das fases do TDD (test driven development) é a refatoração do código, que tem o objetivo de melhorar a extensibilidade do código.
Certo
Errado
Abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Essencialmente, desenvolve-se um código de forma incremental em conjunto com um teste para esse incremento. Não se caminha para o próximo incremento até que o código desenvolvido passe no teste.
Assinale a alternativa que contém o conceito definido acima.
Teste de regressão
Teste Unitário
Desenvolvimento orientado a aspectos (Aspect Oriented Development – AOD)
Desenvolvimento dirigido por testes (Test Driven Development – TDD)
Desenvolvimento orientado a recursos (Feature Driven Development – FDD)
Qual é o nome da técnica de desenvolvimento que acaba por utilizar, na maioria dos casos, o princípio SRP (Single Responsibility Principle), realizando primeiro o desenvolvimento dos testes para depois seguir o desenvolvimento do sistema?
Scrum
DDD
TDD
Extreme Programming
SOA
A prática de definir e codificar os testes a partir das regras de negócio antes mesmo de implementar a solução denomina-se
DTD.
Kanban.
TDD.
CMMI.
SWT.
Considere as seguintes afirmações sobre Desenvolvimento Guiado por Testes (TDD).
I - Uma das regras simples do TDD é que será escrito um código novo apenas se falhar um teste automatizado.
II - Teste de um só passo (one step test), teste quebrado (broken test) e teste de exceção (exception test) são nomes de padrões (patterns) para TDD.
III- Vermelho-Verde-Refatorar é o “mantra” que resume o ciclo geral de TDD: vermelho – escrever um pequeno teste que não funcione e que talvez nem mesmo compile inicialmente; verde – fazer rapidamente o teste funcionar, mesmo incorrendo em alguma infração necessária; refatorar – eliminar todas as duplicatas criadas, para que apenas o teste funcione.
Quais estão corretas?
Apenas I.
Apenas I e II.
Apenas I e III.
Apenas II e III.
I, II e III.
. ______________ é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Essencialmente, desenvolve-se um código de forma incremental em conjunto com um teste para este incremento. Não se avança para o próximo incremento até que o código desenvolvido passe no teste. Essa abordagem foi introduzida como parte de métodos ágeis, mas pode ser também usada em processos de desenvolvimento dirigido a planos.
Assinale a alternativa que preenche corretamente a lacuna do texto acima.
Desenvolvimento Guiado por Testes (TDD)
Desenvolvimento em Espiral
Engenharia Dirigida a Modelos (MDD)
Rational Unified Process (RUP)
Teste de Sistema
O Test-Driven Development (TDD) é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. As etapas do processo fundamental de TDD são mostradas abaixo em ordem alfabética:
I. Escrever um teste para a funcionalidade identificada e implementá-lo como um teste automatizado.
II. Executar o teste, junto com os demais testes já implementados, sem implementar a nova funcionalidade no código.
III. Identificar e implementar uma outra funcionalidade, após todos os testes serem executados com sucesso.
IV. Identificar uma nova funcionalidade pequena para ser incrementada com poucas linhas em um código.
V. Implementar a nova funcionalidade no código e reexecutar o teste.
VI. Refatorar o código com melhorias incrementais até que o teste execute sem erros.
VII. Revisar a funcionalidade e o teste, caso o código execute sem falhar.
Considerando o item IV a primeira etapa e o item III a última etapa, a sequência intermediária correta das etapas do processo é:
I − II − VII − V e VI.
I − V − II − VII e VI.
I − VI − V − VII e II.
V − I − II − VII e VI.
V − I − VI − VII e II.
O ciclo do TDD - Test Driven Development, ou, em português, Desenvolvimento Guiado por Testes consiste em:
implementar teste unitário falho, tornar o teste bem-sucedido e refatorar.
implementar a funcionalidade, executar teste unitário e refatorar.
implementar teste unitário falho, refatorar e tornar o teste bem-sucedido.
implementar a funcionalidade, refatorar e tornar o teste bem-sucedido.
refatorar, executar teste unitário e implementar a funcionalidade.
O Test Driven Development – TDD é uma das práticas sugeridas na eXtreme Programming − XP, onde o programador escreve o teste antes de escrever o código. O ciclo de desenvolvimento utilizando TDD é mostrado abaixo.

Considere:
I. Etapa inicial, onde se escreve um teste que falha, para alguma funcionalidade que ainda será escrita.
II. Já com o teste criado, é o momento de executar o teste.
III. Eliminar códigos redundantes, remover acoplamentos, enfim, identificar pontos de melhoria no código.
As etapas I, II e III são, respectivamente,
Iniciação, Execução e Controle.
Red, Green e Refactor
Iniciação, Atuação e Otimização.
Plan, Do e Check.
Planejamento, Execução e Melhoria.
Com relação a metodologias de desenvolvimento de software, assinale a afirmação correta.
Métodos ágeis exigem a documentação de todos os artefatos gerados ao longo do desenvolvimento e manutenção dessa documentação durante o ciclo de vida do software.
O Scrum é uma metodologia ágil, derivada do RUP (Rational Unified Process).
A metodologia RUP (Rational Unified Process) foi criada a partir da integração do processo espiral com o processo cascata, introduzindo também atividades de gerenciamento.
O TDD (Test-driven development) se baseia em criar os testes unitários para um determinado requisito e, só depois, implementar o código para que os testes funcionem.
As User Stories exigem a descrição detalhada de todos os cenários de uso do sistema, incluindo a descrição da interface do sistema.
Em relação ao desenvolvimento dirigido a testes, Test-Driven Development (TDD), assinale abaixo a alternativa INCORRETA.
o TDD é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Essencialmente, é desenvolvido um código de forma incremental, em conjunto com um teste para esse incremento.
uma das características do TDD é a dificuldade em realizar testes de regressão.
um ambiente de testes automatizados, como o ambiente JUnit, que suporta o teste de programa Java, é essencial para o TDD.
um argumento a favor do TDD é que ele ajuda os programadores a compreender o que um segmento de código supostamente deve fazer, pois, para escrever um teste, é necessário entender a que ele se destina.
no TDD, em princípio, todo segmento de código deve ter pelo menos um teste associado, pois cada código é testado enquanto está sendo escrito.
Com relação ao desenvolvimento orientado (dirigido) a testes (do Inglês Test Driven Development – TDD), analise as afirmativas a seguir.
I. TDD é uma técnica de desenvolvimento de software iterativa e incremental.
II. TDD implica escrever o código de teste antes do código de produção, um teste de cada vez, tendo certeza de que o teste falha antes de escrever o código que irá fazê‐lo passar.
III. TDD é uma técnica específica do processo XP (Extreme Programming), portanto, só pode ser utilizada em modelos de processo ágeis de desenvolvimento de software.
Assinale:
se somente as afirmativas I e II estiverem corretas.
se somente as afirmativas I e III estiverem corretas.
se somente as afirmativas II e III estiverem corretas.
se somente a afirmativa III estiver correta.
se somente a afirmativa I estiver correta.