Pruebas de software – Pruebas de mainframe

Las pruebas de mainframe se utilizan para evaluar el software, las aplicaciones y los servicios integrados en Mainframe Systems . El objetivo principal de las pruebas de mainframe es garantizar la confiabilidad, el rendimiento y la excelencia de la aplicación o el servicio a través de metodologías de verificación y validación, y determinar si está listo para su lanzamiento o no. Debido a que las pantallas CICS están diseñadas a medida para aplicaciones específicas, el probador solo tiene que saber cómo navegar por ellas cuando realiza pruebas de Mainframe. Además, si se cambia el código en COBOL, JCL u otros lenguajes, el probador no tiene que preocuparse por la configuración del emulador en el sistema.

Aquí, discutiremos los siguientes puntos:

  1. ¿Qué es la computadora central?
  2. Metodologías de prueba de mainframe
  3. Atributos de la computadora central
  4. Pasos para la prueba de mainframe
  5. Procedimientos de prueba de mainframe a seguir
  6. Categorización de Pruebas Manuales en Mainframe 
  7. Herramientas de prueba de automatización de mainframe
  8. Mejores prácticas para pruebas de mainframe
  9. Desafíos y solución de problemas de pruebas de mainframe
  10. Beneficios de las pruebas de mainframe

¿Qué es una computadora central?

El mainframe es un sistema informático multiusuario de alto rendimiento y alta velocidad. El sistema de máquina mainframe es el sistema de máquina más seguro, escalable y confiable disponible. En otras palabras, estos sistemas se utilizan para computación a mayor escala, lo que requiere un alto nivel de disponibilidad y seguridad. Los sistemas mainframe se emplean comúnmente en industrias como la venta minorista, seguros, finanzas y otras áreas esenciales donde se deben procesar grandes cantidades de datos varias veces. Uno puede ejecutar millones de instrucciones por segundo [hasta 569,632 MIPS] con la ayuda de los siguientes factores:

  • Ancho de banda máximo de entrada/salida: si hay un ancho de banda de entrada y salida excesivo, los enlaces entre las unidades y los procesadores tienen algunos cuellos de botella.
  • Confiabilidad: Los mainframes con frecuencia aceptan un deterioro y servicio correctos mientras el sistema está funcionando.
  • Hilo único fiable: el rendimiento es fundamental para operaciones de base de datos realistas.
  • Máxima conectividad de entrada/salida: la máxima conectividad de entrada/salida indica que los mainframes sobresalen en la entrega de grandes granjas de discos.

Metodologías de prueba de mainframe

  • ENVIAR: Complete una solicitud de empleo de antecedentes.
  • CANCELAR: Este es un trabajo en segundo plano que ha sido cancelado.
  • ALLOCATE: este comando asigna un conjunto de datos.
  • COPIAR: este comando copia un conjunto de datos.
  • RENOMBRAR: Se utiliza para cambiar el nombre de un conjunto de datos.
  • ELIMINAR: eliminar un conjunto de datos.
  • ESCANEO DE TRABAJO: para vincular el JCL a la aplicación, bibliotecas, archivo, etc. sin tener que ejecutarlo.

Requisitos previos para las pruebas de mainframe: 

  • Se requiere ID de inicio de sesión y contraseña para acceder a la aplicación.
  • Una comprensión básica de los comandos ISPF.
  • Se enumeran los nombres de archivo, los calificadores de archivo y los tipos.

Los siguientes puntos deben verificarse antes de comenzar la prueba del mainframe.

1. Trabajo:

  • Antes de realizar un trabajo, realice un escaneo de trabajo (Comando – JOBSCAN) para verificar si hay problemas.
  • La clase de prueba debe especificarse en el parámetro CLASS.
  • Al utilizar el argumento MSGCLASS, se puede dirigir la salida de la tarea a un spool, un JHS o a cualquier otro lugar que se desee.
  • Redirigir el correo electrónico del trabajo a la cola de impresión o a un ID de correo de prueba.
  • Para la prueba inicial, comente los pasos de FTP y dirija el trabajo a un servidor de prueba.
  • Si el trabajo genera un IMR (Registro de gestión de incidentes), simplemente comente «PROPÓSITO DE LA PRUEBA» en el trabajo o en la tarjeta de parámetros.
  • Todas las bibliotecas de producción del trabajo deben cambiarse a bibliotecas de prueba.
  • No es una buena idea dejar el trabajo desatendido.
  • El parámetro TIME debe agregarse con un tiempo específico para evitar que el trabajo se ejecute en un bucle infinito si hay un error.
  • Guarde la salida del trabajo, que incluye el spool. XDC se puede utilizar para guardar el spool.

2. Archivo:

  • Solo haga un archivo de prueba del tamaño requerido. Cuando almacene datos en archivos sucesivos con el mismo nombre, use GDG (Grupos de datos de generación: archivos con el mismo nombre pero números de versión secuenciales: MYLIB.LIB.TEST.G0001V00, MYLIB.LIB.TEST.G0002V00, etc.).
  • El parámetro DISP (Disposición: define el procedimiento para mantener o eliminar el conjunto de datos después de un paso normal o anormal o la finalización de una tarea) debe codificarse correctamente.
  • Para evitar que el trabajo entre en ESPERA, asegúrese de que todos los archivos utilizados para la ejecución del trabajo se guarden y cierren correctamente.
  • Si está utilizando GDG para realizar pruebas, asegúrese de señalar la versión correcta.

3. Base de datos:

  • Asegúrese de que no se inserten, cambien o eliminen datos no deseados mientras se ejecuta el trabajo o el programa en línea.
  • Además, asegúrese de realizar pruebas en la región correcta de DB2.

4. Caso de prueba:

  • Compruebe siempre las condiciones de contorno, como un archivo vacío, el primer registro que se procesa, el último registro que se procesa, etc.
  • Incluya condiciones de prueba tanto positivas como negativas siempre que sea posible.
  • Incluya casos de prueba para validar si los módulos se han utilizado correctamente si se utilizan procedimientos estándar en el software, como reinicio de punto de control, módulos anómalos, archivos de control, etc.

5. Datos de prueba:

  • Antes de comenzar la prueba, asegúrese de que los datos de prueba estén listos.
  • Nunca realice cambios en los datos de la región de prueba sin informar primero al usuario. Otros equipos pueden estar trabajando con los mismos datos y sus pruebas pueden fallar.
  • Antes de copiar o acceder a los archivos de producción, se debe obtener la autorización suficiente.

Atributos de la computadora central

Los siguientes son los diversos atributos del mainframe:

  • Multiprogramación:
    • La característica de multiprogramación es una característica que nos ayuda a aprovechar al máximo la CPU.
    • La computadora está ejecutando muchos programas al mismo tiempo.
  • Tiempo compartido:
    • El procesamiento en primer plano se refiere al procesamiento de tiempo compartido, mientras que el procesamiento en segundo plano se refiere al procesamiento de trabajos por lotes. Como resultado, se le conoce como Procesamiento Interactivo ya que permite al usuario interactuar directamente con la computadora.
    • En un sistema de tiempo compartido, cada usuario tiene acceso al dispositivo terminal del sistema.
  • Almacenamiento virtual:
    • Como una extensión del almacenamiento físico, el almacenamiento virtual utiliza el almacenamiento en disco.
    • Es un método de uso eficiente de la memoria para almacenar y realizar una gran cantidad de operaciones.
  • Cola:
    • Spool significa Simultaneous Peripheral Operations Online, y se utiliza para recopilar la salida de un programa o aplicación.
    • Si es necesario, la salida en cola se envía a dispositivos de salida, como una impresora.
  • Procesamiento por lotes:
    • El procesamiento por lotes es una tecnología que nos permite completar cualquier tarea en piezas llamadas trabajos.
    • Uno puede ejecutar una o más aplicaciones en un orden específico dependiendo de las tareas en cuestión.
    • El programador de trabajos llega a una conclusión con respecto al orden en que se ejecutan los trabajos.
    • Para maximizar la producción promedio, los trabajos se organizan según su prioridad y clase.
    • Con la ayuda de JOB CONTROL LANGUAGE, el procesamiento por lotes nos proporciona la información necesaria (JCL).
Atributos de la computadora central

Atributo de unidad central

Pasos para la prueba de mainframe

Las pruebas de mainframe se pueden realizar de dos maneras: manualmente o con la ayuda de herramientas de automatización como QTP, REXX y el analizador de rendimiento de aplicaciones de IBM. Los siguientes son los pasos para la prueba de mainframe:

Paso 1: Elaborar un plan: para comenzar, el equipo comercial o de desarrollo crea planes de prueba basados ​​en el documento de requisitos comerciales, el documento de requisitos del sistema, otros documentos del proyecto y las entradas. También dicta cómo se modificará un elemento o proceso en particular durante el ciclo de lanzamiento. Mientras tanto, el equipo de prueba colaborará con los equipos de desarrollo y gestión de proyectos para preparar escenarios de prueba y casos de prueba con anticipación.

Paso 2: Haga un cronograma: Una vez que el documento de requisitos se haya escrito correctamente, se entregará a los equipos de desarrollo y pruebas. Además, el cronograma de pruebas debe crearse de acuerdo con el plan preciso de entrega del proyecto.

Paso 3: Entregables: Después de recibir el documento, revisarán los entregables. Los entregables también deben estar bien definidos, sin ambigüedad, y cumplir con el alcance de los objetivos de la prueba.

Paso 4: Implementación: A continuación, la implementación debe proceder de acuerdo con el plan y los entregables. En la mayoría de los casos, el requisito modificado en una versión afectará directamente al 15-25 % de la solicitud. El 60-75 % restante del lanzamiento se basará en funciones listas para usar, como pruebas de aplicaciones y procesos. Como resultado, será necesario probar la aplicación Mainframe dos veces.

  • Requisitos de prueba: la aplicación se probará para las características o cambios especificados en el documento de requisitos.
  • Prueba de integración: esta actividad de prueba es solo para fines de prueba. Se pondrá a prueba el procedimiento completo, así como cualquier otra aplicación que reciba o transmita datos a la aplicación importante.

Paso 5: Informes: los resultados de las pruebas se compartirán con el equipo de desarrollo de forma regular después de eso. El equipo de prueba debe conectarse con el equipo de desarrollo para realizar modificaciones rápidas en instancias cruciales para mantener la coherencia.

Procedimientos de prueba de mainframe a seguir

Al realizar pruebas de mainframe, tenga en cuenta los siguientes pasos:

Paso 1: Prueba de humo: comience con la prueba de humo para ver si el código implementado se encuentra en el entorno de prueba adecuado. También garantiza que el código esté libre de fallas importantes, lo que ahorra tiempo y esfuerzo a los evaluadores que, de otro modo, tendrían que probar una compilación incorrecta.

Paso 2: Prueba/Prueba del sistema: Después de la prueba de humo, se realizará una ronda de prueba de funcionalidad o sistema para evaluar las funcionalidades de varios modelos de forma independiente y en relación entre sí. Los tipos de pruebas que se deben realizar al implementar las pruebas del sistema se enumeran a continuación:

  • Pruebas por lotes: Realice pruebas por lotes para verificar que los resultados de las pruebas en los archivos de salida y los cambios de datos realizados por el trabajo por lotes cumplan con las especificaciones de prueba.
  • Pruebas en línea: evalúe la funcionalidad de front-end de las aplicaciones de mainframe a través de pruebas en línea. Las pruebas en línea cubren una variedad de temas, que incluyen la facilidad de uso, las validaciones de entrada de datos, la apariencia y la navegación en pantalla. Los campos de entrada exactos, como el interés en el plan, un plan de seguro, etc., deben probarse en la aplicación.
  • Pruebas de integración por lotes en línea: en sistemas con procesos por lotes y aplicaciones en línea, se pueden realizar pruebas de integración por lotes en línea. Las funciones de integración del proceso en línea con el proceso backend también se probarán aquí. Esencialmente, esta prueba verifica la precisión del flujo de datos y las interacciones entre las pantallas y el sistema de back-end. Además, la tarea por lotes se utiliza para verificar el flujo de datos y la comunicación a través de las pantallas en línea.
  • Pruebas de bases de datos: las pruebas de bases de datos se realizan para garantizar que los datos almacenados por las transacciones cumplan con los requisitos del sistema. Y las bases de datos, que contienen datos de aplicaciones de mainframe como IMS, IDMS, DB2, VSAM/ISAM, conjuntos de datos secuenciales y GDG, validaron su diseño y almacenamiento de datos. La integridad de los datos y otros parámetros de la base de datos también pueden validarse para un rendimiento óptimo durante las pruebas de la base de datos.

Paso 3: Pruebas de integración del sistema: Las pruebas de integración del sistema se utilizan para verificar la funcionalidad de los sistemas que están relacionados con el sistema bajo prueba. Debido a que es vital probar la interfaz y varios tipos de mensajes como trabajo exitoso, trabajo fallido, base de datos actualizada, etc., se ejecuta después de las pruebas unitarias. También se comprobará la precisión del flujo de datos entre los módulos y las aplicaciones. Se llevan a cabo pruebas de integración del sistema para garantizar que la compilación esté lista para su implementación. Uno puede ejecutar las siguientes pruebas durante la prueba de integración del sistema:

  • Pruebas por lotes
  • Pruebas en línea
  • Pruebas de integración por lotes en línea

Paso 4: Pruebas de regresión: Las pruebas de regresión son la parte más crucial de cualquier prueba. Las pruebas de regresión garantizan que los trabajos por lotes y las pantallas en línea no puedan relacionarse directamente con el sistema que se está probando y que la versión actual del proyecto no tenga ningún efecto sobre ellos. Las pruebas de regresión garantizan que los cambios realizados en un módulo no tengan un impacto en la funcionalidad general de la aplicación integrada de la aplicación principal. Para lograr una prueba de regresión exitosa, se debe aceptar una colección específica de casos de prueba según su complejidad, y se debe construir un repositorio de casos de prueba. Y la prueba específica debe actualizarse cada vez que se agrega una nueva función a la versión.

Paso 5: Pruebas de rendimiento: el siguiente paso en las pruebas de mainframe es la prueba de rendimiento. El objetivo es descubrir los cuellos de botella en áreas clave como los datos front-end, la actualización de las bases de datos en línea y la protección de la escalabilidad de la aplicación durante las pruebas de rendimiento. Uno puede enfrentar los siguientes problemas de rendimiento en las aplicaciones de Mainframe:

  • El tiempo de respuesta de Internet puede ser lento, lo que provoca la insatisfacción del usuario.
  • Los trabajos por lotes y los procesos de back-end pueden demorar más de lo esperado, lo que limita el acceso de los usuarios en línea al sistema.
  • Problemas con la escalabilidad.

Para solucionar los problemas enumerados anteriormente, ejecute la aplicación a través de las siguientes pruebas:

  • Parámetros para la integración del sistema.
  • Codificación para el diseño de aplicaciones y bases de datos.
  • Parámetros del sistema y de la base de datos.
  • Programación de trabajos de back-end.

Paso 6: Pruebas de seguridad: se evalúan las amenazas, los peligros y las vulnerabilidades, y se recomiendan acciones correctivas para las aplicaciones y las redes. Los casos de uso en la gestión de acceso e identidad, la gestión de riesgos y cumplimiento, la protección de datos y el cumplimiento de la política de privacidad deben incluirse en las pruebas de seguridad. Para decirlo de otra manera, las pruebas de seguridad se realizan para ver qué tan bien está diseñada y construida una aplicación para resistir los ataques contra la seguridad. Los dos tipos de sistemas de seguridad que deben probarse son la seguridad del mainframe y la seguridad de la red. Uno debe probar los siguientes factores durante las pruebas de seguridad:

  • Autorización
  • Integridad
  • Autenticación
  • Confidencialidad
  • Disponibilidad

Paso 7: Metodologías ágiles: la metodología ágil se utiliza para simplificar el desarrollo gradual de la aplicación y responde rápidamente a las modificaciones. 

Categorización de Pruebas Manuales en Mainframe

 Las pruebas manuales se dividen en dos partes:

  • Pruebas en línea: la pantalla de inscripción de miembros se utiliza para las pruebas en línea. La base de datos se verifica utilizando la entrada de datos a través de las pantallas, como una página web.
  • Prueba de trabajo por lotes: este procedimiento se prueba en dos fases: cada trabajo se valida de forma independiente y la integración entre las tareas se valida proporcionando un archivo plano de entrada al primer trabajo y validando la base de datos. (Debido a la precaución adicional, los resultados intermedios deben confirmarse).

Herramientas de prueba de automatización de mainframe

Las siguientes son algunas de las herramientas de prueba de automatización de mainframe:

1. Subject7: Subject7 es una sencilla plataforma de automatización de pruebas SaaS basada en la nube que ofrece mecanización de pruebas de extremo a extremo a través de una secuencia de instrucciones. Es un nombre muy conocido entre las soluciones de automatización actuales. Esta herramienta independiente del lenguaje y libre de secuencias de comandos con una sencilla interfaz en línea se creó para ayudar tanto a los evaluadores no técnicos como a los expertos en automatización de pruebas a crear rápidamente escenarios de prueba automatizados complicados.

Características:

  • Las canalizaciones de DevOps competentes de REST, JIRA y Jenkins están todas simplemente integradas.
  • Appium y Selenium son estándares de código abierto que se utilizan para probar aplicaciones móviles y en línea.
  • La interfaz web es fácil de usar, lo que la hace adecuada para quienes no son programadores.

2. LambdaTest: LambdaTest es una plataforma de prueba multinavegador escalable, basada en la nube y diseñada para pruebas de software tanto manuales como automatizadas. Le permite probar su sitio web o aplicación web pública o alojada localmente en más de 2000 navegadores, versiones de navegador, sistemas operativos y resoluciones diferentes. Proporciona una vista previa rápida de cómo se verá el sitio y permite probar el diseño en 36 dispositivos diferentes con solo un clic. Además de eso, la plataforma permite ejecutar scripts de Appium y Selenium en un Selenium Grid escalable en línea a través de navegadores móviles tanto en iOS como en Android.

Características:

  • Totalmente automatizado e interactivo en tiempo real.
  • La interfaz de usuario es fantástica y fácil de usar.
  • Para las pruebas en tiempo real, hay disponible una gran cantidad de navegadores y dispositivos móviles.

3. HeadSpin: otra plataforma de inteligencia conectada popular es HeadSpin, que proporciona aplicaciones móviles, 5G, web y IoT. Unifica la supervisión y las pruebas de redes, aplicaciones y dispositivos mediante la integración con todos los marcos de automatización y pruebas. Uno puede probar, monitorear y analizar cualquier aplicación que se ejecute en cualquier dispositivo, en cualquier red, en cualquier parte del mundo usando HeadSpin.

Características:

  • Perfilado y depuración de código local.
  • Depuración desde lejos.
  • Pruebas de localización.
  • Hay casi 500 pruebas ejecutándose en paralelo.
  • En un dispositivo de nube compartida, hay acceso a más de 300 dispositivos en más de 30 países.

Mejores prácticas para pruebas de mainframe

  1. Hacer un simulacro del trabajo bajo prueba siempre es una buena idea. Los archivos de entrada vacíos se utilizan para el ensayo. Este procedimiento debe llevarse a cabo para cualquier trabajo que se vea afectado por los cambios del ciclo de prueba.
  2. La configuración de la tarea de prueba debe completarse mucho antes del inicio del ciclo de prueba. Esto ayudará en la detección temprana de cualquier error JCL, ahorrando tiempo durante la ejecución.
  3. Establezca siempre la confirmación automática en «NO» cuando acceda a las tablas de DB2 a través de SPUFI (la opción del emulador para acceder a las tablas de DB2) para evitar actualizaciones no intencionales.
  4. No subestime la importancia de una gestión de proyectos eficaz y el apoyo de un arquitecto de soluciones para su proyecto. Por lo general, estos proyectos se enfocan en aplicaciones que han sido fundamentales para el negocio durante mucho tiempo. La confirmación del inventario técnico y la obtención de datos de pruebas y casos de uso son los dos principales impulsores de tiempo y gastos para las iniciativas de migración de mainframe. Asegúrese de que su experiencia esté disponible e invertida en el proyecto.

Desafíos y solución de problemas de pruebas de mainframe

Cada tipo de prueba es una sucesión de pruebas y errores hasta encontrar el mejor sistema posible. Las pruebas en mainframes no son diferentes. A lo largo del proceso, el equipo de pruebas se enfrentará a problemas o solución de problemas. A continuación, se analizan algunas inquietudes que los probadores han informado con frecuencia, así como un enfoque sugerido que podría usarse para descubrir una solución.

1. Los requisitos y el manual no coinciden: aunque puede haber disponible un manual del usuario o una guía de capacitación, estos no son los mismos que los requisitos establecidos.

  • Solución: El equipo de pruebas debe participar en el ciclo de vida del desarrollo de software desde el momento en que se definen los requisitos del sistema. Podrán verificar que los criterios que se especifican son comprobables y factibles si participan desde el principio del proceso. Esto ahorra tiempo, dinero y esfuerzo al equipo, al mismo tiempo que garantiza que el proceso de desarrollo de software no se detenga durante la fase de prueba.

2. Identificación de los datos requeridos: puede haber momentos en los que se deban utilizar los datos actuales para satisfacer una necesidad específica. Identificar los datos requeridos de los datos disponibles puede ser difícil a veces.

  • Solución: se pueden usar herramientas propias para configurar los datos según sea necesario. Las consultas deben desarrollarse con anticipación para recuperar los datos existentes. En caso de que surja un problema, se puede solicitar la creación o clonación de los datos necesarios al equipo de gestión de datos.

3. Sin análisis de impacto: es posible que el impacto del código altere por completo la apariencia y la funcionalidad del sistema. Es posible que sea necesario realizar cambios en los casos de prueba, los scripts y los datos.

  • Solución: se debe implementar un análisis de impacto y una estrategia de gestión de cambio de alcance.

4. Solicitud ad-hoc: es posible que las fallas con las aplicaciones ascendentes o descendentes exijan pruebas de extremo a extremo. Estas demandas imprevistas tienen la capacidad de descarrilar el cronograma predeterminado del proceso de prueba al agregar tiempo, esfuerzo y otros recursos al ciclo de ejecución.

  • Solución: para prepararse para problemas imprevistos a lo largo del proceso de prueba, los scripts de automatización, los scripts de regresión, los scripts de esqueleto y cualquier otro plan de respaldo deben estar listos para usar tan pronto como surja un problema. Esto reduce la cantidad total de tiempo y trabajo necesarios para completar el proyecto.

Beneficios de las pruebas de mainframe

Los siguientes son algunos de los beneficios de completar con éxito las pruebas de mainframe:

  1. Aprovecha al máximo los recursos disponibles.
  2. Ayuda a evitar la repetición del trabajo duplicado.
  3. Mejora la experiencia general del usuario.
  4. Reduce el tiempo de inactividad de la producción.
  5. Nos ayuda a aumentar la retención de clientes.
  6. También nos ayuda a reducir el costo total de las operaciones de TI.

Publicación traducida automáticamente

Artículo escrito por akashmomale19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *