¿Qué habilidades de programación necesitan los desarrolladores de software de control de calidad?

Supongo que por "desarrollador de software de control de calidad" te refieres a alguien que es contratado para desarrollar realmente software para realizar operaciones de control de calidad contra algún producto de software y/o hardware. Si esta suposición es correcta, entonces un desarrollador de software de control de calidad es en gran medida un desarrollador de software completo, con conocimientos sobre cómo planificar, diseñar, implementar, automatizar y gestionar las pruebas.

Las habilidades de programación específicas requeridas suelen depender del tipo de producto que se está probando, por lo que un conocimiento bien redondeado de los lenguajes compilados e interpretados es útil. En un gran proyecto en el que trabajé, teníamos un ejército de desarrolladores de software trabajando en el grupo de pruebas para desarrollar código de prueba en C para probar las APIs proporcionadas por un nuevo producto de sistema operativo. Debido al alcance del producto que se estaba probando, y al enorme volumen de casos de prueba que había que ejecutar, los desarrolladores de software del grupo de pruebas tenían que diseñar, implementar, probar y depurar su propio código de prueba (a menudo utilizando herramientas de desarrollo tempranas que a su vez todavía se estaban probando), depurar el código del producto de destino, averiguar exactamente lo que estaba fallando en el producto de destino, y proporcionar un escenario de reproducción completo (incluyendo el código de prueba y las instrucciones paso a paso) cuando se presentaba un informe de error contra el producto.

La automatización de un gran volumen de pruebas desarrolladas suele requerir el conocimiento de uno o más lenguajes de scripting, la capacidad de crear front-ends basados en GUI para facilitar la ejecución de las pruebas a otras personas y, en ocasiones, el conocimiento del trabajo con bases de datos para registrar, resumir e informar de los resultados de las pruebas. En resumen, un desarrollador de software que desarrolle pruebas necesita habilidades de programación y depuración similares a las de un desarrollador de software que desarrolle el producto que se está probando.