-
Complicado, eu marquei CERTA.
O que ele descreveu na verdade foi o processo de TDD, mas que não deixa de ser incorreto falar que este processo é parte de um processo de desenvolvimento de teste unitário
Não dá pra saber muito o que eles pensam mesmo
-
Para preparar um teste unitário é preciso executar as seguintes atividades [BUR03]
I. Planejar a abordagem geral para o teste unitário;
II. Especificar e projetar os casos de teste;
III. Definir os relacionamentos entre os testes;
IV. Preparar o código auxiliar necessário para o teste de unidade (Drivers e Stubs).
-
Também errei a questão, mas dá pra matar mesmo sem saber. Ele menciona incremento e implementação de novas funcionalidades, isso não teria a ver com teste unitário.
-
Na verdade Guilherme tem sim --> tdd baby steps - Pesquisa Google --> http://www.aniche.com.br/2010/11/cuidado-com-seus-baby-steps/
TDD é justamente isso, com baby steps vc vai incrementado e implementando novas funcionalidades
Fiz essa questão agora e errei de novo
Talvez o erro esteja no "quando necessário"
-
Ao meu ver, quando se fala de incremento vem a cabeça teste de regressão e não teste unitário.
-
Fases do Teste
O processo de teste geralmente está dividido em 4 fases, são elas: de unidade, de integração, de sistema e de aceitação.
O processo de teste deve estar presente durante todo o desenvolvimento do software, porém esses testes podem ser divididos em diferentes fases, as quais se diferenciam pela abstração e complexidade dos testes produzidos e executados em cada uma delas.
Geralmente esse processo de teste é dividido em 4 fases, são elas:
Testes de Unidade
Nesta fase os esforços dos testes estão concentrados nas menores unidades do software produzido. O objetivo é detectar erros de lógica e/ou de implementação em pequenas partes do sistema, independentemente do restante. Dessa forma, cada unidade do sistema é testada isoladamente. Isso contribui para assegurar a correção dos componentes individuais, mas não garante que a integração dessas partes funcione como o esperado.
Testes de Integração
Nesta fase o foco dos testes está voltado para a detecção de falhas provenientes da integração interna dos componentes do sistema. Para isso os módulos são combinados e testados em conjunto. Esta fase vem logo após os testes de unidade e antecede os testes de sistema, tendo como resultado o sistema integrado e preparado para o teste de sistema. Não faz parte do escopo dessa fase testar a interação do sistema produzido com outros sistemas, que por ventura venham a se comunicar.
Testes de Sistema
Esta é a fase na qual o software já está completamente integrado. Sendo assim, os testes visam identificar falhas em relação aos requisitos do sistema, no que diz respeito à comunicação com outros sistemas. Os testes são realizados em condições bastantes parecidas (de ambiente, massa de dados, etc.) com as que o usuário utilizará em produção. Os testes de sistema não se limitam aos requisitos funcionais, mas também objetiva testar os requisitos não-funcionais.
Testes de Aceitação
Os testes de aceitação são, em geral, uma extensão dos testes de sistema. Durante esta fase, o objetivo é verificar se o software está pronto e pode ser usado pelo usuário final. Para isso é verificado se o sistema realiza as funções para as quais ele foi criado, satisfazendo as necessidades do cliente. Os testes são planejados e projetados com o mesmo cuidado e nível de detalhe do teste do sistema. Nesta fase, os critérios de aceitação são conhecidos, o que permite a automação dos testes de aceitação, além da monitoração e medição.
http://www.cce.ufpr.br/pds-ufpr/ProcessoDemoisellePlugin/guidances/supportingmaterials/fasesTestes_91F4E41F.html
-
Engenharia de Software / Ian Sommerville 9. edição
Capítulo 8 - Testes de software
Um teste automatizado tem três partes:
1. Uma parte de configuração, em que você inicia o sistema com o caso de teste, ou seja, as entradas e saídas esperadas.
2. Uma parte de chamada, quando você chama o objeto ou método a ser testado.
3. Uma parte de afirmação, em que você compara o resultado da chamada com o resultado esperado. Se a afirmação avaliada for verdadeira, o teste foi bem-sucedido; se for falsa, ele falhou.
-
A descrição mencionada é a da criação de um teste sob a perspectiva do TDD. Teste unitário por si só, eu posso fazer de qualquer forma, não necessariamente devo ter o teste antes da implementação da funcionalidade.
Ps. Eu também errei essa, mas depois percebi o erro.