SóProvas


ID
701602
Banca
FCC
Órgão
TRE-SP
Ano
2012
Provas
Disciplina
Engenharia de Software
Assuntos

Sobre desenvolvimento baseado em testes, considere:

I. Este processo requer que desenvolvedores criem unidades de testes para definir os requisitos que um determinado código deve conter. Estes testes devem ser criados assim que uma pequena parte funcional do código esteja disponível.

II. Frequentemente são utilizados frameworks de teste pelos desenvolvedores como o xUnit ou jUnit para a criação de casos de teste automatizados.

III. É importante que o código escrito seja apenas projetado para passar o teste específico. Nenhuma outra funcionalidade deve ser prevista ou permitida fora do escopo do teste em nenhum estágio do processo.

Está correto o que consta em

Alternativas
Comentários
  • No TDD (Test-driven Development) o foco são pequenos ciclos de desenvolvimento.
    1 - Começa desenvolvendo o caso de teste.
    2 - Aplica-se o teste ao software (Como o software não existe, ele obviamente falha no teste)
    3 - em caso de falha Corrige-se a falha e volta-se ao passo 2
    4- Incremento pronto

    Os casos de teste definem o escopo do incremento. Por isso não devemos implementar nada fora do escopo, ou seja que não possua teste definido

  • Acho que o erro do item I é esse:
    "Estes testes devem ser criados assim que uma pequena parte funcional do código esteja disponível",
    Acredito que o teste deve ser criado antes do código ter sido escrito, pois em desenvlvimento baseado em testes como podemos ver até mesmo no Extreme Programming - XP os testes são escritos antes de gerar código, ou seja faço os casos de teste e depois que começo a programação.

    Apesar de ter errado a questão acho que esse é o erro.
  • Pessoal, o item 3 é muito generalizador. Não caberia recurso?:

    "É importante que o código escrito seja apenas projetado para passar o teste específico. Nenhuma outra funcionalidade deve ser prevista ou permitida fora do escopo do teste em nenhum estágio do processo."

  • A ideia do TDD é mesmo de, a cada iteração, implementar apenas a parte do código referente ao caso de teste, e nada mais. Por isso a expressão "nenhuma outra funcionalidade", apesar de forte, está correta. As demais funções vão sendo implementadas aos poucos, a cada novo ciclo de teste. A ideia é focar em um problema de cada vez.

    III. É importante que o código escrito seja apenas projetado para passar o teste específico. Nenhuma outra funcionalidade deve ser prevista ou permitida fora do escopo do teste em nenhum estágio do processo.
  • O item 3 faz menção ao I do F.I.R.S.T de Isolated:

    Testes unitários são isolados, testando individualmente as unidades e não sua integração.