¿La automatización de pruebas reemplaza al Tester?

humano robot

Muy frecuentemente, surge este tema, ya sea como pregunta o como materia de discusión. Algunos parecen tener la fantasía de reemplazar a los Testers por un conjunto de pruebas automatizadas, que presionando un botón garanticen la calidad de un producto. Sin embargo, las cosas no son tan sencillas, y se corre el riesgo de perderse una parte importante de los beneficios de una prueba bien realizada.

Existen, dentro de la labor del Tester, dos conjuntos de actividades o tareas bien diferenciados.

Por un lado, tareas que son estructuradas, esquemáticas e incluso repetitivas. En este grupo, podemos incluir a las que en el mundo ágil se conocen como story tests, que son aquellos tests que se encargan de verificar que se cumplen los criterios de aceptación de cada una de las user stories. Estas pruebas normalmente cubren el camino feliz o correcto, es decir, la forma normal o esperada de utilizar la aplicación. Son bastante lineales, ya que surgen directamente de los criterios de aceptación. Contando con estos, el diseño de los tests no requiere mayor esfuerzo, y su ejecución no produce mayor emoción.

En este grupo también podemos incluir a las pruebas de regresión. Estas pruebas son fundamentalmente repetición de tests que ya se han realizado, con el objetivo de verificar que no se han introducido nuevos errores. Y son reiterativas por naturaleza. Es decir, que ante cada modificación que se le realiza al sistema, deben ejecutarse las mismas pruebas de regresión. Una y otra vez. No es difícil imaginar que en desarrollos con numerosas iteraciones, las pruebas de regresión llegan a ser la pesadilla del Tester.

De acuerdo a sus características, los tipos de pruebas que incluimos en este primer grupo son ideales para automatizar. Tanto las story tests como las pruebas de regresión, al ser estructuradas y repetitivas, qué mejor que dejarlas en manos de un robot. Por un lado, cualquier Tester estará de acuerdo en que son aburridas, de manera que le haremos un gran favor si se las ahorramos. Por otro lado, el robot nos garantiza una ejecución eficiente: no sólo van a ser más rápidas, sino que podremos estar seguros de que no se olvidará de nada y cumplirá al pie de la letra con todos los pasos necesarios para la ejecución de cada uno de los tests.

Ahora bien, del otro lado, tenemos otro conjunto de pruebas de características totalmente distintas. Son las que llamamos pruebas exploratorias. Estas pruebas son desestructuradas y requieren de creatividad. Típicamente, el Tester se sienta ante la aplicación y va ejecutando pruebas a medida que va descubriendo las funcionalidades, sin otra guía que su experiencia y creatividad. Muchas veces, estas pruebas se utilizan para suplir la falta de documentación. En muchos otros casos, son el complemento de las pruebas anteriores. La gran ventaja de este tipo de tests es que suelen revelar fallas desconocidas, aquello en lo que nadie pensó y la creatividad del Tester supo sacar a la luz.

Para este tipo de pruebas, los robots no son apropiados. Se necesita una persona, un Tester que además cuente con buenas habilidades y vasta experiencia, que va a combinar con su creatividad para descubrir aquello en lo que nadie pensó. Esta es la tarea que suele resultar más gratificante, desafiante y entretenida para los Testers, y la que nunca se van a aburrir de ejecutar. Es lo que hace el trabajo del Tester interesante y divertido.

En suma, ¿La automatización de pruebas reemplaza al Tester? En parte sí, y está bien que lo haga, en cuanto se enfoque en aquellas tareas repetitivas y estructuradas, que para un ser humano resultan monótonas y aburridas. Y en parte no, ya que no se puede encomendar a un robot una tarea desestructurada y creativa como el test exploratorio. Para eso es imprescindible un ser humano.

Lo que hay que entender, es que no conviene robotizar a un ser humano, poniéndolo a ejecutar tareas repetitivas, ni humanizar a un robot, esperando que aporte creatividad o pensamiento lateral. Para que los resultados sean exitosos, debemos aplicar cada recurso en lo que mejor sabe hacer.

Anuncios

2 thoughts on “¿La automatización de pruebas reemplaza al Tester?

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