Testing de Regresión

Las pruebas de regresión son algunas de las pruebas que tengo diseñadas que se seleccionan para ejecutar periódicamente, por ejemplo, ante cada nueva versión del producto.

Tienen el objetivo de verificar que el producto no ha sufrido regresiones. Entonces, cada vez que hay una nueva versión del software, nosotros los testers vamos a decidir ejecutar las mismas pruebas que tenemos diseñadas, y que nos aseguran que las funcionalidades que el software tiene siguen funcionando.

Por ejemplo, en el carrito, en cada nueva versión deberíamos probar:

  • que puedo registrar un usuario
  • que puedo agregar elementos al carrito y se calcula bien el precio
  • que puedo pagarlo

Son funcionalidades muy importantes, y si estas no funcionan, entonces el sistema va a darle problemas a los usuarios, y de ahí la importancia de ejecutarlas cada vez.

¿Por qué se llaman pruebas de regresión?

En un principio pensaba que se refería a regresar a ejecutar las mismas pruebas, ya que se trata un poco de eso. Luego vi que el concepto en realidad está asociado a verificar que lo que estoy probando no tenga regresiones. El tema es que “no tener regresiones” imaginé que se refería a que no haya una regresión en su calidad, o en su funcionalidad, pero escuché el rumor de que el concepto viene de la siguiente situación: si los usuarios tienen la versión N instalada, y le instalamos la N+1, y esta tiene fallos, nos veremos atormentados al tener que volver a la versión previa, hacer una regresión a la versión N. ¡Queremos evitar esas regresiones! Y por eso se realizan estas pruebas.

Tampoco es válido pensar que las pruebas de regresión se limitan a verificar que se hayan arreglado los bugs que se habían reportado, pues es igual de importante ver que lo que antes andaba bien ahora siga funcionando.

Generalmente cuando se diseñan las pruebas para determinadas funcionalidades, ya se definen cuáles son las pruebas que serán consideradas dentro del conjunto de pruebas de regresión. O sea, las que serán ejecutadas ante cada nueva liberación del producto, o en cada ciclo de desarrollo. Ejecutar las pruebas de regresión consistirá en ejecutar nuevamente las pruebas previamente diseñadas.

Hay quienes dicen que al contar con una listita con los pasos a seguir y las cosas a observar no se está haciendo testing, sino un simple chequeo. James Bach y Michael Bolton, dos de los expertos en testing, comentan en un par de artículos las diferencias entre el testing y el chequeo. El testing es algo donde uno pone creatividad, atención, busca caminos nuevos, piensa “¿de qué otra forma se puede romper?”. Al chequear simplemente, nos dejamos llevar por lo que alguien ya pensó antes, por esa ya mencionada lista de pasos.

Un problema que surge con esto es que las pruebas de regresión viéndolas así son bastante aburridas. Aburrimiento genera distracción. La distracción provoca errores. El testing de regresión está atado al error humano. ¡Es aburrido volver a revisar otra vez lo mismo! eso hace que uno preste menos atención, e incluso, puede llegar a darse la situación de que uno desea que algo funcione e inconscientemente confunde lo que ve para dar un resultado positivo.

¡Ojo! ¡No estamos diciendo que el testing sea aburrido! Al menos a nosotros nos encanta. Estamos diciendo que las cosas rutinarias son aburridas y, por ende, propensas al error. Esto hace que tengamos que tener especial cuidado al ejecutarlas.

results matching ""

    No results matching ""