Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Pruebas de proceso de conciliación

Precondiciones

Todas las pruebas del proceso tienen las siguientes precondiciones:

Pruebas de conciliación de autorizaciones

...

#

...

Prueba

...

Proceso

...

Objetivo

...

Resultado Esperado

...

Valores dfmlg0a1

...

Valores FiservTransactions

...

Valores balances

...

1

...

Prueba de Lectura de Archivo de Autorizaciones

...

1.1 Prueba exitosa

...

Ejecutar prepare_authorization_file con un archivo de prueba que contenga datos simulados.

...

Verificar que el sistema lee correctamente el archivo dfmlg0a1 y extrae los campos relevantes.

...

La función debe devolver un DataFrame con los registros filtrados correctamente según los criterios especificados (fasActionFinal=A y recordType=A).

...

Archivo dfmlg0a1 con al menos un registro

...

N/A

...

N/A

...

1.2 Prueba fallida

...

Ejecutar prepare_authorization_file cuando el archivo no se encuentra

...

Verificar errores en caso que el archivo dfmlg0a1 no se encuentre

...

La función retorna un DataFrame vacío

...

Archivo dfmlg0a1 no existente en path de búsqueda

...

N/A

...

N/A

...

2

...

Prueba de Conexión a MongoDB

...

2.1 Prueba exitosa

...

Ejecutar funciones que requieran conexión a MongoDB, como sync_balances.

...

Confirmar que el sistema se conecta correctamente a las bases de datos de MongoDB y lee/escribe datos.

...

Conexión exitosa y lectura/escritura de datos sin errores.

...

Archivo dfmlg0a1 con al menos un registro válido

...

Conexión válida a colección fiservTransactions

...

Conexión válida a colección balances

...

2.2

Prueba fallida DB Spin

...

Verificar que no se logra establecer conexión con la base de datos de Spin

...

El sistema genera error de conexión con base de datos y lo reporta en Cloud Watch

...

Archivo dfmlg0a1 con al menos un registro válido

...

Conexión no válida a fiservTransactions

...

N/A

...

2.3 Prueba fallida BD Mirror

...

Verificar que no se logra establecer conexión con la base de datos de FFSS

...

El sistema genera error de conexión con base de datos y lo reporta en Cloud Watch

...

Archivo dfmlg0a1 con al menos un registro válido

...

Conexión válida a colección fiservTransactions

...

Conexión no válida a balances

...

3

...

Prueba de Filtrado y Transformación de Datos

...

3.1

Prueba exitosa

...

Usar un conjunto de datos de prueba y ejecutar la transformación mediante parse_authorization_file_line_udf. El archivo debe contener información valida para las columnas authorizationDate, authorizationTime, accountNumber, recordType, fasActionFinal, authorizationCode

...

Asegurar que los datos son filtrados y transformados adecuadamente.

...

Los datos transformados deben coincidir con los criterios de filtrado y transformación definidos.

...

Archivo dfmlg0a1 válido con al menos un registro conteniendo recordType y fasActionFinal = 'A'

...

Colección de registros con valor createdAt < 15 dias. (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

N/A

...

3.2 prueba exitosa

...

Verificar que registros no contemplados de dfmlg0a1 no se procesen

...

Los registros no contemplados deben ignorarse.

...

Archivo dfmlg0a1 válido con al menos un registro conteniendo recordType y fasActionFinal con valores diferentes a 'A' (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

Colección de registros con valor createdAt < 15 dias. (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

N/A

...

2.2

Prueba fallida

...

las columnas authorizationDate, authorizationTime, accountNumber, recordType, fasActionFinal, authorizationCode No se pueden procesar correctamente

...

El archivo tiene formato incorrecto de columnas

...

El sistema genera error y lo reporta en Cloud Watch

...

N/A

...

N/A

...

N/A

...

4

...

Prueba de Sincronización de Balances

...

4.1

Prueba exitosa

...

Ejecutar sync_balances con un conjunto de números de cuenta de prueba.

...

Verificar que la sincronización de balances se realiza correctamente.

...

Los balances en la base de datos deben reflejar los cambios especificados.

...

Archivo dfmlg0a1 válido con al menos un registro conteniendo recordType y fasActionFinal con valores diferentes a 'A' (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

Colección de registros con valor createdAt < 15 dias. (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

Colección de registros de balances.

(ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

5

...

Prueba de Actualización de Datos en MongoDB

...

5.1

...

Ejecutar sync_balances y luego verificar los datos en MongoDB.

...

Comprobar que la actualización de datos en MongoDB se realiza correctamente.

...

Campo forceSync en documentos de colección de balances afectados debe estar en true

...

Archivo dfmlg0a1 válido con al menos un registro conteniendo recordType y fasActionFinal con valores diferentes a 'A' (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

Colección de registros con valor createdAt < 15 dias. (ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

(ver https://fintechdigital.atlassian.net/wiki/spaces/TPP/pages/2637234486/Matriz+de+pruebas+-+Procesos+de+conciliaci+n#Datos-de-prueba )

...

6

...

Prueba de Rendimiento y Tiempos de Ejecución

...

6.1

...

Ejecutar el proceso completo bajo una carga de datos representativa.

...

Evaluar el rendimiento y los tiempos de ejecución del proceso bajo carga normal.

...

El proceso se completa dentro de un marco de tiempo aceptable y sin problemas de rendimiento.

...

Tomar volmen de datos cercano a entorno productivo

...

Tomar volmen de datos cercano a entorno productivo

...

Tomar volmen de datos cercano a entorno productivo

...

Para las pruebas de conciliación de autorizaciones se requieren tres conjuntos de datos de distintos orígenes:

Archivo de autorizaciones:

Es el archivo suministrado por Fiserv ( dfmlg0a1). Es un archivo de texto con campos de ancho fijo. Se encuentra en un S3 ubicado en

s3://{ENV}.fiserv.spin/dfmlg0a1/DFMLG0A1_{AAAA}-{MM}-{DD}.TXT

donde {ENV} es el ambiente, {AAAA}, {MM} y {DD} corresponden a los datos de la fecha del día anterior.

Los campos que se extraen de el archivo son los siguientes:

  1. Fecha autorización: Posición 2, Largo 8

  2. Hora autorización: Posición 11, Largo 7

  3. Número de cuenta: Posición 22, Largo 19

  4. Tipo de registro: Posición 64, Largo 1. Para que el registro sea tomado en cuenta debe tener el valor A

  5. FAS Action Final: Posición 97, Largo 1. Para que el registro sea tomado en cuenta debe tener el valor A

  6. Código autorización: Posición 103, Largo 6

Base de datos de transacciones de Spin

Corresponde a la base de datos de MongoDB de Spin donde se almacenan las transacciones (fiservTransaction).

Los campos accedimos de la base de datos son los siguientes:

  1. createdAt: Fecha de la transacción. Para que el registro sea tomado en cuenta debe estar en le rango de los últimos 15 días.

  2. accountNumber: Código de cuenta.

  3. authCode: Código de autorización de la transacción.

Base de datos de mirror de balances

Es la base de datos en MongoDB donde se almacena la información de Mirror de balances, para esta tabla se acceden los siguientes campos:

_id: Corresponde al código de cuenta de 19 dígitos.

forceSync: Bandera booleana a activar si se requiere sincronizar el saldo al próximo ingreso del usuario.

Matriz de pruebas

Prueba

Objetivo

Archivo de Autorizaciones

Base de Datos Transacciones Spin

Base de Datos Mirror Balances

Resultado esperado

1

Carga de Archivo

Verificar carga correcta de archivos de autorizaciones desde S3

Archivo dummy.

View file
nameDFMLG0A1_AAAA-MM-DD.TXT .TXT

N/A

N/A

Proceso finalizado sin errores

2

Parsing de Archivos

Asegurar parsing correcto de los datos del archivo

Archivo dummy.

View file
nameDFMLG0A1_AAAA-MM-DD.TXT .TXT

N/A

N/A

Proceso finalizado sin errores

3

Filtrado de Registros

Comprobar filtro correcto de registros basado en criterios

Archivos con diferentes combinaciones de campos

View file
nameDFMLG0A1_AAAA-MM-DD.TXT (accountNumber 0000000000000000000).TXT

Verificar que no se encuentren registros con accountNumber “0000000000000000000“

Verificar que no se encuentren registros con _id “0000000000000000000“

Proceso finalizado sin errores

4

Selección de registros con MongoDB de Spin

Verificar acceso y lectura desde MongoDB de Spin

Archivos con diferentes combinaciones de campos

View file
nameDFMLG0A1_AAAA-MM-DD.TXT (accountNumber 0000000000000000000).TXT

(Actualizar campo createdAt)

View file
nameSpinTransaction-0000000000000000000.json

Verificar que no se encuentren registros con _id “0000000000000000000“

Proceso finalizado sin errores

5

Sincronización de Balances

Asegurar sincronización de balances en MongoDB

View file
nameDFMLG0A1_2023-11-09.TXT

(Actualizar campo createdAt)

View file
namefiservTransaction.json

View file
namebalances.json

el campo forceSync del documento con _id=9500505431082353258de la colección balance debe finalizar en True

6

Archivo de autorizaciones no encontrado

Probar ejecución en caso que el archivo no haya sido generado en esa fecha

Archivo no localizado en ruta definida

N/A

N/A

Proceso finalizado sin errores

7

Manejo de Errores

Probar manejo adecuado de errores

Archivo mal configurado

Conexión no válida a base de datos de Spin

Conexión no válida a base de datos de FFSS

El proceso genera error visualizado en CloudWatch

8

Rendimiento

Evaluar rendimiento del script bajo carga

Archivo con volumen similar al de PROD.

Base de datos de tamaño similar a PROD

Base de datos de tamaño similar a PROD

El proceso se debe ejecutar en un tiempo aceptable de acuerdo al criterio acordado.

Datos de prueba (Happy path)

  1. dfmlg0a1

Para las autorizaciones se han realizado pruebas con el siguiente archivo:

...

Este archivo tiene el campo fasActionFinal con diferentes valores, permitiendo filtrar las transacciones a filtrar.

...

  1. fiservTransactions

Para la colección de fiservTransaccions se ejecutaron las pruebas con el siguiente conjunto de datos:

...

Para su uso es necesario actualizar el campo createdAt ya que el proceso sólo toma los registros de los últimos 15 días

...

  1. Balances

La colección usada para balances es la siguiente:

...