Guía de la profesión de tester: qué hace un especialista en QA y cuánto gana

Posición del tester se considera una de las formas más fáciles de ingresar rápidamente a la industria de la tecnología de la información. Se rumorea que esta profesión es fácil de aprender, el trabajo del tester no es difícil y se paga casi tanto como el de un programador. ¿Qué tan cierta es esta información? Vamos a investigar.
¿Quién es un tester, qué responsabilidades tiene y en qué trabaja?
El tester de software planifica y realiza pruebas de aplicaciones, depura código y mejora la uso de los programas. A menudo, a la profesión se le añaden las letras q y a en latín: tester de qa. También se utiliza el término ingeniero de qa. En las letras latinas se esconde la esencia de la actividad del tester. Detalles a continuación.
De qué es responsable el tester
QA proviene de las palabras en inglés quality assurance, que significa aseguramiento de calidad. Es parte del desarrollo que gestiona la calidad del producto. QA es un concepto amplio y el trabajo de aseguramiento de calidad comienza mucho antes de escribir la primera línea de código de la futura aplicación. En un mundo ideal, el ingeniero de calidad trabaja en el producto, si no en la etapa de generación de ideas, entonces en la etapa de investigación de mercado y estudio de las necesidades del público objetivo.

En el amplio concepto de QA también se incluye otra área de actividad: QC, control de calidad. Los ingenieros de QC controlan el producto durante el desarrollo y el soporte. La prueba de software es una de las herramientas de control de calidad. Es decir, el tester verifica la aplicación como parte de las actividades de control de calidad (QC) que forman parte del complejo de trabajo de aseguramiento de calidad (QA).

En un sentido amplio, los testers participan en la creación de software útil para los usuarios. Si se especifica, los testers controlan la calidad de las aplicaciones en las que trabaja la organización.
En qué trabaja el tester
Hay pruebas manuales y automatizadas de software. En consecuencia, los especialistas en pruebas manuales verifican las aplicaciones manualmente, mientras que los especialistas en pruebas automatizadas trabajan con programas.

El tester manual esencialmente simula las acciones del usuario de la aplicación manualmente. El especialista se asegura de que el programa funcione como se espera en diferentes escenarios de interacción. A veces, las pruebas manuales se llaman pruebas de caja negra o pruebas de comportamiento. Pero las pruebas automáticas también se realizan más a menudo utilizando la estrategia de caja negra.
La estrategia de caja negra se refiere a un enfoque en el que el objeto se prueba sin conocimiento de su estructura interna.
Al planificar pruebas de comportamiento, el especialista tiene en cuenta los requisitos técnicos del software. Por ejemplo, la especificación indica que después de registrar un nuevo usuario, la aplicación envía un correo electrónico de confirmación a la dirección de correo electrónico especificada. El tester se registra en la aplicación y verifica si se ha recibido el correo correspondiente.

Las pruebas manuales son la forma más sencilla de evaluar la calidad de una aplicación. Probar una aplicación manualmente es una operación "costosa", ya que la velocidad y precisión de las verificaciones están limitadas por las capacidades de los testers.

Las pruebas automatizadas implican verificar las aplicaciones utilizando software. Esto no significa que no se necesiten testers para las pruebas automáticas. Por el contrario, un especialista en pruebas automáticas debe saber y poder más que un tester manual.

Aquí hay una descripción aproximada del trabajo de un experto en pruebas automatizadas. En primer lugar, selecciona casos de prueba o funciones de la aplicación que deben verificarse. Por lo general, para las pruebas automáticas, se seleccionan funciones críticas para el funcionamiento del software, como el procesamiento de pagos o el almacenamiento de datos de usuario. Las pruebas automáticas son adecuadas cuando las pruebas se repiten varias veces o cuando se requieren grandes volúmenes de datos para verificar una función de la aplicación.

Luego, el tester selecciona herramientas, planifica e implementa el diseño de la verificación. En esta etapa, el especialista prepara datos para las pruebas, configura las herramientas, establece un horario de pruebas. Las pruebas se ejecutan, los resultados de las pruebas se registran automáticamente. El especialista analiza los datos obtenidos y transmite la información a los desarrolladores.

La automatización de las pruebas ahorra recursos a la organización. Permite repetir las pruebas de las aplicaciones con un esfuerzo mínimo, requiere menos tiempo en comparación con las pruebas manuales y reduce la cantidad de errores.

En resumen, los testers controlan la calidad del software. Esta actividad forma parte del complejo de trabajo de QA, que garantiza la calidad de las aplicaciones. Las pruebas pueden ser manuales y automatizadas. Las pruebas manuales implican verificar las aplicaciones manualmente, y los especialistas utilizan programas para las pruebas automáticas.
Trabajo de un tester: dónde trabajan los ingenieros de QA, cuánto ganan, qué vacantes hay en el mercado
Los testers trabajan en equipos que se dedican al desarrollo de software. Estas son más bien empresas medianas y grandes que desarrollan su propio producto o trabajan según el modelo de outsourcing.

Los ingenieros de QA y los testers de QC a menudo son contratados por equipos que utilizan DevOps. En estos equipos, el desarrollo, las pruebas y el soporte de software se realizan de forma cíclica utilizando enfoques ágiles o Scrum.
Cuánto ganan los testers
Según Anton Yakutovich, ingeniero de QA, en el mercado hay varios niveles de testers: principiantes, especialistas de nivel medio, especialistas experimentados y expertos en pruebas automatizadas. Los salarios en cada nivel difieren del anterior en aproximadamente un 1,5 veces.

A partir de la primavera de 2022, en el sitio web indeed.com hay 676 vacantes para "tester" en todas las regiones de Méxcio. Empresas como "Amazon", "Ford", "Game Solutions" y otras están buscando empleados. El salario máximo es de 85,000 pesos mexicanos al mes. El salario mínimo indicado es de 12,000 pesos mexicanos al mes.

La mayoría de las vacantes están abiertas en la Ciudad de México y Monterrey, pero también se necesitan estos especialistas en otras regiones. Por ejemplo, en la ciudad de Guadalajara hay 98 vacantes de prueba, en Estado de México hay 46 vacantes.
Cómo convertirse en tester: qué se necesita saber y dónde estudiar
En esta sección hablaremos sobre los conocimientos necesarios para los testers y sobre la educación. Es importante entender que los requisitos para los solicitantes varían de una empresa a otra, por lo que a continuación encontrará información general.
Qué debe saber y qué habilidades blandas necesita un tester, qué soft skills necesita este especialista
En primer lugar, el especialista debe aprender los fundamentos de las pruebas. La clasificación de las pruebas, los métodos y herramientas, la creación de escenarios de prueba, son el conjunto básico de conocimientos con los que los futuros testers comienzan a familiarizarse con la profesión.

Se necesitan conocimientos básicos de programación, protocolo HTTP, habilidades para trabajar con bases de datos y sistemas de control de versiones, al menos conocimientos básicos de HTML y CSS.

El tester debe poder trabajar con la línea de comandos, conocer los navegadores y las herramientas de desarrollo. También se necesitan habilidades para trabajar con herramientas de prueba automatizadas, como HP-UFT (anteriormente QTP), Selenium, Sahi, etc.

Los especialistas mencionan diferentes habilidades blandas que los testers deben tener. Entre las habilidades blandas específicas de esta profesión se pueden mencionar la atención a los detalles, el pensamiento crítico y la capacidad de analizar información.
Dónde estudiar pruebas
En Códica, hay una profesión llamada "Ingeniero de pruebas" que puedes aprender desde cero en cuatro meses.
La nueva profesión consta de tres módulos principales:
  • 1
    Fundamentos de las pruebas de software. Los estudiantes se familiarizan con los fundamentos de las pruebas y aprenden a realizar pruebas manuales de aplicaciones web. Aprenden a crear listas de verificación y casos de prueba para encontrar errores, así como a redactar informes claros sobre los resultados de las pruebas. En este mismo bloque, se aborda la organización del proceso de prueba, los plazos y los plazos en el trabajo del tester, el análisis de los requisitos del producto y el estudio de la técnica de diseño de pruebas.
  • 2
    Introducción a la automatización. Sumergirse en la teoría y la estrategia de la automatización, trabajar con Selenium, analizar los principios de la construcción de pruebas de carga utilizando Apache Jmeter y las características de las aplicaciones móviles, trabajar con emuladores.
  • 3
    Práctica en pruebas. Un módulo con un gran proyecto en el que los estudiantes aplican los conocimientos adquiridos en la práctica y participan en las pruebas de un proyecto real.
Todos los estudiantes de la profesión "Ingeniero de pruebas" tendrán acceso a una trayectoria profesional, que es nuestro servicio para aquellos que buscan su primer trabajo en TI. Les enseñaremos cómo redactar un currículum y una carta de presentación correctamente. También encontraremos vacantes y pasantías en empresas asociadas y los prepararemos para las entrevistas.

Además de los proyectos de estudio, los estudiantes de la profesión "Ingeniero de pruebas" podrán participar en proyectos de código abierto de Códica. Esto les permitirá no solo consolidar en la práctica los conocimientos adquiridos durante sus estudios, sino también agregar experiencia en pruebas y trabajo en un producto real a su cartera.

Si hablas inglés, puedes tomar cursos en plataformas conocidas en inglés como Udacity, edX, Udemy, Coursera, etc.
En resumen, para trabajar como tester, se necesitan conocimientos especiales, que incluyen los fundamentos de las pruebas, los fundamentos de la programación, los sistemas de control de versiones, las herramientas de automatización, etc. Algunos de estos conocimientos se pueden obtener en Códica.
Profesión a través de los ojos de los profesionales: comentarios de expertos sobre el trabajo de los testers, las perspectivas y la educación
Nos dirigimos a profesionales experimentados en el campo de QA para obtener información sobre los matices de la profesión de tester. Respondieron algunas preguntas sobre la profesión.

Konstantin Vinogradov: después de los cursos de programación, puedes convertirte en tester sin problemas
Konstantin Vinogradov, ingeniero de QA
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.
D. D.: Desde el punto de vista financiero, ¿qué es más rentable: aspirar a un puesto de tester o a un puesto de programador?

K. V.: Desde el punto de vista financiero, es más rentable aspirar a un puesto de programador. Pero mira el punto sobre el pensamiento. Hay una opinión de que aquellos que nacen para ser buenos testers serán malos programadores. Y viceversa.
Y nuevamente, los automatizadores son una historia aparte: a menudo sus salarios son comparables a los de los programadores. Precisamente porque, de hecho, se dedican al desarrollo y se les paga para que no se vayan al desarrollo.

D. D.: Para verificar las aplicaciones escritas por los programadores, ¿el tester debe entender el código mejor que los programadores? ¿Es cierta esta afirmación?

K. V.: Esto depende en gran medida del enfoque de las pruebas en una empresa en particular. A menudo, hay casos en los que el tester no tiene que mirar el código en absoluto. Esto puede aplicarse especialmente a varias soluciones integradas o firmware de dispositivos. Pero el tester debe saber cómo se desarrolla el producto, cómo funciona y por qué se hizo de esa manera.

D. D.: ¿Se puede considerar la posición de tester como una de las formas más fáciles de ingresar a la TI?

K. V.: Creo que sí.

D. D.: ¿Qué herramientas utilizan los testers: entorno, editores e IDE, bibliotecas y marcos de trabajo?

Depende del conjunto de productos y de lo que se automatice en las pruebas. En mi caso:
  • Linux/macos;
  • VScode;
  • Pytest;
  • Jenkins;
  • Gitlab.
D. D.: ¿Dónde se puede aprender a probar software? ¿Se puede convertir en tester después de cursos de programación?

K. V.: No mencionaré ejemplos de cursos, porque no puedo decir nada sobre ellos. Todos los colegas testers aprendieron directamente en el trabajo. Después de los cursos de programación, puedes convertirte en tester sin problemas. Al igual que después de otros cursos. Porque las profesiones reflejan enfoques completamente diferentes.
Stanislav Uryupin: solo se puede aprender a probar en la práctica
Stanislav Uryupin, ingeniero de QA, líder del proyecto educativo voluntario Sciberia
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?

Stanislav Uryupin: Evitando definiciones formales que se refieren a diferentes estándares, la descripción de la diferencia en el trabajo de un programador y un tester se puede reducir a lo siguiente: el trabajo de un programador consiste en crear aplicaciones, y el trabajo de un tester consiste en garantizar su funcionamiento confiable. Sin embargo, estas profesiones tienen objetivos comunes: crear programas completos que sean utilizados por otras personas y sistemas.

D. D.: ¿Qué es más fácil de convertirse: en un desarrollador o en un tester?

S. U.: Es más fácil comenzar una carrera en TI como tester que como desarrollador. Pero en los últimos años, la complejidad de los programas desarrollados y los requisitos impuestos a ellos han aumentado significativamente. Estos cambios no pudieron dejar de afectar el trabajo de los testers. Como resultado, el umbral de entrada a la profesión ha aumentado.

Ahora, a un tester principiante ya no le basta con conocer la teoría en general y cómo se elaboran los casos de prueba. Necesita saber mucho más: desde cómo funciona el trabajo en un campo de prueba específico hasta las ideas sobre las metodologías de desarrollo modernas.

D. D.: Desde el punto de vista financiero, ¿qué es más rentable: aspirar a un puesto de tester o a un puesto de programador?

S. U.: En mi opinión, es incorrecto acercarse a la elección de una profesión cuando el criterio principal es el nivel de salario. En esta posición hay una trampa: es muy difícil desarrollarse dinámicamente en un área profesional si el interés por ella no está en la cima de la elección motivacional. Y sin un desarrollo dinámico, no se puede esperar un crecimiento real en las expectativas salariales. En cualquier área de TI, los profesionales de alto nivel pueden recibir un salario digno.
D. D.: ¿Para verificar las aplicaciones escritas por los programadores, el tester debe entender el código mejor que los programadores. ¿Es cierta esta afirmación?

S. U.: Esta afirmación no es cierta. Nadie más que los propios programadores debe entender mejor el código. Los testers a menudo trabajan según la estrategia de caja negra, cuando el acceso directo al código está cerrado para el análisis. Pero el tester tiene a su disposición varios métodos e instrumentos para determinar la funcionalidad de los programas.

D. D.: ¿Se puede considerar la posición de tester como una de las formas más fáciles de ingresar a la TI?

S. U.: Sí, pero solo en parte. Todo depende de los objetivos específicos. Por ejemplo, a menudo los principiantes ven el trabajo en pruebas como una etapa intermedia antes de pasar al desarrollo. La prueba y el desarrollo son áreas de actividad diferentes. Cada uno tiene características distintivas sin las cuales el trabajo productivo es imposible. Por lo tanto, inevitablemente habrá que gastar recursos en sumergirse en el campo temático.

Si el objetivo es ingresar al desarrollo o a otras áreas de trabajo en TI, como DevOps o análisis, vale la pena estudiar estas áreas por separado. Pero, ¿se puede hacer esto sin disminuir la productividad en el trabajo de pruebas? Esta es una pregunta abierta.

D. D.: ¿Qué herramientas utilizan los testers: entorno, editores e IDE, bibliotecas y marcos de trabajo?

S. U.: El campo de las pruebas es amplio y tiene muchas direcciones en las que se pueden encontrar herramientas específicas. Hay herramientas que los testers utilizan independientemente de la dirección. Por ejemplo, sistemas de gestión de pruebas o sistemas de seguimiento de errores.

D. D.: ¿Dónde se puede aprender a probar software? ¿Se puede convertir en tester después de cursos de programación?

S. U.: Solo se puede aprender a probar en la práctica, al igual que muchas otras cosas. Si no hay experiencia con la que se pueda comenzar una carrera, vale la pena estudiar la teoría y utilizar soluciones listas para la práctica. Por ejemplo, elegir un sitio web o una aplicación móvil y tratar de aprender a crear casos de prueba o estudiar posibles errores.
Debe tener en cuenta que ningún curso en el mundo puede garantizar el empleo a menos que la persona misma se esfuerce por encontrar trabajo. Si pasa con éxito los cursos de programación y tiene el deseo de probar, los conocimientos adquiridos en los cursos facilitan la entrada a la profesión, ya que las áreas de actividad están estrechamente relacionadas entre sí.
Conclusión: los empleadores necesitan testers y los solicitantes deben aprender y practicar
El tester no es una persona de la calle, sino un especialista calificado que debe saber y poder mucho, practicar y desarrollarse constantemente. Los empleadores están dispuestos a pagar salarios dignos a los especialistas en pruebas automatizadas. Para convertirse en tester, es necesario aprender de forma independiente o tomar cursos. Según los expertos, la posición de tester se puede considerar una de las formas más fáciles de ingresar a la industria de la tecnología de la información.
Leer otros artículos de Blog
Lee otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.