...
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:
...
Corresponde a la base de datos de MongoDB de Spin donde se almacenan las transacciones (fiservTransactionsfiservTransaction).
Los campos accedimos de la base de datos son los siguientes:
...
forceSync: Bandera booleana a activar si se requiere sincronizar el saldo al próximo ingreso del usuario.
Matriz de pruebas
N° | Prueba |
---|
Objetivo |
---|
Resultado Esperado
Valores dfmlg0a1
Valores FiservTransactions
Archivo de Autorizaciones | Base de Datos Transacciones Spin | Base de Datos Mirror Balances | Resultado esperado |
---|---|---|---|
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).
Carga de Archivo | Verificar carga correcta de archivos de autorizaciones desde S3 | Archivo dummy.
| N/A | N/A | Proceso finalizado sin errores |
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
2 | Parsing de Archivos | Asegurar parsing correcto de los datos del archivo | Archivo dummy.
| 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.
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 )
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
...
Proceso finalizado sin errores | ||||||||||||||||||
3 | Filtrado de Registros | Comprobar filtro correcto de registros basado en criterios | Archivos con diferentes combinaciones de campos
| 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
| (Actualizar campo createdAt)
| 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 |
| (Actualizar campo createdAt)
|
| el campo forceSync del documento con _id= | ||||||||||||
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)
dfmlg0a1
Para las autorizaciones se han realizado pruebas con el siguiente archivo:
...