In programmation, un proba unitari o test unitari (in anglese unit testing) es un maniera de verificar le correcte functionamento de un modulo de codice. Isto servi pro assecurar que cata un del modulos functiona correctemente separatemente. Alora, con le probas de integration, on potera assecurar le correcte functionamento del systema o subsystema in question.

Proba unitari
instantia de: type of test[*]
subclasse de: software testing[*]


Le idea es de scriber casos de proba (test cases) pro cata function non trivial o methodo in le modulo, a fin que cata caso sia independente del resto.

Characteristicas modificar

A fin que un proba unitari sia bon on debe completar le sequente requirimentos:

Automatisabile
Illo non deberea requirer se un intervention manual. Isto es specialmente usate pro integration continue.
Complete
Illos debe coperir le major quantitate de codice.
Repetibile o reutilisabile
On non debe crear probas qui solmente pote esser executate un sol vice. Anque es usate pro integration continue.
Independente
Le execution de un proba non debe affectar le execution de un altere.
Professional
Le probas debe esser considerate equal que le codice, con le mesme professionalismo, documentation, etc.

Ben que iste requirimentos non debe esser completate al pede del littera, on recommenda sequer lo o alteremente le probas perde parte de lor function.

Avantages modificar

Le objectivo del probas unitari es isolar cata parte del programma e monstrar que le partes individual es correcte. Illos provide un contracto scribite que le parte de codice debe satisfacer. Iste probas isolate provide cinque avantages basic:

Illos fomenta le cambio
Le probas unitari facilita que le programmator cambia le codice pro meliorar su structura (lo qui ha essite appellate refactorisation), durante que illos permitte facer probas super le cambios e assi assecurar se que le nove cambios non ha introducite errores.
Illos simplifica le integration
Durante que illos permitte arrivar a le phase de integration con un grado alte de securitate que le codice functiona correctemente. De iste maniera on facilita le probas de integration.
Illos documenta le codice
Le proprie probas le es documentation del codice durante que ibi on pote vider como utilisar lo.
Illos permitte separar le interfacie e le implementation
A causa que le unic interaction inter le casos de proba e le unitates sub proba es le interfacies de iste ultimes, on pote cambiar cata un sin affectar le alteres, vices usante objectos simulatores (mock object) pro simular le comportamento de objectos complexe.
Le errores es plus stricte e es plus facile de localisar
A causa que on ha probas unitari qui pote dismascar los.

Limitationes modificar

Il es importante de vider que le probas unitari non discoperira tote le errores del codice. Per definition, illos solmente verifica le unitates singule. Dunque, illos non discoperira errores de integration, problemas de rendimento e altere problemas qui affecta tote le systema in su ensemble. Equalmente, il pote non esser trivial de anticipar tote le casos special de entratas que le unitate pote in realitate reciper de programma sub studio. Le probas unitari solmente es effective si on lo usa in ensemble con altere probas de programmatura.

Utensiles modificar

 
Nota