Descripción
Cada día, Global Payments posibilita que millones de personas transfieran dinero entre compradores y vendedores mediante nuestras soluciones de pagos para tarjetas de crédito, débito, prepago y servicios para comerciantes. Nuestro equipo mundial apoya a más de 3 millones de empresas, más de 1.300 instituciones financieras y más de 600 millones de titulares de tarjetas para que crezcan con confianza y logren resultados extraordinarios. Nos impulsa nuestra pasión por el éxito, y nos sentimos orgullosos de ofrecer tecnología y soluciones de software de pagos de clase mundial. Únase a nuestro dinámico equipo y deje su huella en el panorama tecnológico de los pagos del mañana.
**Resumen de este puesto**
------------------------
Realiza y participa en el desarrollo y las pruebas de aplicaciones para aplicar una calidad continua y una capacidad de prueba inherente al código durante todo el ciclo de vida del desarrollo de software. Integra la calidad en el proceso de desarrollo de software mediante suites de pruebas automatizadas que ofrecen una visión integral, desde la calidad del código hasta su funcionalidad. Aplica paradigmas de calidad para garantizar una calidad en tiempo real mediante la automatización y pruebas de regresión frecuentes. Diseña, desarrolla y mantiene marcos de automatización y suites de pruebas automatizadas y scripts, integrados con la integración continua, las pruebas, la implementación y la entrega. Realiza pruebas de rendimiento, carga, seguridad y virtualización de servicios.
**¿Cuál será su función?**
----------------------------
* Participa en todas las etapas del ciclo de vida del desarrollo de software y es responsable de producir código de alta calidad. Colabora con sus pares para identificar y recomendar prácticas de aseguramiento de la calidad desde la fuente mediante la automatización. Realiza análisis de impacto, evalúa e identifica los efectos sobre las suites de pruebas de regresión, la capacidad de prueba del código y el rendimiento de la aplicación, con el fin de reducir las influencias negativas sobre las pruebas continuas. Realiza verificaciones de calidad junto con la actualización de los scripts de automatización. Identifica y diseña suites de pruebas para el desarrollo guiado por pruebas (TDD) y el desarrollo guiado por comportamiento (BDD), permitiendo pruebas tempranas y frecuentes conforme se desarrolla el software. Identifica mejoras de procesos y medidas de calidad continua a lo largo del ciclo de vida del desarrollo.
* Escribe y ejecuta pruebas de aplicaciones a nivel de código fuente para prevenir errores ocultos (por ejemplo, pruebas de caja blanca) dentro de las pruebas unitarias y de componentes. Identifica y sugiere mejoras para la calidad del código con el fin de corregir deficiencias relacionadas con la funcionalidad, así como con la estructura del código en términos de rendimiento y mantenibilidad. Construye, mantiene y revisa suites de pruebas unitarias y de componentes de nivel intermedio, y realiza pruebas automatizadas de caja blanca. Identifica codificación inadecuada y problemas de calidad del código. Integra las suites de pruebas de caja blanca con herramientas de integración continua (CI). Programa y crea casos de prueba de nivel intermedio utilizando herramientas de pruebas unitarias y de componentes para pruebas a nivel de código.
* Desarrolla herramientas, marcos y utilidades de software de complejidad moderada para actividades de validación/verificación y pruebas funcionales extremo a extremo del software. Identifica y recomienda herramientas y marcos para pruebas, y crea herramientas automatizadas para uso genérico y mantenibilidad. Escribe código de complejidad moderada que utiliza o ejercita componentes que no son de interfaz de usuario (UI), como interfaces de programación de aplicaciones (API), API RESTful y servicios web, similares a los que usaría un usuario final, para desarrollar marcos de pruebas. Integra suites automatizadas con herramientas de integración continua (CI) para su ejecución frecuente.
* Instala y utiliza marcos de CI de complejidad moderada en pruebas continuas y despliegue/entrega continua. Construye, personaliza e implementa entornos de prueba y marcos de automatización de pruebas de complejidad moderada. Realiza scripting, generación de datos y otros métodos de complejidad moderada para mantener la infraestructura de automatización durante todo el desarrollo. Integra herramientas de CI con otras infraestructuras de pruebas y desarrolla informes/métricas de complejidad moderada sobre CI.
* Desarrolla scripts de prueba, datos de prueba y analiza/interpreta pruebas de rendimiento, carga y seguridad. Realiza pruebas, análisis e interpreta los resultados utilizando herramientas de pruebas de virtualización de servicios que emulan el comportamiento de los componentes de sistemas dependientes necesarios que están indisponibles o son de difícil acceso. Identifica oportunidades de pruebas de virtualización, junto con enfoques y diseños para probar entornos virtualizados. Identifica oportunidades de pruebas de rendimiento, junto con enfoques y diseños para evaluar el rendimiento, la carga, la seguridad y la virtualización de servicios de la aplicación. Analiza el rendimiento y las respuestas de los sistemas y bases de datos bajo carga. Dirige las pruebas para evitar cuellos de botella comunes en el rendimiento de las aplicaciones. Mantiene y administra procedimientos, metodologías y/o estándares de aplicación, incluyendo el cumplimiento de pruebas relacionadas con la industria de tarjetas de pago y la seguridad, mediante la automatización y pruebas de seguridad integradas durante el desarrollo. Aplica conceptos de virtualización para identificar pruebas y escenarios de aplicación afectados por la virtualización. Incorpora pruebas de rendimiento, carga y seguridad en entornos de CI.
* Trabaja con partes interesadas, el área comercial, los desarrolladores y los analistas de pruebas para elaborar planes, condiciones y casos de prueba más complejos (conjunto de entradas, condiciones previas a la ejecución y resultados esperados desarrollados con un objetivo específico, como ejercitar una ruta determinada del programa o verificar el cumplimiento de un requisito específico) destinados a las pruebas. Desarrolla y aplica mejores prácticas para la preparación de datos de prueba y la ejecución de conjuntos de pruebas. Colabora con los programadores para crear ciertas condiciones de cuentas y ejecutar requisitos especiales de prueba para la validación de pruebas. Demuestra un amplio conocimiento de múltiples entornos al evaluar, interpretar y comunicar una comprensión de los diversos componentes de los sistemas y aplicaciones ante la dirección.
* Actúa como punto único de contacto para proyectos de clientes asignados de complejidad moderada en relación con las actividades de ingeniería de pruebas. Coordina las actividades de prueba asignadas al equipo de pruebas, incluida la revisión de los planes, casos y scripts de prueba del cliente, la priorización de la ejecución de pruebas cuando sea necesario y la provisión de retroalimentación a clientes internos y externos.
**¿Qué buscamos en este puesto?**
-----------------------------------------
**Requisitos mínimos**
* Título universitario en Ingeniería de Software, Sistemas de Información u otra titulación técnica; se considerará experiencia adicional en sustitución del título.
* Experiencia profesional relevante mínima típica: 6 años en pruebas de software, programación, diseño y desarrollo.
**Requisitos preferidos**
* Título de maestría en Ingeniería de Software, Sistemas de Información u otra titulación técnica.
* Experiencia profesional relevante mínima típica: 8 años en el desarrollo de estrategias de pruebas automatizadas en diversos entornos y marcos.
**¿Cuáles son las habilidades y capacidades deseadas?**
-------------------------------------------------
* Habilidades/conocimientos: Con una amplia experiencia, aplica conceptos profesionales y los objetivos de la empresa para resolver problemas complejos de forma creativa y eficaz. En este nivel existen ciertas barreras de entrada (por ejemplo, revisión por el departamento o por compañeros).
* Complejidad del puesto: Trabaja en asuntos complejos donde el análisis de situaciones o datos requiere una evaluación exhaustiva de factores variables. Ejerce su criterio al seleccionar métodos, técnicas y criterios de evaluación para obtener resultados. Establece contactos clave fuera de su área de especialización.
* Supervisión: Determina los métodos y procedimientos para nuevas tareas y puede coordinar las actividades de otro personal (Líder de equipo).
* Ciclo de vida del desarrollo de software / Metodologías de pruebas: Ágil — Scrum, Kanban, Desarrollo guiado por pruebas, Desarrollo guiado por comportamiento, etc.
* Lenguajes de programación: Java, C#, Perl, Python, Groovy, Oracle, SQL, etc.
* Herramientas de pruebas: Gestión del ciclo de vida de aplicaciones, Pruebas unitarias, Seguridad, Interfaces de programación de aplicaciones, Móvil, Integración continua, Virtualización de servicios, etc.
Global Payments Inc. es un empleador que ofrece igualdad de oportunidades. Global Payments brinda oportunidades de empleo equitativas a todos sus empleados y solicitantes sin tener en cuenta raza, color, religión, sexo (incluido el embarazo), origen nacional, ascendencia, edad, estado civil, orientación sexual, identidad o expresión de género, discapacidad, condición de veterano, información genética ni ningún otro fundamento protegido por la ley. Si desea solicitar adaptaciones razonables relacionadas con la solicitud de empleo o proporcionar comentarios sobre la accesibilidad de este sitio web, comuníquese con jobs@globalpayments.com.