Casa > Q > Quais São As Desvantagens Dos Testes Unitários?

Quais são as desvantagens dos testes unitários?

Eu respondi a isto: O que é o teste de unidade de software e por que é importante? - Agora vamos dar uma olhada no lado oposto.

"Quais são as desvantagens do teste unitário?"

Falemos primeiro de cozinhar.

P>P>Componha, você quer fazer uma omelete.

main-qimg-0080df9851cb5b3d56ae925576b0c733.webp

(Image source: IHOP)

Um café da manhã, nada chique. Mas você precisa de alguns ingredientes, como ovos, leite, bacon, queijo, tomate, sal..

> E aqui estão algumas coisas que você [muito provavelmente] inspecionaria, avaliaria, verificaria e assim por diante.

  • Quantos ovos? Eles são frescos?<
  • Que tipo de leite? Quantos? Está estragado?<
  • A sua tigela (para mexer) está limpa?
  • > a sua frigideira está suficientemente aquecida? Quando você coloca bacon?>li>li>e assim por diante...<
p>Quando você verifica, inspeciona, avalia, prova,... - você está testando. Você está fazendo observações e fazendo julgamentos enquanto está no processo de criação do produto. Estás a testar o teu trabalho e os teus componentes. Você está testando uma caixa branca neste sentido.

Mas note que você não está testando o produto.

Em teoria, pode-se tentar cozinhar sem dar qualquer atenção ao processo e aos componentes, e provar o produto final - a omelete - depois, após a conclusão.

>

Mas há implicações:

>ul>< Certamente leva mais tempo até que os resultados da avaliação;>li> Será tarde demais para tomar ações corretivas;>li>li> ou você será capaz de responder às mudanças;>li>li>alguns problemas (como leite estragado ou tigela suja) não se manifestarão imediatamente após a degustação, mas podem ter sérias conseqüências para a saúde.p> Tudo isso se traduz bem no desenvolvimento de software. Veja também: O que é o teste da caixa branca?

Se você quer ser eficaz e eficiente, então o teste da caixa branca é necessário.

Mas se você confiar apenas no teste da unidade - você está em desvantagem. Mesmo um excelente teste de unidade não pode mitigar testes ausentes ou deficientes funcionais [caixa preta]. O último é uma abordagem fora da caixa: O que é o teste da caixa preta?

Teste da caixa preta pode ajudar a evitar falhas levantando questões como estas.

  • Estaremos cozinhando a ordem certa? Talvez o cliente quisesse isto em vez disso.
main-qimg-c36d5ce406573932fcf2df5b853a6f18.webp

(Image source: IHOP)

  • Estaremos a seguir a receita certa? O teste da caixa preta não só verifica os requisitos como ajuda a refiná-los, identificando lacunas e contradições.
  • >Há alguma ameaça ao valor e ao sucesso? Incluindo as que não estão explicitamente indicadas. Sabe, algumas pessoas não comem bacon, outras são alérgicas ao leite.
  • Há alguma ameaça ao processo? "Sucesso" na prática significa não só "cumprir os requisitos", mas também cumprir o orçamento e o horário. Bons testes ajudam a identificar os problemas que tornam o desenvolvimento mais longo ou mais caro.

Agora, uma pergunta que qualquer pessoa pode fazer - porque não fazer as duas coisas ao longo do processo? E se as mesmas pessoas fazem tanto testes unitários como testes funcionais, há realmente alguma diferença?

E é isso que tem acontecido ultimamente.

Convergência de papéis, evolução de conjuntos de habilidades

Ver como espécies diferentes têm aparência muito semelhante? - Elas estavam evoluindo para se encaixar em ambientes similares.

main-qimg-f83f5ae442794b6b6922f39d2bd0654f.webp

(Image source: Pinterest * Artis Natura Magistra *)

Aplicações como Agile, DevOps, Lean, e outras colocam ênfase na qualidade ao longo de todo o processo. (É claro que há implementações ruins e implementações erradas.)

Quando bem feitas, os programadores aprendem a testar, e os testadores aprendem a lidar com o código. Os participantes do negócio aprendem a se envolver no processo de engenharia. Toda a equipe assume a responsabilidade pela qualidade em cada etapa do processo.

E enquanto os papéis de "pure-black-box-QA-functional-testing" podem se extinguir como aqueles Icthyosaurus, os testes - pensamento crítico e resolução de problemas - continuarão e prosperarão sendo um ancestral comum de todas as profissões de engenharia.

>p> Obrigado pela leitura!>ul>>li> Se você gostou desta resposta, por favor, atualize e siga-me>li> Se você achou útil, por favor, compartilhe com os outrosli>li>Não concorda ou não gostou? Dê-me um comentário! Tenho certeza que há espaço para melhorias.

De Orvil Gelacio

O que o deixa excitado com 5G? :: Você pode ver os posts arquivados de alguém do Instagram?