miércoles, 18 de noviembre de 2009

El milagro de la automatización

Quién, que trabaje en SQA, no ha oído a su jefe, o a algún enterado, hablar maravillas de la automatización, como si fuera la panacea del SQA. Sin automatización estamos perdidos, sin automatización no podemos crecer (normalmente dicen escalar, que mola más).... Es casi tan repetido como esas otras dos que dicen "El SQA es muy fácil, lo hace cualquiera" o "El SQA lo puede hacer el programador, que es el que entiende mejor la aplicación y el código que ha escrito". No, no voy a comentar estas dos últimas frases, ya que hay extensos artículos y bastantes libros, ambos escritos por gente mucho más capaz que yo, que ya han demostrado, al igual que muchos casos empíricos, la falsedad de semejantes afirmaciones.

En realidad yo estoy bastante a favor de la automatización, es una herramienta (herramienta, no un fin último de suprema excelencia en el SQA), como muchas otras, muy útil a la hora de enfrentarnos a la tarea de probar una aplicación, página web, o lo que se nos ponga por delante. Con lo que no estoy de acuerdo es con ese pensamiento de que, automatizar soluciona todos tus problemas, y que una vez hecho, tienes un QA mucho más robusto y más completo, y tiempo para otras cosas.

La automatización es una muy buena ayuda para, por ejemplo, quitarte de encima tareas muy repetitivas, tests con montones de variables que se hacen eternos (sobre todo en los tests de regresión) y te permite, de forma rápida lanzar una cantidad enorme de pruebas con un, relativamente, bajo coste en tiempo de tus ingenieros de QA. Pero todo esto, no está exento de un cierto grado de inversión, de tiempo y recursos, que muchos no ven. Y no hablo de la creación en si de esos tests automáticos, no, eso, si tienes un buen catálogo de tests y los tienes de manera mas o menos ordenada, es fácil. Hablo de los otros costes, los costes de mantenimientos de esos tests, los costes de equipo necesario para tenerlos en un entorno decente para ser lanzados y hablo de los costes de revisar los resultados de esos tests una vez se han ejecutado, lo cual no suele ser tan fácil como parece.

Automatización si, toda la que se pueda, ya que nunca, nunca, es el 100%, tienes suerte si llegas al 70%. Pero cuidado con los costes escondidos. Cada cambio en el código, cada nueva funcionalidad, acaba afectando a esos tests, y toca revisarlos constantemente, probar si se siguen lanzando y revisar todos los errores para comprobar si son fallos o en realidad son cambios en la funcionalidad que han afectado a los tests. Conlleva un trabajo y un gran esfuerzo, que muchas veces no se tiene en cuenta por que "ya está automatizado".

Así que, ya sabéis, aseguraos de tener en cuenta todos los factores, por que la automatización es una gran herramienta, sobre todo bien hecha, pero conlleva una gran inversión, sobre todo si no se hace desde el principio, y un esfuerzo de mantenimiento y ejecución importante, aunque compensa enormemente el esfuerzo con unos beneficios evidentes.

0 comentarios: