Sistema Web de Asignación de Aulas de los Laboratorios de Computación de la ESPE, Aplicando la Metodología Agile Unified Process (AUP), utilizando el Framework Junit (GEEKS DECC-REPORTS, 2016)
El presente trabajo está orientado a realizar un estudio del desarrollo guiado por pruebas, o Test Driven Development (TDD), que es una técnica de programación que involucra principalmente dos prácticas: escribir las pruebas primero (Test First Development) y refactorización (Refactoring), aplicado al desarrollo de una herramienta informática que permita minimizar la gestión de reservas de los laboratorios computacionales de la ESPE. El procedimiento de esta técnica empieza por escribir una prueba acorde a un requerimiento específico, en la cual se verifica que dichas pruebas fallen, luego se implementa el mínimo código que haga que la prueba pase satisfactoriamente para proceder a re-factorizar el código escrito si fuere necesario.La aplicación práctica de TDD fue realizada en el desarrollo de un sistema Web de reserva de laboratorios computacionales de la ESPE (SILVERLAB), siguiendo los lineamientos de la metodología de desarrollo de software AUP, la cual se basa en cortas iteraciones, desde el levantamiento de requisitos, análisis, diseño e implementación. Para las pruebas se utilizó la herramienta JUNIT con la finalidad de verificar, manejar y ejecutar conjuntos de pruebas automatizadas. El producto software resultante es un sistema Web distribuido en lenguaje de programación JAVA, basado en el patrón de diseño Modelo Vista Controlador que permite separar en componentes dicho sistema, además posee un motor de base de datos MYSQL. Tras el desarrollo de la aplicación se evidenció las ventajas que provee TDD tales como: Permitir identificar lo que es realmente imprescindible implementar por lo que se ahorrará tiempo desarrollando código que luego no se usará; Ayuda al programador a tener un mayor nivel de confianza en el código desarrollado; Fuerza a un estricto análisis y diseño, ya que el desarrollador no puede crear código de producción sin entender realmente cuales deberían ser los resultado deseados y como probarlos; El conjunto de test unitarios proporciona constante retroalimentación de que cada uno de los componentes sigue funcionando.