Perfil de Tester / Software Tester

Perfil de Tester / Software Tester

¿Qué hace un tester?

Un tester es una persona que prueba software o proyectos similares en busca de errores, defectos o cualquier problema que pueda encontrar el usuario final. En pocas palabras, el papel de un tester es probar productos y proporcionar informes al equipo del proyecto sobre cualquier problema o mejora que el producto pueda requerir.


Para hacerlo, primero deben analizar un proyecto e identificar los distintos tipos de pruebas que deben ejecutarse. Luego, los testers crean un plan que implementa estas distintas pruebas.


La prueba de software es un proceso de verificación de un sistema o programa informático para decidir si cumple con los requisitos especificados y produce los resultados deseados. Como resultado, identifica errores en el producto o proyecto de software. Las pruebas de software son indispensables para proporcionar un producto de calidad sin ningún error o problema. 

Ciclo de vida de Software Testing

¿Hay diferentes tipos de testers?

De acuerdo con el tipo de actividades que realizan, podría decirse que existen diferentes tipos de testers.

  • Tester administrativo
  • Tester técnico
  • Tester analítico

Tester administrativo

Los testers administrativos generalmente quieren avanzar las cosas, eliminar los obstáculos y terminar. Los testers administrativos de alto nivel quieren estar en reuniones, hacer un seguimiento de los acuerdos, obtener los recursos y actualizar los paneles.

Tester técnico

El tester técnico crea herramientas, usan herramientas, y piensan en términos de código. Trabajan como parte de un equipo de desarrollo y realizan pruebas funcionales y no funcionales de una gama de productos técnicos. Los testers técnicos generalmente revisan y contribuyen en la planificación de prueba, además de analizar y evaluar los requisitos y especificaciones.

Tester analítico

Los testers analíticos aman los modelos y disfrutan de las matemáticas. Crean diagramas, matices y esquemas.

Tipos de Software Testing

Existen diferentes tipos de software testing, tanto de pruebas funcionales, como de pruebas no funcionales. Cada tipo de prueba tiene sus propias características, ventajas y desventajas.


Pruebas funcionales

Las pruebas funcionales se enfocan solo en la salida para verificar si se cumple con el requisito o no. Dentro de los tipos de prueba funcionales más comunes se encuentran:

  • Prueba de unidad
  • Prueba de integración
  • Prueba del sistema
  • Prueba de interfaz
  • Prueba de regresión
  • Smoke Testing
  • Prueba alfa
  • Prueba beta

Prueba de unidad

Se centra en la unidad más pequeña del diseño del software. Se prueba una unidad individual o un grupo de unidades interrelacionadas. Generalmente, el programador lo hace utilizando una entrada de muestra y observando sus salidas correspondientes.

Prueba de integración

El objetivo es tomar componentes probados por unidad y construir una estructura de programa que haya sido dictada por el diseño. Las pruebas de integración son pruebas en las que un grupo de componentes se combinan para producir resultados.

Prueba del sistema

Se prueba que el software funciona bien para diferentes sistemas operativos, según los requisitos. Solo se enfoca en la entrada y salida requeridas sin enfocarse en el trabajo interno. 

Prueba de interfaz

Tiene el objetivo de validar la interfaz gráfica de usuario, según los requisitos comerciales. Esta prueba incluye el tamaño de los botones, alineación del texto, las tablas y su contenido, el menú de la aplicación y sus funciones.

Prueba de regresión

Consiste en probar una aplicación como un todo para la modificación en cualquier módulo o funcionalidad. Este tipo de prueba asegura que todo el componente funcione correctamente incluso después de agregar componentes al programa completo.

Prueba de humo (Smoke Testing)

Esta prueba se realiza para asegurarse de que el software que se está probando esté listo o estable para realizar más pruebas. Smoke Testing comprueba que no exista ningún defecto de tapón de exposición en la construcción. Se denomina prueba de humo, ya que la prueba de aprobación inicial se realiza para verificar si no se “incendió” en el encendido inicial.

Prueba alfa

El objetivo de esta prueba es identificar todos los posibles problemas o defectos antes de lanzarlo al mercado o al usuario. Es un tipo de prueba de aceptación que se lleva a cabo al final de la fase de desarrollo del software pero antes de las pruebas beta.

Prueba beta

La prueba beta la realiza el usuario final del software en uno o más sitios del cliente. Esta versión está disponible para un número limitado de usuarios para realizar pruebas en un entorno de tiempo real antes de lanzar el producto al mercado para los usuarios finales. Se utilizan para garantizar que no haya fallas importantes en el software o el producto y que satisfagan los requisitos comerciales desde la perspectiva del usuario final.

Pruebas no funcionales

Por otro lado, las pruebas no funcionales implican pruebas de requisitos como pruebas de carga, pruebas de estrés, seguridad, volumen, recuperación, entre otras.

  • Prueba de rendimiento
  • Prueba de estrés
  • Prueba de volumen
  • Prueba de seguridad
  • Prueba de compatibilidad
  • Prueba de recuperación
  • Prueba de usabilidad

Prueba de rendimiento

Se realiza para probar el rendimiento en tiempo de ejecución del software dentro del contexto de un sistema integrado y se utiliza para probar la velocidad y la eficacia del programa. Así como cuánta carga o carga de trabajo máxima puede manejar un sistema.

Prueba de estrés

Se realiza cuando un sistema se esfuerza más allá de sus especificaciones para verificar cómo y cuándo falla. Se le dan condiciones desfavorables al sistema y se comprueba cómo funciona bajo una carga pesada.

Prueba de volumen

El software o la aplicación se somete a una gran cantidad de datos y las pruebas de volumen verifican el comportamiento del sistema y el tiempo de respuesta de la aplicación cuando el sistema encuentra un volumen de datos tan alto. Este alto volumen de datos puede afectar el rendimiento del sistema y la velocidad del tiempo de procesamiento.

Prueba de seguridad

Las pruebas de seguridad se realizan para comprobar si el software, la aplicación o el sitio web están protegidos frente a amenazas internas y externas. Esta prueba incluye cuánto software está protegido del programa malicioso, virus y qué tan seguros y sólidos son los procesos de autorización y autenticación. Además de verificar cómo se comporta el software ante cualquier ataque de piratas informáticos y programas maliciosos, y cómo se mantiene el software para la seguridad de los datos después de dicho ataque.

Prueba de compatibilidad

Es un tipo de prueba que valida cómo se comporta y se ejecuta el software en un entorno, servidores web, hardware y entorno de red diferentes. Las pruebas de compatibilidad aseguran que el software pueda ejecutarse en una configuración diferente, una base de datos diferente, diferentes navegadores y sus versiones.

Pruebas de recuperación

Es un tipo de prueba que valida qué tan bien la aplicación o el sistema se recupera de fallas o desastres. La prueba de recuperación determina si el sistema puede continuar la operación después de un desastre.

Prueba de usabilidad

En las pruebas de usabilidad, se realiza la verificación de facilidad de uso. El flujo de la aplicación se prueba para saber si un nuevo usuario puede entender la aplicación fácilmente o no. Se documenta la ayuda adecuada si un usuario se atasca en algún momento. 

Tipos de Software Testing

¿Software tester es un buen trabajo?

Software tester es un buen trabajo, software testing es una experiencia feliz. Es un trabajo bien pagado y seguro. En comparación con las pruebas manuales, las pruebas automatizadas ofrecen un salario aún mejor, además de puestos más prestigiosos como gerente de productos, DevOps, arquitecto empresarial e incluso administración de TI. Las pruebas automatizadas abren la puerta a estos puestos, debido a la necesidad de habilidades como la resolución de problemas, la capacidad proyectos con éxito y el trabajo en equipo más coordinado.


De acuerdo con la Oficina de Estadísticas Laborales de Estados Unidos, la demanda de analistas de sistemas informáticos, incluidos los software testers, está aumentando 9%, muy por encima del promedio. Software testing tiene un futuro brillante por delante, ya que un número cada vez mayor de empresas están invirtiendo en el desarrollo de productos digitales.


Razones por las que ser Software Tester es una buena opción profesional:

  1. Las pruebas de software están en demanda.
  2. Los testers son bien pagados.
  3. Es relativamente fácil de ingresar a TI a través de Software Testing.
  4. Cambiar de desarrollo a testing es fácil.
  5. Las herramientas de prueba son fáciles de aprender.
  6. Se puede trabajar como autónomo.
  7. Es relativamente fácil volver después de una brecha profesional.

Algunos mitos sobre el trabajo del Software Tester:

No hay aplicación de conocimientos de ingeniería

Los testers no solo se dedican a informar un problema, sino que también lo analizan aplicando el conocimiento recopilado de sus experiencias y buscan la posible razón del problema. Es por eso que los testers con habilidades de programación son muy valorados.

Alcance limitado para el aprendizaje

El testing no es una actividad imprevista, necesita mucha planificación, estrategias, comprensión de tecnología, administración del tiempo y la comprensión de aspectos de software- Un tester puede tener una vista del software desde todos los ángulos. El aprendizaje continuo es la clave del éxito en cualquier campo.

No dan crédito a los testers por el producto de software final

La opinión de los testers sobre si un producto se pone en marcha o no, es definitiva. Además de tener la posibilidad de sugerir cambios o mejoras en el producto. 

A los desarrolladores se les paga más que a los testers

Las tarifas salariales son equivalentes. Todos los profesionales de nivel de entrada reciben un salario similar. Avanzando en la carrera profesional, el salario depende de factores como el salario anterior, experiencia en el campo, expectativas del nuevo puesto, situación financiera del nuevo empleador, demanda actual del mercado, entre otros.

¿Qué habilidades son necesarias para ser un software tester?

Las habilidades necesarias para ser un software tester se dividen en habilidades duras o técnicas y habilidades blandas.

Habilidades técnicas

  • Conocimientos básicos de los comandos de Linux
  • Conocimientos básicos de bases de datos y SQL
  • Experiencia práctica con herramientas de gestión de pruebas
  • Experiencia con herramientas de automatización
  • Conocimiento y experiencia en herramientas de seguimiento de defectos

Conocimientos básicos de los comandos de Linux

La gran mayoría de las aplicaciones de software, como los servicios web, las bases de datos y los servidores de aplicaciones, se implementan en Linux. Por eso es fundamental que los testers tengan suficiente conocimiento sobre Linux y sus comandos.

Conocimientos básicos de bases de datos y SQL

Los sistemas de software generalmente operan con grandes cantidades de datos en segundo plano. Estos datos se almacenan en diferentes tipos de bases de datos como Oracle, MySQL, etc. en el backend. Por lo tanto, habrá situaciones en las que estos datos necesiten ser validados. En ese caso, se pueden usar consultas SQL para verificar si los datos correctos están almacenados en las bases de datos back-end.

Experiencia práctica con herramientas de gestión de pruebas 

La gestión de pruebas es un aspecto clave de las pruebas de software. Debe estar equipado con técnicas y herramientas de gestión de pruebas adecuadas. De lo contrario, se corre el riesgo de que el proceso de prueba falle. La gestión de pruebas se trata de gestionar los artefactos relacionados con las pruebas. Por ejemplo, las herramientas de administración de pruebas ayudan a rastrear todos los casos de prueba escritos por su equipo. Dado que la mayoría de las empresas utilizan este tipo de soluciones, es necesario saber cómo utilizarlas.

Experiencia con herramientas de automatización

Para convertirse en tester de automatización después de haber trabajado algunos años como tester manual, es necesario dominar algunas herramientas y adquirir experiencia práctica. Conocer un lenguaje de secuencias de comandos como JavaScript o C # siempre es útil si se está buscando un trabajo de pruebas de automatización. 

Conocimiento y experiencia en herramientas de seguimiento de defectos

El rastreo de defectos y de ciclo de vida son aspectos clave de las pruebas de software. Es muy importante gestionar los defectos de forma adecuada y realizar un seguimiento de ellos de forma sistemática. El seguimiento de defectos se vuelve necesario porque todo el equipo debe conocer el defecto, incluidos los gerentes, desarrolladores y testers.

Habilidades blandas

Las habilidades blandas son tan importantes como el conocimiento técnico. Indican si una persona tiene el potencial de convertirse en un buen tester de software o no. 

  • Capacidad de análisis
  • Habilidades de comunicación
  • Organización y gestión del tiempo
  • Actitud positiva
  • Pasión

Capacidad de análisis

Es esencial para los testers de software tener una mente analítica aguda. Debe saber cómo dividir un sistema de software complejo en unidades más pequeñas y comprenderlo mejor para crear casos de prueba.

Habilidades de comunicación

Un tester debe tener excelentes habilidades de comunicación verbal y escrita. Ya que será la persona encargada de crear los artefactos de prueba, como casos de prueba, planes de prueba, estrategias de prueba, informes de errores y muchos otros. Todos deben ser fáciles de leer y comprender.

Organización y habilidades de gestión del tiempo

Las pruebas pueden ser un trabajo muy exigente, especialmente durante el lanzamiento. Un tester debe administrar su flujo de trabajo de manera eficiente, ser productivo y tener excelentes habilidades de administración del tiempo para que todo funcione.

La actitud positiva

Un gran tester de software, debe tener actitud positiva, así como la orientación a los detalles, la voluntad de aprender y un enfoque proactivo al sugerir mejoras de procesos. En la industria tecnológica, las tecnologías evolucionan a una velocidad cada vez mayor. Es por eso que un tester necesita cierto grado de independencia y capacidad para asumir la responsabilidad de la tarea que se le asignó y actualizar sus habilidades para adaptarse al cambiante panorama tecnológico.

Pasión

Para ser excelente en cualquier trabajo, es necesario ser apasionado por ello. Un tester debe tener pasión por su campo, para determinar si el software testing es el camino que se quiere tomar, es importante probarlo.

Tester

¿Cómo convertirme en software tester?

Para convertirse en software tester es importante tener la formación adecuada. Los empleadores buscan software testers, no necesariamente buscan candidatos con una licenciatura en ciencias de la computación o tecnología de la información. De hecho, la experiencia práctica, las habilidades técnicas y las certificaciones son mucho más importantes.  El conocimiento de secuencias de comandos o codificación no es necesario, pero siempre será una gran ventaja para los empleadores, y podría ampliar mucho las oportunidades laborales.

  • Aprender a codificar
  • Conocer los detalles de las pruebas de software
  • Aprender las pruebas de rendimiento
  • Aprender las pruebas automatizadas

Aprender a codificar

La programación suele ser el primer paso para convertirse en un tester de software. Debido a que realizan pruebas en el software, es mucho más eficaz si sabe qué significa el código. No es necesario tener experiencia en programación en una empresa comercial para convertirse en tester de software. Pero es bueno saber algunas cosas sobre programación. Los testers deben conocer algunos conceptos y fundamentos de programación como los conceptos básicos de arquitectura, algoritmos, programación orientada a objetos, además de saber leer código en varios lenguajes y tener alto nivel de comprensión.

Conocer los detalles de las pruebas de software

El siguiente paso es aprender de qué se tratan las pruebas de software. Es necesario saber todo sobre los diferentes tipos de pruebas, para qué las usan los testers, cómo ejecutar pruebas y determinar el resultado, y cómo crear informes de prueba. Como tester, es indispensable tener conocimiento más profundo. La mayoría de las veces, esta es la esencia de un curso en línea sobre pruebas de software de un proveedor calificado y con experiencia.

Aprender las pruebas de rendimiento

Las pruebas de rendimiento son un área clave en la que hay que aprender no sólo los conceptos, sino también las herramientas. Una vez que se empieza a ser un tester, se puede mejorar la experiencia con herramientas de prueba de rendimiento.

Aprender las pruebas automatizadas

El siguiente paso es aprender más sobre los conceptos de las pruebas automatizadas. Las pruebas automatizadas se basan en pruebas manuales que se han estado ejecutando originalmente y las colocan en una herramienta que las ejecuta automáticamente. Este es un enfoque muy eficaz si se necesita ejecutar muchas pruebas similares.

¿Puede un software tester convertirse en data analyst?

Un software tester puede convertirse en data analyst, ya que existe una similitud entre ambos, que no solo radica en el nivel conceptual, donde en los dos campos es necesario involucrarse con una gran cantidad de datos, sino que también hay una cantidad razonable de superposición de habilidades técnicas.


“Los buenos testers tienen un toque innato para los datos que los convierte en excelentes candidatos para convertirse en científicos de datos.” Ken Johnston, Principal Data Science Manager en Microsoft.


Algunas de las razones por las que convertirse en data analyst puede ser fácil para un software tester:

  • Los testers manejan conjuntos de datos y saben cómo usarlos de manera óptima.
  • Los testers saben cómo mirar los datos con sentido crítico.
  • Las pruebas y la ciencia de datos son campos empíricos que buscan respuestas.
  • Ambos campos se refieren principalmente a los datos y no al código.
  • El cambio a la ciencia de datos implica un cambio de perspectiva, científica y psicológicamente.
  • Los testers ya tratan con sistemas complejos de un tamaño de terabytes. 

Cursos de software testing

Los interesados en software testing pueden aprovechar algunos cursos de iniciación gratuitos disponibles en línea. Microsoft Virtual Academy (MVA) ofrece varios cursos relevantes, como los seis módulos de la  suite Software Testing Fundamentals y  Live Unit Testing en Visual Studio 2017 . Y el sitio web de International Software Testing Qualifications Board (ISTQB), tiene una página de New to Software Testing que incluye su glosario de términos de testing en PDF y formatos de búsqueda en línea, así como ejemplos de preguntas del examen ISTQB. 


En el sitio web de la Association for Software Testing ( AST ) hay una gran variedad de recursos, donde además se encuentra el curso de Black Box Software Testing. Asimismo en plataformas como Udemy, se pueden encontrar cursos como el de QA Software Testing Training Course, sin embargo estos cursos ya son de paga.


Los testers deben considerar la posibilidad de obtener una o más certificaciones para llamar la atención de los reclutadores. La mayoría de las certificaciones de software testers son independientes del proveedor y reconocen el conocimiento y las habilidades aplicables en todas las facetas de las software testing. El nivel ISTQB Foundation es la certificación básica en el campo del testing.

¿Cuál es el salario de un software tester?

De acuerdo con el Reporte del Mercado Laboral TI 2020 realizado por Hireline, el sueldo promedio mensual de un desarrollador Tester es de $22,900 MXN.

¿Cómo conseguir un trabajo de software tester?

Para conseguir un trabajo como software tester siendo recién egresado, es necesario prepararse bien para algunas metodologías de software  testing, además de aprender todos los conceptos de prueba manual. Tener experiencia práctica en algunas herramientas de automatización y seguimiento de errores, puede dar un plus. Siempre es una buena idea unirse a cualquier clase de software testing que pueda proporcionar un buen comienzo y orientación para la preparación.


Para conseguir un trabajo como software tester teniendo experiencia previa en TI, es indispensable demostrar esa experiencia en el currículum y aplicar a empleos de software testing. Es recomendable tomar un curso intensivo para tener una idea de los conceptos de software testing.


Las empresas prefieren algún tipo de experiencia relevante para puestos en la industria de TI, es por eso que si se tiene la experiencia adecuada en software testing y quality assurance, será más fácil conseguir el trabajo. 

Sueldo: Tester

De acuerdo con el Reporte de Mercado Laboral TI realizado por Hireline, el sueldo mensual neto de un Tester es de $25,702.37 MXN.

Sueldo por ubicación

Home Office $336,069.85
Ciudad de México $45,384.62
Jalisco $49,558.82
Nuevo León $65,192.31
Aguascalientes $56,428.57
Baja California Norte $39,500.00
Estado de México $42,916.67
Querétaro $49,583.33
Sonora $64,375.00
Durango $40,000.00
Nayarit $20,833.33
Yucatán $75,000.00
Oaxaca $53,750.00
Puebla $75,000.00
Sinaloa $56,250.00
Texas $125,000.00
Zacatecas $53,750.00
Antioquia $112,500.00
Bogota $6,500,000.00
Buenos Aires $85,000.00
Chiapas $95,000.00
Chihuahua $95,000.00
Coahuila $95,000.00
Hidalgo $95,000.00
Nevada $162,500.00
San Luis Potosí $95,000.00
Sao Paulo $47,500.00
Tamaulipas $95,000.00
Veracruz $95,000.00