miércoles, 10 de junio de 2015

¿Un Tester QA debe programar?

clip_image002

El Tester de hoy, por naturaleza, debe ser un profesional con elevada capacidad de comunicación, proactivo, analítico, metódico y con conocimientos técnicos que le permitan la ejecución exitosa del ciclo de vida de prueba del software.

Actualmente, las empresas tienen una mayor demanda del servicio Testing QA y eso ha sido una parte fundamental en la reformulación del perfil que debe tener un Tester.

Este crecimiento en la demanda y el hecho de que hoy por hoy el desarrollo de las aplicaciones se han vuelto más complejas y requieren mayor integración con otros sistemas; hicieron surgir la necesidad de automatizar las pruebas, para disminuir los tiempos empleados en el STLC y lograr mayores niveles de calidad.

La implementación de herramientas de automatización para hacer una gestión más efectiva en el tiempo de prueba ha generado que el Tester deba adquirir conocimientos de programación.

La programación, que siendo una disciplina de la Ingeniería de Software, nos va a permitir aprovechar todo el potencial de nuestra profesión.

Qué beneficios podemos obtener como Tester:

· Mejoras en la organización de las pruebas.

· Mayor capacidad para aplicar pruebas complicadas.

· Entendimiento de los problemas que pueda tener la aplicación en las capas anteriores del frontend y a nivel técnico precisar el bug detectado.

· Mejoras en la comunicación con el equipo, ya que al brindar un sistema para recolectar y diseminar información de manera eficaz, proporcionamos una retroalimentación oportuna al equipo de programación.

· Diseño e implementación de script’s para la automatización de pruebas funcionales.

· Estabilización temprana del código evitando el re-trabajo.

· Habilitación de pruebas de regresión y disminución del tiempo aplicado en los ciclos de pruebas.

· Realización de un mayor número de pruebas. Algunos de los problemas hallados por la automatización, tal vez no hubieran sido encontrados utilizando sólo pruebas manuales, debido a limitantes de tiempo.

· Mayor confiabilidad en los resultados.

· Esto nos facilita analizar cómo nuestra labor complementa y asiste a otras áreas. Somos más valiosos como parte integral de la empresa que como un elemento aislado de la misma.

Como les comenté anteriormente, existe un incremento en la demanda de las áreas de Testing de las empresas. Ahora bien, por un motivo de costos, la búsqueda tiene sus exigencias. El Tester buscado es aquel que tenga conocimientos de programación en herramientas de automatización para las pruebas de regresión. Y sumado a los distintos tipos de pruebas (Sistema, integradas, funcional, no funcional), lo harán un recurso muy valioso.

Este punto me invita a pensar. ¿ El Tester Funcional tiene sus días contados?

clip_image004

Pienso que NO. Conozco a muchos Testers que tienen conocimientos del funcionamiento de una aplicación y sus distintas capas, y junto a los conocimientos del negocio le permiten hacer un test exploratorio o manual más eficiente que un programador.

El Tester debe combinar sus conocimientos para poder aumentar su efectividad de ejecución de los ciclos de pruebas y continuar con el crecimiento profesional, a la par del avance tecnológico que le permitirá ser un recurso más preciado.

Siendo una necesidad el aprendizaje de un lenguaje de programación de acuerdo a la meta del Tester o al objetivo del proyecto. ¿Cuál es el más conveniente (Java, .net, php, ruby, Javascritp python, csharp)?

Si bien el tester funcional seguirá activo en los proyectos, cada vez toman más fuerza los testers que manejan distintas herramientas y que conocen lenguajes de programación capaces de automatizar tareas.

clip_image006

 

 

 

 

Autor:

Álvaro Guaramato

Líder Técnico de QA asignado al proyecto del Assessment de Testing & QA en Banco Hipotecario.