Proba unitari

De Wikipedia, le encyclopedia libere
Saltar a: navigation, cercar

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

Le idea es 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 | modificar fonte]

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 utile pro integration continue.
Complete
Illos debe coperir le major quantitate de codice.
Repetibile o reutilisabile
On non debe crear probas que solmente pote esser executate un sol vice. Anque es utile 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.

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

Avantages[modificar | modificar fonte]

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 que 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 es functionante correctemente. De iste maniera on facilita le probas de integration.
Illos documenta le codice
Le proprie probas 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 uno sin affectar al altere, a vices usante objectos mock (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 que pote dismascar los.

Limitationes[modificar | modificar fonte]

Il es importante 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 que affecta tote le systema in su ensemble. Equalmente, il pote non esser trivial 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 los usa in ensemble con altere probas de programmatura.

Utensiles[modificar | modificar fonte]

  • JUnit: Ambiente de probas pro Java create per Erich Gamma e Kent Beck. Illo es basate in SUnit create originalmente pro realisar probas unitari pro le linguage Smalltalk.
  • TestNG: Create pro substituer alcun deficientias in JUnit.
  • JTiger: Basate in annotationes, como TestNG.
  • SimpleTest: Ambiente de probas pro applicationes realisate in PHP.
  • PHPUnit: Systema pro le realisation probas unitari in PHP.
  • CPPUnit: Version del framework pro linguages C/C++.
  • NUnit: Version del framework pro le platteforma .NET.
  • FoxUnit: Ambiente OpenSource de probas unitari pro Microsoft Visual FoxPro
  • MOQ: Ambiente pro le creation dynamic de objectos simulatores (mocks). MOQ.
  • QUnit: Bibliotheca pro probas unitari in Javascript. Create per le fundation jQuery, ha essite rescribite pro esser independente del bibliotheca jQuery.
  • libunittest: Bibliotheca portabile pro probas unitari in C++ que usa le nove standard C++11.
Logo

Iste pagina usa contento del Wikipedia in espaniol. Le articulo original se trova a es:Prueba unitaria, e es usate secundo le mandatos del licentia de Wikipedia.