SóProvas


ID
1115329
Banca
CESPE / CEBRASPE
Órgão
SUFRAMA
Ano
2014
Provas
Disciplina
Engenharia de Software
Assuntos

Acerca de engenharia de software, julgue os itens a seguir.

As etapas de um teste unitário automatizado incluem a identificação do incremento de funcionalidade, a escrita do teste, a execução do teste, a implementação da funcionalidade, a execução do teste, a análise dos resultados obtidos e, quando necessário, a refatoração.

Alternativas
Comentários
  • 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.