=== Pruebas === Una prueba unitaria[1] es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con las Pruebas de Integración[2], se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión. Las pruebas de software son usadas para identificar posibles fallos, una herramienta para ejecutar pruebas es aquella que verifica los resultados que arroja un código en cierto lenguaje, para la primera versión de la plataforma se tomará como lenguaje C/C++. Las ventajas de usar este tipo de pruebas son muchas, entre ellas están[3]: 1.Los errores son más fáciles de localizar. 2.Los errores están más acotados. 3.Se reducen los “efectos secundarios". 4.Se da más seguridad al programador. 5.Los errores se detectan antes que de otra forma 6.Las pruebas funcionales se hacen más sencillas 7.El programador escribe código de una forma más lógica. 8.Cada prueba se convierte en un ejemplo de uso. Una de las consideraciones a tener en cuenta, al evaluar frameworks para realizar pruebas unitarias en C, es la desventaja que tiene este lenguaje para la gestión del espacio de nombres[15] [16]. || Framework || Setup / teardown || Licencia || Xunit || Dependencias || Excepciones || Emulación Espacio de nombres || Comienzo del Proyecto || ||Check [4] || Si || LGPL || Si ||POSIX (Linux/BSD/UNIX-like OSes) || Si || Si ||29-02-2001 || ||Cunit [11] || Si || LGPL || Si ||Glib (librería Gnome || Si || No ||06-08-2001 || ||Rcunit [6] || Si || GPL || Si ||No || Si || No ||21-09-2006 || ||Cppunit [8] || Si || LGPL || Si ||Compilador y pruebas en C++ || || No ||28-03-2003 || Orden de Selección: 1- Check [4] Es un framework maduro. Las pruebas corren en espacio de nombres separados, y puede verificar a la vez fallo de aserciones y error de código[5]. Presenta una interfaz fácil de usar para realizar las pruebas[5]. Depende de POSIX por lo que solo puede ser implementado en Linux/BSD/UNIX. 2- Rcunit [6] Es un robusto framework que solo necesita el compilador estandar C. Lamentablemente no maneja la emulación de nombres de Check. '''PRUEBAS UNITARIAS EN C++ [14]''' || Framework || Setup / teardown || Licencia || Xunit || Dependencias || Excepciones || Comienzo del Proyecto || ||CppUnit [4] || Si || LGPL || Si || No || Si || 28-03-2003 || ||Boost Test [12] || No || Boost Software License || No || No || Si || - || ||CppUnitLite [13] || Si || Sin informacion || Si || POSIX || No || - || ||CxxTest [10] || Si || LGPL || Si || No || Opcional || 04-05-2002 || Orden de Selección: 1- CppUnit[8]: Representa el framework más completo, maduro, solido y más usado para realizar pruebas unitarias en C++ [9]. 2- Otra posible opción es CxxTest[10] la cual se destaca por la fácil inclusión de nuevos patrones de prueba[9].