SóProvas


ID
3356833
Banca
CESPE / CEBRASPE
Órgão
TJ-PA
Ano
2020
Provas
Disciplina
Engenharia de Software
Assuntos

O Clean Code deve considerar também o momento de teste do software em desenvolvimento. O Teste Limpo deve

Alternativas
Comentários
  • Testes limpos seguem as regras do acrônimo FIRST (Fast, Indepedent, Repeatable, Self-validation, Timely).

    Rapidez: os testes devem ser rápidos para que possam ser executados diversas vezes;

    Independência: quando testes são dependentes, uma falha pode causar um efeito dominó dificultando a análise individual;

    Repetitividade: deve ser possível repetir o teste em qualquer ambiente;

    Auto validação: bons testes possuem como resultado respostas do tipo “verdadeiro” ou “falso”. Caso contrário, a falha pode se tornar subjetiva;

    Pontualidade: os testes precisam ser escritos antes do código de produção, onde os testes serão aplicados. Caso contrário, o código pode ficar complexo demais para ser testado ou até pode ser que o código não possa ser testado.

  • A questão cobra conhecimento sobre o momento de execução dos testes de software conforme os preceitos do Clean Code.
    Clean Code é uma vertente que direciona a escrita de um código simples, direto e inteligível, que transmita clareza e seja de fácil compreensão.

    Conforme os preceitos do Clean Code, um código limpo, além de ter que ser legível (com clareza e simplicidade), segue 5 regras do acrônimo FIRST (fast, independent, repeatable, self-validating, timely), vejamos:


    1.  Rapidez: a execução dos testes deve ser rápida. Caso a execução seja lenta, os testes serão executados com pouca frequência e os problemas não serão identificados cedo o bastante para serem consertados de forma fácil [1].

    2. Independência: os testes devem ser independentes um dos outros, pois caso sejam dependentes a falha de um causará a falha de outro [1].

    3. Repetitividade: os testes devem poder ser repetidos em qualquer ambiente (produção, teste, qualquer notebook e etc.) [1].

    4. Auto validação: os testes devem ter uma saída booleana: passou ou não passou, a fim de evitar ter que comparar arquivos ou fazer análises para identificar se foi bem sucedido ou não [1].

    5. Pontualidade: devem-se “criar os testes de unidade imediatamente antes do código de produção no qual serão aplicados" [1], ou seja, deve-se testar antes de colocar o sistema em ambiente de produção.

    Diante disso, analisemos as alternativas:


    A) ERRADA. Vai contra a regra de rapidez, pois é interessante que os testes sejam simples para serem executados, rapidamente, várias vezes.

    B) ERRADA. Vai contra a regra de repetitividade, pois o teste deve ser possível de ser executado em qualquer ambiente.

    C) CERTA. Está em conformidade com a regra de pontualidade.

    D) ERRADA. Vai contra a regra de auto validação, pois as respostas dos testes devem ser objetivas.

    E) ERRADA. Vai contra a regra de independência.

    Gabarito da professora: Letra C.




    Referência:

    [1] MARTIN, Robert C. Código Limpo: habilidades práticas do agile software. Alta Books.