robot_puzzle

Testing Automatizado o Checkeo Automatizado


En el pasado ya hemos hablado del Testing vs. Checking y demostrado sus principales diferencias. Ahora la pregunta es si el Testing Automatizado es realmente testing o es mas checking, en tal caso deberíamos llamarlo Checking Automatizado. Vamos a revisar los puntos destacados del post anterior y evaluar  en cual de las dos prácticas cae el Testing Automatizado.

¿Se enfoca en estar seguro que la aplicación no falla?

SI, mayormente aplicamos el testing automatizado a pruebas de regresión o de humo para obtener un rápido feedback sobre la aplicación ante el cambio que realizamos sobre la misma. Las pruebas automatizadas no piensan por si solas, por lo que solo se enfocan en verificar si la aplicación funciona según lo esperado.

Cuando hacemos un cambio en el código, ¿Queremos estar seguros que todo lo que funcionaba antes sigue funcionando? (Checking)

SI, relacionado con el punto anterior, utilizamos las pruebas automatizadas como una red de seguridad que nos permite hacer cambios en la aplicación sin tener miedo de romperla. Ya que en caso de que la rompamos, vamos a saberlo y poder repararlo antes de que llegue al cliente final.

¿Es explorar y aprender? (Testing)

NO, las pruebas no exploran y menos aprenden. En las pruebas automatizadas las pruebas que corremos tienen definidas las acciones a ejecutar y verificar con anterioridad, no exploran otros caminos mas que los previamente detallados. Ademas, no aprenden sobre la aplicación, el que aprende es el que crea las pruebas automatizadas y puede llegar a modificarlas en base a su aprendizaje. Este puede ser el punto más distintivo, en el testing es vital aprender sobre la aplicación y poder desarrollar un sentido sobre la misma para poder determinar no solo si se cumplen o no las especificaciones, sino también poder contribuir en la mejora de las mismas.

¿Estamos intentando encontrar los limites del producto y su diseño? ¿Tenemos muchas preguntas acerca de este?(Testing)

NO, durante las pruebas automatizadas solo nos limitamos a verificar la funcionalidad, ver si la aplicación se comporta como se espera. Podemos llevar la aplicación al limite desde el lado técnico integrando pruebas de Performance como parte de nuestro framework de automatización pero no podemos encontrar limites funcionales desconocidos o recibir un feedback de que cosas mejorar para potenciar la aplicación bajo pruebas.

¿Puede probar la presencia de errores, pero no la ausencia? (Checking)

SI, las pruebas automatizadas nos van a dar un resultado binario (Pasó o Falló). Nos van a informar si determinados escenarios presentan errores, pero no vamos a poder estar seguros de que esos mismos escenarios no tienen errores (ausencia de errores), ya que al igual que en las pruebas manuales,  existen infinitas posibilidades de escenarios no pudiendo cubrir el 100% y pueden existir situaciones donde el mismo escenario falle dependiendo de los datos utilizados o algún otro factor no contemplado cuando se escribieron las pruebas automatizadas.

¿Puede determinar si nuestros checks han sido lo suficientemente buenos? (Testing)

NO, las pruebas automatizadas por si solas no pueden saber que tan buenos son los checks que ellas mismas hacen, solo las personas que analizan esos checks y sus resultados pueden determinar la calidad y relevancia de los mismos.

Conclusión

Encuentro claro que el Testing Automatizado es más Checking Automatizado que Testing Automatizado, pero también podemos decir que no es solo Checking Automatizado, ya que también sería incorrecto, nos quedaríamos corto en cuanto a la relación actividades vs concepto.

Por otra parte también podemos decir que el testing automatizado abarca muchos niveles de prueba y contribuye de gran forma a las tareas del testing, por lo tanto tal vez con solo llamarlo Automatizacion en Testing daríamos una mejor reflejo de lo que es, una herramienta más en el proceso de Testing que nos puede ayudar tanto con los checkeos como en la generación de datos o en cubrir otras pruebas ademas de las funcionales.

Tal vez con solo llamarlo Automatización en Testing daríamos un mejor reflejo de lo que es.

Lo importante es entender la capacidad del testing automatizado y su alcance, para poder sacar el mayor provecho del mismo y no fracasar en el intento de aplicarlo. Esto también es importante para ver la necesidad del Testing manual para llevar a cabo una buena estrategia de testing ya que con el testing/checking automatizado por si solo no alcanza.

Además, derrumba la idea de que algún día el testing manual va a dejar de existir ya que el testing automatizado no lo reemplaza, le da soporte.

¿Te gustaría alguna aclaración más? ¿Te Parece que falta algo? Deja tu comentario!!!


Te gustó el post? Quieres contribuir para que escriba más? Contribute with the Blog

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s