QNA > Q > Quali Sono Gli Svantaggi Dei Test Unitari?

Quali sono gli svantaggi dei test unitari?

Ho risposto a questo: Cos'è il test unitario del software e perché è importante? - Ora diamo un'occhiata al lato opposto.

"Quali sono gli svantaggi del test unitario?"

Per prima cosa parliamo di cucina.

Supponiamo che vogliate fare una frittata.

main-qimg-0080df9851cb5b3d56ae925576b0c733.webp

(Fonte immagine: IHOP)

Una colazione, niente di speciale. Hai bisogno di alcuni ingredienti però, come uova, latte, bacon, formaggio, pomodori, sale..

E qui ci sono alcune cose che [molto probabilmente] ispezioneresti, valuteresti, verificheresti e così via.

  • Quante uova? Sono fresche?
  • Quale tipo di latte? Quanto? È andato a male?
  • La tua ciotola (per strapazzare) è pulita?
  • La tua padella è abbastanza calda? Quando ci metti la pancetta?
  • E così via..

Ogni volta che controlli, ispezioni, valuti, assaggi,... - stai testando. Stai facendo osservazioni e dando giudizi mentre sei nel processo di creazione del prodotto. Stai testando il tuo lavoro e i tuoi componenti. Stai facendo un white box testing in questo senso.

Ma nota che non stai testando il prodotto.

In teoria, uno potrebbe provare a cucinare senza prestare alcuna attenzione al processo e ai componenti, e assaggiare il prodotto finale - la frittata - dopo, al termine.

Ma ci sono implicazioni:

  • Certamente ci vorrà più tempo fino ai risultati della valutazione;
  • Sarà troppo tardi per prendere azioni correttive;
  • Non sarete in grado di rispondere al cambiamento;
  • Alcuni problemi (come il latte avariato o la ciotola sporca) non si manifesteranno immediatamente all'assaggio ma potrebbero avere serie conseguenze sulla salute.

Tutto ciò si traduce bene nello sviluppo del software. Vedi anche: Cos'è il test a scatola bianca?

Se volete essere efficaci ed efficienti allora il test a scatola bianca è necessario.

Ma se vi affidate solo al test unitario - siete in svantaggio. Anche un eccellente test unitario non può mitigare un test funzionale assente o scarso [scatola nera]. Quest'ultimo è un approccio out-of-the-box: Cos'è il black box testing?

Il black box testing può aiutare ad evitare i fallimenti sollevando domande come queste.

  • Siamo cucinando l'ordine giusto? Forse il cliente voleva questo invece.
main-qimg-c36d5ce406573932fcf2df5b853a6f18.webp

(Fonte immagine: IHOP)

  • Siamo seguendo la ricetta giusta? Il test della scatola nera non solo verifica i requisiti ma aiuta a raffinarli identificando lacune e contraddizioni.
  • Ci sono minacce al valore e al successo? Comprese quelle non esplicitamente dichiarate. Sai, alcune persone non mangiano il bacon, altre sono allergiche al latte.
  • Ci sono minacce al processo? "Successo" in pratica significa non solo "soddisfare i requisiti" ma anche rispettare il budget e i tempi. Un buon testing aiuta ad identificare i problemi che rendono lo sviluppo più lungo o più costoso.

Ora, una domanda che chiunque potrebbe fare - perché non fare entrambe le cose durante il processo? E se le stesse persone fanno sia i test unitari che quelli funzionali, c'è davvero qualche differenza?

E questo è quello che sta succedendo ultimamente.

Convergenza di ruoli, evoluzione delle competenze

Vedi come specie diverse hanno un aspetto molto simile? - Si stavano evolvendo per adattarsi ad ambienti simili.

main-qimg-f83f5ae442794b6b6922f39d2bd0654f.webp

(Fonte immagine: Pinterest * Artis Natura Magistra *)

Approcci come Agile, DevOps, Lean, e altri mettono l'accento sulla qualità in tutto il processo. (Naturalmente, ci sono implementazioni scadenti e vere e proprie implementazioni sbagliate.)

Quando è fatto bene, i programmatori imparano a testare, e i tester imparano a trattare il codice. Gli stakeholder del business imparano ad essere coinvolti nel processo di ingegneria. L'intero team si assume la responsabilità della qualità in ogni fase del processo.

E mentre i ruoli di "puro-blackbox-QA-functional-testing" possono estinguersi come quegli Icthyosaurus, il testing - pensiero critico e problem solving - rimarrà e prospererà essendo un antenato comune di tutte le professioni di ingegneria.

Grazie per aver letto!

  • Se ti è piaciuta questa risposta, per favore, vota e seguimi
  • Se l'hai trovata utile condividila con altri
  • Non sei d'accordo o non ti è piaciuta? Sparami un commento! Sono sicuro che c'è un margine di miglioramento.

Di Dorin Droz

Come trovare gli AirPods persi :: Come fanno a far sentire i falsi AirPod pro così reali, anche con la stessa connessione software?
Link utili