Atrás

Testing de aplicaciones en JavaScript

Es bien sabido que todo proyecto que se precie necesita superar una fase de pruebas en su ciclo de vida. Sin embargo, esta realidad cada vez se hace tan evidente que empiezan a surgir metodologías de desarrollo de software en las que las pruebas juegan un papel fundamental. Por ejemplo, en las metodologías ágiles, con el objetivo de de optimizar los tiempos de desarrollo, la calidad de nuestro producto y la satisfacción del cliente, una de las prácticas habituales es la de considerar a las pruebas del software la documentación de las propias funcionalidades, ahorrándonos un paso intermedio de definición y no desarrollo.

Por otro lado, nos encontramos también con la metodología Test DrivenDevelopment, conocida como TDD, que promueve el propio desarrollo del código a partir de una secuencia de la realización de los test de la aplicación generando un fallo y el posterior desarrollo del código necesario para que dicho test consiga ser correcto.

Pero es que, además, dentro del mundo del -cada vez más popular lenguaje de programación- JavaScript, nos encontramos con que la generación de test de pruebas es realmente necesario dada la difícil trazabilidad que tiene este lenguaje. Es por esto que esta tecnología tiene una amplia oferta de frameworks para ayudarnos en este proceso tan importante en el desarrollo del software.

Todas están basadas en los mismos principios básicamente: nos permiten desarrollar una serie de tests y dentro de ellos incluiremos tantas aserciones como necesitemos para dar como válido el propio test. Estas aserciones consistirán en evaluaciones del código con valores concretos y determinando el resultado esperado. Los valores que utilicemos deben seleccionarse asegurándonos que cubrimos los valores frontera que delimitan el rango de valores válidos y los no válidos, pero sin repetir casos equivalentes.

Entonces, ¿qué nos va a hacer decantarnos por un framework u otro? Vamos a ver algunos de los más populares.

  • Jasmine: es uno de los más populares y permite la ejecución de tests de JavaScript tanto para parte de cliente como para la parte del servidor.

  • QUnit: desarrollada por el equipo de jQuery, permite testear tanto en el entorno cliente como en el servidor, como Jasmine.

  • Casper JS: tiene como peculiaridad que, a diferencia de Jasmine o QUnit, los test los realizaremos desde una consola y no desde un fichero HTML, de manera que nos permite hacer pruebas de navegador sin interfaz gráfica, como SlimerJS o PhantomJS.

  • Karma JS: se configura normalmente con Jasmine y es utilizado en desarrollos TDD, ejecutando los tests de manera simultánea a la realización del desarrollo.

Con estas herramientas podremos realizar nuestros propios tests y comenzar a beneficiarnos de todas las ventajas que, como ya hemos visto, nos aporta un buen banco de pruebas en nuestra aplicación.

 

¿Conectamos?

Da un paso adelante con nosotros
suscribete a nuestro newsletter

Suscripción

Últimos posts publicados