El ADN de NTT DATA se caracteriza por siempre enriquecer los servicios con las últimas tendencias, introduciendo nuevas herramientas, metodologías y técnicas, influyendo en la cultura de los equipos para ir asumiendo, gradualmente, estas capacidades. Ejemplos como tal los tenemos en Testing in DevOps, Peformance in DevOps, Gobiernos de automatización, TDM, y agregando una gestión del conocimiento basada en las mejores prácticas del mercado.
En NTT Data disponemos de una Unidad de Servicios de Calidad Independiente, cuya responsabilidad es la supervisión y verificación de la calidad de los proyectos de desarrollo y mantenimiento de software, que responde a una decisión estratégica para garantizar la calidad de los diversos productos generados en nuestros proyectos. Esta unidad así mismo presta servicios de Testing para los clientes que así lo solicitan de forma independiente a nuestros desarrollos, prestando servicios tanto de calidad temprana, testing, Certificación etc.
Contamos con un Centro de Excelencia en actividades de Testing que ofrece soporte especializado, tanto interno como externo, en la configuración de Áreas de Calidad y Pruebas.
Nuestros Centros de Alto Rendimiento cuentan con unidades especializadas en creación y ejecución de pruebas de aplicaciones, lo que nos permite ampliar capacidades y atender ante fluctuaciones de la demanda de forma agile. NTT Data cuenta con centros de Alto Rendimiento en Chile – Temuco, Brasil en Uberlandia y Perú en Trujillo.
Tenemos un conocimiento sectorial especializado que nos permite aportar a nuestros clientes personas y activos (scripts de pruebas, herramientas y conocimiento tecnológico) adaptados a diferentes sectores.
En nuestra Unidad de Servicios de Calidad realiza proyectos relacionados con el aseguramiento de la calidad del software desde el año 2001 y actualmente contamos con más de 700 profesionales en Perú y mas de 3.000 profesionales especializados en la región Américas.
En la visión de QA de NTT DATA en sus servicios, incluye un CoEQA, pieza esencial para la innovación en la agilidad.
Nuestro CoEQA es un equipo conformado por Coaches QA con habilidades y conocimientos especializados cuyo trabajo es proporcionar liderazgo y difundir conocimiento, en el área de Calidad e impulsando buenas prácticas en otras áreas.
Actúa como un acelerador de capacidades para los equipos y mejorando la productividad de los mismo, ampliando la cobertura de pruebas, además impulsando técnicas del mercado.
Mantiene el foco en la innovación y son expertos en metodologías agiles y tradicionales, trabajando bajo filosofía Kaizen (planear, hacer, verificar y actuar) para tener una correcta adopción de los nuevos Skill de los QA.
La importancia de la Calidad de Software
A menudo nos preguntamos ¿Qué es Testing? ¿Qué es Calidad de Software?, y en ese camino, podemos decir que calidad de software o también conocido como “Testing” es una disciplina de la ingeniería de software que abarca procesos, métodos de trabajo y herramientas para identificar defectos en el software permitiendo alcanzar un estándar de calidad y estabilidad. El Testing no es una actividad que se realiza al final del desarrollo del software, va paralelo a este. El incluir tareas de calidad desde fases tempranas nos ayuda a corregir e inclusive prevenir posibles desviaciones del software entre lo que se quiere y lo que se está construyendo.
¿Cuál es el futuro en Testing?
Actualmente, el testing ha evolucionado y cada vez es más importante la cultura de calidad y poder medirnos de forma diferente, el testing ha evolucionado y está convergiendo en otras disciplinas como SRE, DevOps, Cloud… Cada vez más las organizaciones necesitan ser más ágiles sin perder la calidad y para ello debemos apostar por herramientas de IA y ML. En NTT DATA llevamos trabajando en estas herramientas varios años y actualmente estamos apalancándonos en ellas para dar servicios más eficientes a nuestros clientes.
¿Automatización? ¿Todo es automatizable?
La automatización es el proceso muy común en la actualidad y por el cual se cambian las pruebas manuales a pruebas ejecutadas, por un sistema máquina programable. El automatizar pruebas de software se persigue diversos objetivos: Minimizar riesgos de proyecto, objetivos de simplificar el trabajo dispendioso, repetitivo o complejo, haciéndolo efectivo y más productivo.
El gran error que cometen las organizaciones es el no conocer como realmente se realiza un análisis de lo realmente necesario para automatizar y es posible que queramos automatizar todo o solo las regresiones, sin evaluar el costo de desarrollar y mantener los scripts correctamente, si tener claro que tipos de pruebas o qué herramienta o herramientas son las más adecuadas para mi organización.
Considera lo siguiente: el valor de cualquier práctica depende de su contexto, el retorno de inversión de la automatización no es inmediato, en NTTDATA realizamos un análisis exhaustivo de qué y como se debe automatizar, teniendo en cuenta el contexto de la organización y los objetivos que persigue, para asegurar el éxito de los proyectos de implementación de software.
Pruebas de performance & Load Testing
Un test de performance permite conocer la velocidad, escalabilidad y estabilidad de un sistema en distintos escenarios de uso o carga. Las cuatro pruebas de performance esenciales a realizar son: carga, estrés, resistencia, escalabilidad.
Pruebas de carga: El Load testing tiene como objetivo saber cuánta carga puede soportar un sistema sin empeorar su rendimiento. Estas pruebas sirven para conocer la capacidad máxima de un sistema bajo una carga determinada.
Pruebas de estrés: El Stress testing es realizado sobrecargando un sistema más allá de sus especificaciones, para verificar cómo y cuándo fallará.
Test Data Management (TDM)
El propósito principal del TDM es crear subconjuntos de datos de pruebas seguros, lo más parecidos posibles a los datos reales para que puedan ser utilizados durante las pruebas. Su papel es fundamental para satisfacer las necesidades de los equipos de prueba y desarrollo. Además de facilitar el trabajo, permite realizar un desarrollo de aplicaciones que reduce costos, riesgos y plazos de desarrollo en un entorno local, cloud o híbrido.