Software Tester: responsabilidades, competencias y formación

Software Tester: qué hace
Para sacar al mercado un nuevo software es necesario realizar algunas pruebas y ensayos preliminares, como con cualquier otro tipo de producto.
Esta fase, comúnmente denominada Software Testing, garantiza la calidad del software, la correspondencia de sus funcionalidades con los requisitos declarados por el fabricante y una User Experience (UX) adherida a las expectativas del usuario final1.
Los posibles fallos de funcionamiento (también conocidos como bugs) a menudo sólo son evidentes en la fase de pruebas. Por lo tanto, si se descuida esta fase, el usuario puede encontrarse con un software que no funciona correctamente.
La figura principal que se ocupa del Software Testing es el Software Tester.
Según el proceso elegido de acuerdo con el equipo de desarrolladores, en empresas más estructuradas puede encargarse de probar el producto en las distintas fases de desarrollo.
El Software Tester desempeña un papel importante en el ciclo de vida de un software: contribuye al diagnóstico, planifica el análisis de la funcionalidad y evita las ineficiencias del producto.
En general, el Software Tester es responsable de:
- Planificación y aplicación de estrategias de testing.
- Identificar las averías del producto y sus causas (actividades de debugging y error fixing)2.
- Identificar cualquier actualización que deba realizarse en el software, en colaboración con el equipo de desarrollo.
- Elaboración de documentación sobre los procedimientos de prueba realizados;
- Verificación de la calidad del producto mediante tests ad hoc.
Formación y competencias del Software Tester
Por lo general, el Software Tester es licenciado en Informática o en Ingeniería Informática. Una especialización en Software Engineering puede ser igualmente útil.
También es posible especializarse en un determinado campo o tipo de pruebas:
- Performance test, es decir, de rendimiento.
- Load/ volume test, pruebas de carga/volumen.
- Stress test.
- Destructive software testing (DST).
- Usability testing y accessibility testing.
Normalmente, el Software Tester posee una mezcla de habilidades que van desde las puramente técnicas hasta las más transversales.
Las competencias técnicas incluyen:
- Conocimiento de las herramientas de gestión de pruebas más comunes (por ejemplo, TestLink).
- Conocimiento de las herramientas de prueba más comunes para detectar fallos (Bugzilla, Jira, etc.).
- Conocimiento de los lenguajes de programación más comunes, como C#, C++, Java, Python, PHP y Ruby.
- Conocimiento de las principales metodologías de desarrollo de software (Waterfall, Agile...).
- Conocimiento de las principales características de UNIX, Linux o Windows.
- Conocimiento de las principales herramientas de scripting.
- Conocimiento básico del funcionamiento de las bases de datos SQL (como Oracle, MySQL...)3.
Los principales soft skills que caracterizan al Software Tester son:
- Capacidad para trabajar de forma independiente pero también en equipo.
- Habilidades interpersonales y de comunicación.
- Capacidad de análisis.
- Precisión.
Fuentes
- Qué es el testing de software y por qué es tan importante en el desarrollo de software, pacifitic.org
- What is software testing and how does it work?, ibm.com
- Software testing: definición, tipos y beneficios, iebschool.com