Dmitry Dementiy: ¿En qué se diferencia el trabajo de un tester del trabajo de un programador? ¿Y qué tienen en común el trabajo de un tester y un programador?Konstantin Vinogradov: Es más fácil decir en qué se parecen: ambos especialistas trabajan para obtener un producto de calidad que cumpla con los requisitos del cliente. De lo contrario, son áreas de trabajo completamente diferentes.
Por supuesto, hay especializaciones separadas, como el especialista en automatización de pruebas (test automation engineer) o el desarrollador de pruebas (software development engineer in tests), cuyo trabajo es casi idéntico al de un programador. Implica escribir código para pruebas automáticas y marcos de prueba.
Pero en general, las tareas de un tester tienen poca similitud con las tareas de un programador. El análisis de requisitos, la elaboración de un plan de pruebas que cubra los requisitos, la realización de pruebas manuales y la ejecución de pruebas automáticas, la preparación de informes: eso es lo que hace un tester. Si no consideramos el nivel de pruebas manuales simples, diría que este trabajo tiene una componente analítica mucho mayor que técnica.
La validación de un producto requiere que el tester tenga una visión bastante amplia, porque hay que mirar el producto a través de los ojos del usuario y entender sus necesidades. Hay que ser capaz de "ser el usuario" y conocer sus necesidades, lo que no es fácil cuando se trata de soluciones especializadas. Hay que conocer las normas del sector que debe cumplir la solución y ser capaz de verificar este cumplimiento. Hay que encontrar la manera de probar la compatibilidad con las soluciones de la competencia.
Además, un tester tiene que pensar de forma diferente. La forma de pensar del desarrollador debe llevarle a un escenario correcto y óptimo de resolver el problema. La forma de pensar de un tester le lleva a toda la variedad de escenarios, de los cuales, por definición, hay más.
Una vez más: no consideramos a los automatizadores ni a los desarrolladores en las pruebas, porque son, en mi opinión, desarrolladores, no testers.
D. D.: ¿Qué es más fácil de convertirse: en un desarrollador o en un tester?K. V.: En un tester. Pero no porque sea más fácil serlo. Simplemente, el umbral de entrada es más bajo. La carrera de un desarrollador comienza desde la posición de desarrollador de software junior, que requiere un conocimiento mínimo: un lenguaje de programación, algoritmos y estructuras de datos básicas, familiaridad con los marcos de trabajo, etc. Para
convertirse en junior, ya debes ser un desarrollador.
La carrera de un tester comienza desde el nivel de especialista en pruebas manuales (manual testing): hay una descripción de las pruebas, hazlas manualmente, registra los resultados en un informe. Obviamente, comenzar en el segundo caso es más fácil.