Caí en la trampa… Así como yo caí en la trampa, puede que varios de mis colegas también lo hayan hecho y dudo que esto vaya a cambiar en un futuro cercano.
Cuando ingresé al mundo del Testing creí como muchos otros que existía una diferencia clave entre hacer Testing Manual y Testing Automatizado: “El Tester Automatizador se encarga de crear scripts que realicen las mismas acciones que un Tester Manual para así ahorrarse el trabajo de tener que correr las pruebas manualmente”.
Bajo este pensamiento es obvio que yo no quiera tener que realizar pruebas manuales, si sé programar ¿Por qué perder el tiempo en correr pruebas que podrían ser automatizadas?
No podía estar más equivocado en tantas cosas al mismo tiempo, se podría decir que es un error querer diferenciar al Tester por “Automatizador” o “Manual”, aunque por X o por Y ya nos hemos acostumbrado a dichos términos.
Lo que voy a plantear no es una idea nueva, sino más bien una reflexión a partir de la palabra de un Tester con muchísima más experiencia en el campo que yo como lo es James Bach.
Vayamos a la parte visible del problema y qué mejor forma de hacerlo que con una analogía inicial.
Nuestro Título#
Supongamos que un desarrollador de software está buscando trabajo y como existen muchos tipos de puestos y necesidades dentro del mundo del desarrollo decide especificar más sobre qué tipo de trabajo realiza, entonces agrega una etiqueta más a su título, por ejemplo “Desarrollador Backend”.
Leyendo su título entendemos este desarrollador se dedica a programar en X lenguaje y sabemos que está especializado en Backend, posiblemente trabaje en la construcción de APIs, base de datos, etc. Podemos imaginarnos o hacernos la idea de por dónde va la cuestión.
Pero cuando hablamos de Testing, no solemos etiquetarnos de dicha forma… “Tester Backend” si no que solemos categorizarnos como “Manual” o “Automation” en mayor medida.
Pero ¿Qué es realmente ser un “Tester Manual”?
Quizás para las personas menos abocadas al rubro esto haga referencia a que tal como dice el título, el Tester Manual “solamente” realiza pruebas haciendo uso de sus manos como si nos remontásemos a la revolución industrial y nuestro trabajo consistiese en tocar botones y corroborar resultados… Siguiendo este pensamiento es allí donde llegaría el Testing Automatizado, el cual viene a presionar dichos botones y comprobar dichos resultados por nosotros, haciendo el trabajo por nosotros, o mejor dicho, haciendo nuestro trabajo.
Si bien es cierto que el Testing Manual hace referencia a la carencia de herramientas de automatización esto no debería ser una etiqueta y déjame explicar el por qué.
Los Testers tanto “Manuales” como “Automatizadores”, ya sean especialistas o generalistas deben tener un set de habilidades y características que les permita desarrollarse exitosamente en un proyecto, así como lo son el pensamiento crítico, la comunicación, la investigación, la exploración, la curiosidad, entre muchas otras cosas más.
Si pensamos al Testing como una actividad que busca generar un profundo conocimiento del producto para poder comunicar el estado actual del mismo a demanda, categorizar nuestro trabajo de dicha forma carece de sentido.
No solo estamos ignorando el verdadero propósito de nuestro trabajo si no que vamos un paso más allá y queremos reinventar la rueda llamando a un programador “Tester Automatizador”, y déjenme ser claro en esto, no hay ningún problema en automatizar aspectos del Testing, como lo puede ser el chequeo automático de output pero utilizar una etiqueta como esta puede llevar a malas interpretaciones que conduzcan a las personas a pensar que el Testing se puede automatizar.
Y no, hoy en día no sé puede automatizar todos los aspectos de un Tester a la hora de hacer una prueba: verificaciones, razonamientos, dudas, intuiciones, análisis, conclusiones, no son automatizables por completo. No al menos hasta que la IA llegue a la “singularidad” pero eso es tema para otro momento…
Automatizar hoy en día está visto en mayor parte como hacer clicks e inputs en una aplicación ya sea web o mobile para luego verificar que ciertas condiciones se cumplan tras haber realizado dichas acciones, bajo esta concepción entonces nos podemos preguntar: ¿Qué diferencia hay entre un Tester Automatizador y un desarrollador?
Ninguna, un desarrollador podría seguir un lineamiento para llegar a construir las mismas automatizaciones que se le demanden, y es más, lo hacen, o deberían de hacer diariamente cuando crean pruebas para testear el código que escriben.
Y si no me crees, pensá entonces qué se te viene a la cabeza cuándo alguien dice “Automatizar” en el rubro de Testing… Posiblemente pienses en herramientas, Frameworks, programación. Y sí, estás en lo cierto, existen variedad de herramientas que facilitan nuestro trabajo dependiendo del objeto a testear, existen tantas que hay varias para cada propósito, web, mobile, apps de escritorio, servicios, UX y un sin fin. Entonces ¿Qué tipo de Automatizador sos? ¿Backend? ¿Frontend? ¿Se entiende el problema?
Llamarte “Automatizador” no refleja una descripción más cercana a tus propósitos, si crees que automatizar es un propósito en sí mismo, entonces no estarías buscando un “Automatizador”, sino un programador o especialista en cierta herramienta.
A lo que voy con todo esto es el vacío, la confusión y la banalización que generamos a la hora de utilizar estas etiquetas. Así como la palabra “Manual” no te da una pista de la especialidad o conocimiento de un Tester, la palabra “Automatizador” empeora lo anterior haciéndole creer al resto de áreas (y a veces a nuestro propia área) que nuestro trabajo es reemplazable por un script.
Un Automatizador sin conocimientos de fondo de lo que está haciendo no va a generar más que scripts carentes de sentido, que si bien pueden pasar todos “en verde” y ser muy lindo a la vista, después no va a ayudar a aportar valor al producto.
Sinceramente dudo sobre todo aquel que se venda como “Automatizador” seriamente…
Y viene de parte de alguien que se vende como Automatizador. ¿Entonces?
Conclusión#
No todo es tan fácil como decir “dejemos de etiquetarnos así” y listo. Para el mercado un “Tester Automatizador” es como un Tester con esteroides, aunque podemos entender que no tiene por qué serlo, y un “Tester Manual” es un Tester que podría llegar a tener esos esteroides en un futuro. Y con mercado quiero ser claro, no solo me refiero a las empresas que crean búsquedas con dichos nombres, sino también a la otra parte, la oferta, que juega al mismo juego.
Si bien mencioné que los términos son perjudiciales para nuestro área, actualmente es difícil cambiar la terminología cuando somos nosotros mismos quienes la impartimos para promocionar nuestras habilidades y conocimientos, por lo cual no esperaría que esto fuese a cambiar pronto. Al menos, en lo inmediato, podemos llevar claridad al resto de colegas sobre dicha categorización mediante charlas y debates sobre el tema.
Si tuviera que dar una mirada final a todo esto, les diría que no se queden con la primer impresión de un Tester por un simple término como “Manual” o “Automation”, la calidad del trabajo y las capacidades que una persona puede llegar a tener no están impartidas por su conocimiento en programación o sobre una herramienta en particular, sino que están asociadas a las bases de nuestro trabajo, esas tareas las cuales no existe máquina que pueda con ellas, el uso de nuestra consciencia plena, nuestro razonamiento y pensamiento crítico en cada oportunidad que se nos presente.
Reply by Email