Table of Contents
¿Qué es Quality Assurance?
El Quality Assurance o garantía de calidad (hablando en términos de desarrollo) es siempre una parte fundamental del desarrollo de un porducto software. Quality Assurance (QA) es el proceso de evaluación de la calidad en toda la cadena de producción. Estas pruebas se puede realizan a través de procesos como pruebas de código, pruebas de usabilidad, pruebas unitarias o pruebas de regresión, entre otras que mencionamos más abajo. El proceso de control de calidad analiza las características, especificaciones y requisitos antes de decidir si lanzarlo para producción.
El desarrollo de software requiere muchas pruebas y el equipo de control de calidad, que a diferencia de otros sectores debe ser un equipo transversal y conocer el producto y los diferentes puntos en la cadena de producción. Éste se asegura de que se prueben todos los casos posibles y se entreguen productos sin errores a los clientes.
Este proceso generalmente tiene lugar en un ciclo de vida de desarrollo de software. Se debe de tener en cuenta en todos los aspectos del desarrollo de un producto, desde errores gráficos hasta problemas logísticos, desde errores de instalación hasta imprecisiones en el procesamiento de datos.
¿Qué hace un ingeniero de control de calidad (QA)?
Los ingenieros de control de calidad son responsables de los desarrolladores de código, software y cualquier otro producto final. Se aseguran de que el producto funcione como debería con altos estándares de calidad.
Se emplean con mayor frecuencia en empresas de desarrollo de software, pero también pueden trabajar en otras industrias donde existe una necesidad de garantía de calidad.
El papel de un ingeniero de control de calidad puede variar según la industria en la que esté empleado. Aunque la mayoría de las veces se emplea en empresas de desarrollo de software, los ingenieros de quality assurance también pueden trabajar en industrias como la fabricación / diseño o la arquitectura donde existe la necesidad ingenieros de control de calidad ( QA) para verificar que los productos cumplan con las especificaciones y expectativas del proyecto.
Este trabajo requiere que una persona esté orientada a los detalles y sea de naturaleza analítica. Tienen que identificar cualquier problema que pueda causar fallos en el producto durante su uso en el mercado real. Los ingenieros de control de calidad deben comprender los diferentes tipos de lenguajes de programación, como Java o Python.
¿Cuál es la rutina diaria típica de un ingeniero de gestión de calidad?
Esta cuestión depende bastante del sector en el que esté la empresa y depende en gran medida de la cultura de una empresa. Es diferente para una pequeña startup que para grandes empresas como Google o Amazon.
En una empresa agile este sería un testimonio real en una empresa mediana:
- Me reuniría a las 9 de la mañana para tener una breve reunión. Dar una actualización sobre el estado de mi trabajo y escuchar las actualizaciones de otros. Levantar cualquier bloqueo a mi progreso si hay alguno.
- Después del estatus de primera hora, colaborar con el desarrollador en caso de que necesite mi opinión inmediata, por ejemplo, si el desarrollador pregunta cómo debería funcionar una característica en un caso extremo o si el propietario del producto necesita entender cómo funcionan otras partes del producto/sistema.
- Crear pruebas automatizadas para las nuevas características.
- Utilizar herramientas de test como Selenium (pruebas de UI), Gatling ( tests de rendimiento) para automatizar las pruebas de integración. Crear pull request con nuevos cambios y solicitar la revisión de los pares.
- Asegurarse de que nuestro pipeline está en verde y que podemos lanzar en cualquier momento. Si no podemos, informar a todo el mundo de lo que nos bloquea.
- Almorzar con el equipo. Normalmente en la sede. Intenta no hablar del trabajo 🙂
- Reunirse con los desarrolladores para discutir las estrategias de testeo de las nuevas funcionalidades. Hacer una lista de las pruebas que hay que hacer (como funcionales, de usabilidad, de rendimiento) y de las nuevas tareas automatizadas que hay que cubrir. Pensar si tenemos todas las herramientas y conocimientos necesarios. ¿Quizás necesitemos la ayuda de otro equipo? Celebrar una reunión de planificación y retrospectiva una vez por semana.
- Pruebas exploratorias.
- Probar las funcionalidades para encontrar nuevos problemas. Explicarlas a los desarrolladores. Asegurarse de que todos los miembros del equipo están capacitados para hacer su trabajo. Pensar en pruebas de integración para automatizar. Anotarlas para más adelante.
Tipos de pruebas que se realizan en QA
Hasta los programadores e ingenieros con más talento necesitan un segundo par de ojos para asegurar la calidad del producto. A medida que el software se amplía o cambia, aumentan las posibilidades de que se produzcan errores. Las pruebas de Quality Assurance no sólo detectan los errores existentes, sino que también pueden ayudar a prevenir problemas futuros y fomentar la escalabilidad del producto.
Dentro del campo del garantía y control de calidad, hay una gran variedad de pruebas diferentes:
Pruebas unitarias:
Este tipo de prueba se centra principalmente en una parte de la aplicación cada vez y garantiza que el funcionamiento sea el esperado. Los desarrolladores escriben casos de prueba para cada unidad o módulo individual con el fin de verificar su funcionalidad antes de lanzarlo a producción.
Pruebas de regresión:
Las pruebas de regresión son un tipo de prueba de software que encuentra los errores que se introdujeron al hacer cambios en una aplicación. Las pruebas de regresión se realizan repitiendo las mismas pruebas antes y después del cambio para ver si se ha introducido algún error.
Pruebas de conversión de datos:
Cuando una empresa migra datos a un nuevo software, se vuelve vulnerable. Una vez iniciada la transferencia de información, los activos digitales penden literalmente de un hilo. Cualquier error podría causar una corrupción masiva de archivos o la pérdida de datos. Por eso son útiles las pruebas de compatibilidad exhaustivas. Estas pruebas comprueban la funcionalidad y los defectos ocultos de la aplicación, al tiempo que garantizan la compatibilidad con el sistema antiguo. Las pruebas de conversión de datos deben realizarse antes, durante y después del proceso de migración. Así se minimiza el riesgo de perder datos de forma permanente.
Pruebas de aceptación del usuario:
Las pruebas de aceptación del usuario son un tipo de pruebas de software que se centran en cómo se sentirán y reaccionarán los usuarios ante el producto. Esta prueba suele realizarse durante la fase de diseño y puede llevarse a cabo en el laboratorio o sobre el terreno.
Existen principalmente dos tipos de pruebas de aceptación del usuario:
1 – Las pruebas exploratorias de usuario se realizan en las primeras fases del ciclo de vida de un programa para explorar cómo los usuarios pueden interactuar con el producto.
2 – Las pruebas formativas de usuario, por su parte, tratan de entender cómo utiliza una persona un producto, el contexto en el que lo usa y su proceso cognitivo. Esta información puede utilizarse para mejorar la usabilidad y el diseño del producto en su fase de desarrollo o tras el lanzamiento.
Pruebas de rendimiento del software:
Las pruebas de rendimiento del software son el proceso de análisis del software para identificar sus puntos fuertes y débiles. Para ello, se utilizan pruebas que miden el rendimiento de un programa informático ejecutándose en una configuración de hardware y un entorno informático concretos y midiendo su tiempo de ejecución. Su objetivo suele ser encontrar el punto en el que el sistema sometido a prueba deja de funcionar.
También hay otras pruebas, como son los tests para apps móviles.
Cualquier tipo de prueba ha de estar reflejada en documento y distribuida para el conocimiento de toda la cadena de producción.
Las cinco principales funciones de QA:
Transferencia de tecnología: El proceso involucrado en la obtención de un documento de diseño de producto involucra datos de prueba y error y su evaluación. Los documentos se distribuyen, verifican y aprueban.
Validación: Se establecen criterios de validación para validar los datos, el producto y el proceso y se planifican los recursos para ejecutar este plan de validación y lograr el éxito.
Documentación: Esta función controla la distribución y archivo de documentos. Cualquier cambio en un documento se realiza mediante el procedimiento de control de cambios adecuado. Todo documento debe de aprobarse.
Aseguramiento de la calidad del producto
Planes de mejora de la calidad
Convertirse en ingeniero QA
¿Qué títulos necesito para convertirme en un ingeniero QA?
Puedes obtener una licenciatura en informática, ingeniería de software o tecnología de la información u otras ingenierías técnicas, o también puedes empezar tu carrera adquiriendo una maestría (o máster) en lenguajes de desarrollo.
¿Qué conocimientos y habilidades son necesarios?
Debes conocer los lenguajes Java y Python, y también saber utilizar SOAP y JMeter. También debes conocer Selenium porque es un software que prueba las aplicaciones web en varios navegadores y sistemas operativos.
Conocer metodologías de trabajo como Agile o Scrum es muy recomendable, además de ser muy hábil en la resolución de problemas y documentación de procedimientos.
¿Cuánto gana alguien en esta profesión?
Según los datos publicados en distintos portales de ofertas de empleo un QA engineer el rango de sueldos que se ofrece está entre 20.000€ y 48.000€ anuales, dependiendo de la maestría y el tamaño de la empresa.
Si buscas una carrera con gran demanda, estar en el departamento de Quality Assurance es la trayectoria profesional perfecta. Los ingenieros QA están muy solicitados en el sector tecnológico. Por lo que si estás interesado en realizar un cambio de carrera, esta es una industria excelente en la que involucrarse porque está creciendo como la espuma, no hay más que ver las ofertas de empleo.
Los salarios y las prestaciones son muy competitivos, y además hay muchos tipos de empresas que contratan a personas con este perfil profesional.
Siempre puedes registrarte en nuestra plataforma para hacer nuevas recomendaciones y ¡hacerte Talent Hacker! Mientras nosotros te mantenemos al día. 🙂