Pruebas automatizadas
Las pruebas sobre nuestros programas y aplicaciones son un elemento clave para garantizar la calidad de las mismas, esto es debido a muchos factores, uno de ellos es que debemos confirmar que lo que hemos hecho con nuestros algoritmos al ser aplicado a datos reales y en el entorno correcto funcione, también para descartar inconsistencias, etc.
El problema de hacer pruebas es que si las hacemos de forma manual dependiendo del tamaño del sistema a probar esto puede generar un uso grande del tiempo disponible y las pruebas también pueden estar marcadas por los errores humanos.
En esta primera parte veremos una introducción a lo que son las pruebas automatizadas dentro del desarrollo y algunos matices adicionales que debemos tomar en cuenta.
Pruebas humanas
Las pruebas desde sus inicios han requerido el factor humano, sin embargo esto conlleva mucho tiempo y esfuerzo ya que debemos en primer lugar hace los diferentes casos que vamos a probar, establecer un listado de parámetros y mantenerlos por si ocurre un error poder detectarlo.
Pero no solo eso al momento de estar haciendo una prueba de forma manual podemos equivocarnos sin darnos cuenta, ya que como seres humanos estamos propensos a errores constantemente, aparte que si debemos probar un sistema de 20 o 30 módulos probablemente un día no sea suficiente.
Ahora aunque todo parezca desventajas, las pruebas manuales son muy buenas para detectar otro tipo de situaciones, por ejemplo podemos evaluar de forma personal si las interfaces son amigables, que tan intuitiva es la aplicación, que tan placentera es la experiencia de usuario, estos casos si son ideales para hacerlos de forma manual ya que es casi imposible que un programa de computadora nos pueda dar este tipo de información, sin embargo con algunas aplicaciones estadísticas se pueden obtener indicadores sobre el tema.
Pruebas automatizadas
Como ya vimos que las pruebas manuales son muy complejas y poco eficientes en el uso del tiempo y los recursos, desde hace un tiempo se maneja el esquema de pruebas automatizadas, esto se presenta de forma muy útil ya que en vez de pasar horas y horas pantalla tras pantalla, con solo correr un comando podremos obtener resultados de forma inmediata y sin errores.
Veamos a continuación un código de ejemplo donde probamos un método de nuestra aplicación:
Vemos como inicialmente le indicamos que es un método de pruebas, luego definimos un nombre adecuado que nos indique de que tratará la prueba, acto siguiente hemos definido una variable con el resultado de ejecutar el método que necesitamos probar; finalmente utilizando el método AreEqual() validamos el resultado de la variable.
Como vemos es un caso muy sencillo y tal vez se vea como mucho problema, pero esta es la base de las pruebas automatizadas, con ello podremos validar la igualdad, la desigualdad, la existencia o no de componentes, etc.
Con esto finalizamos esta primera parte, hemos aprendido algunas cosas con las que podemos empezar a pensar en el proceso de pruebas automatizadas en nuestras aplicaciones hechas con ASP.NET MVC.