using json interface testing
Uso de JSON para pruebas de interfaz:
La prueba de interfaz verifica la comunicación entre dos sistemas diferentes. Se realiza en la aplicación bajo prueba para verificar si la comunicación de ida y vuelta entre dos redes se realiza correctamente.
Una interfaz es básicamente la conexión entre dos sistemas de software y la prueba de esa conexión para la transferencia de datos se denomina prueba de interfaz. La interfaz cubre una amplia gama de servicios en el mundo real, se puede utilizar para hacer referencia a servicios web, API, etc.
Una interfaz contiene un conjunto de reglas, mensajes, comandos, etc. que facilitan la comunicación entre dos sistemas.
Esta prueba se concentra principalmente en la prueba de dos segmentos principales:
- Comunicación del servidor de aplicaciones y bases de datos
- Comunicación con el servidor web y de aplicaciones
La prueba de interfaz se realiza para evaluar los escenarios mencionados anteriormente para validar si los componentes están pasando correctamente el control y los datos entre sí correctamente. También verifica la interacción entre diferentes módulos.
Lo que vas a aprender:
- ¿Por qué se realiza la prueba de interfaz?
- ¿Cómo se realiza?
- Diferencia entre las pruebas de interfaz y las pruebas de integración
- Escenario empresarial
- Configuración del entorno de prueba
- Comenzando su prueba
- Conclusión
- Lectura recomendada
¿Por qué se realiza la prueba de interfaz?
Se realiza para asegurar:
- Si la comunicación entre los sistemas se realiza correctamente.
- Todo el software y hardware que se utiliza en el sistema está funcionando correctamente.
- Todos los documentos vinculados a la comunicación están disponibles en todas las plataformas integradas.
- Los requisitos de seguridad y cifrado se adhieren a la comunicación entre los sistemas.
- Los componentes integrados pueden manejar fallas de red y pérdida de comunicación.
Tipos de defectos encontrados
La mayoría de los defectos encontrados en las pruebas de la interfaz de usuario se deben a un mapeo incorrecto de los datos entre los sistemas. Por lo tanto, la mayoría de los errores se pueden clasificar básicamente en las siguientes categorías.
- Transmisión de datos inconsistente entre los dos sistemas.
- Uno de los sistemas malinterpreta la transmisión de datos de otro sistema.
- El canal de transmisión o la interfaz entre los dos sistemas falla y eso restringe la transferencia de datos entre los sistemas, lo que hace que toda la interfaz falle.
¿Cómo se realiza?
Se puede clasificar principalmente en las siguientes fases:
- Las interfaces se pueden probar individualmente durante prueba del sistema . Este tipo de prueba se lleva a cabo principalmente mediante un sistema stub o ficticio. Un sistema ficticio o código auxiliar suplanta el comportamiento de la interacción del sistema completo.
- Otra instancia en la que se realiza la prueba de interfaz es una unión en la que dos sistemas se comunican entre sí.
- Por lo tanto, probamos si los datos enviados por un sistema se han mapeado e insertado correctamente en otro sistema o no. Además de la inserción de datos, también verificamos la integridad de los datos, es decir, los datos, cuando se insertan en otro sistema, no han sido manipulados o alterados, etc.
- Las pruebas también se pueden realizar cuando un sistema transmite datos a otra base de datos de aplicaciones. Aquí, probaremos si los datos de un sistema se han insertado correctamente en una columna determinada de la tabla dada según el mapeo. También probaremos la integridad y la coherencia de los datos con respecto al sistema de origen.
En todos estos escenarios de prueba, la prueba de interfaz se realiza en función de los requisitos comerciales y las reglas de flujo comercial.
Diferencia entre las pruebas de interfaz y las pruebas de integración
La verificación y validación de la funcionalidad de extremo a extremo de los componentes conectados entre sí se denominan Pruebas de integración o más popularmente como pruebas de integración de sistemas. Las pruebas de integración validan principalmente si dos o más sistemas integrados juntos han estado funcionando perfectamente juntos o no.
Pruebas Interfaz por otro lado se concentra básicamente en el canal de conexión entre los dos sistemas. El canal de conexión entre dos o más sistemas se denomina Interfaz. La prueba de este canal de conexión se denomina Prueba de interfaz. La mayoría de las interfaces son API o servicios web. No tiene una interfaz de usuario, pero toma una entrada y presenta al usuario una salida.
Por ejemplo
En el ejemplo anterior, el sitio web y la base de datos comparten una interfaz para transmitir la información de inicio de sesión, es decir, nombre de usuario y contraseña.
La interfaz utiliza el servicio web para enviar la información de inicio de sesión a la base de datos, que a su vez valida la autenticidad del mensaje entrante (nombre de usuario y contraseña) y devuelve el valor como verdadero si tanto el nombre de usuario como la contraseña coinciden con el registro presente en la base de datos o falso en caso de que alguno de ellos o tanto el nombre de usuario como la contraseña no coincidan con los datos presentes en su interior.
Analicemos el ejemplo de prueba de interfaz:
Supongamos que tenemos una aplicación en la que tenemos diferentes bases de datos que interactúan entre sí.
En esto ejemplo , consideraremos la interacción de dos bases de datos a través de un canal de interfaz.
Consideremos que hay dos bases de datos o aplicaciones, la base de datos A y B. 'A' transfiere algunos datos a 'B', que luego es utilizado por B para realizar alguna operación. Después de realizar una determinada operación en los datos entrantes, B inserta esos datos en la base de datos y crea un JSON de salida para confirmación con la lista de datos actualizados y lo envía de vuelta a A.
Tanto A como B utilizan el canal de interfaz para la comunicación entre ellos.
Escenario empresarial
“A” contiene datos de empleados para todos los empleados que pertenecen al departamento de finanzas.
Los datos deben transferirse a 'B ” diariamente. 'B' contiene datos sobre los detalles generales de los empleados. Todos los datos de 'A' deben transferirse a una tabla y columna en particular de 'B'. Aparte de la entrada de datos, 'B' también necesita ordenar y organizar los datos. También debe asegurarse de que los datos se hayan ingresado con el empleado correcto.
Una vez que los datos se han introducido en el sistema, 'B' debe enviar un JSON de salida para confirmar si los datos se han insertado en la base de datos.
En caso de cualquier discrepancia en el esquema JSON o falta de datos, “B” no procesará los datos y enviará un mensaje de Rechazo JSON con el motivo del rechazo.
Configuración del entorno de prueba
Para probar un escenario como este, necesitaremos un código auxiliar de prueba para imitar la base de datos 'A'. El desarrollador puede proporcionar una ubicación donde puede volcar su JSON de prueba o una interfaz de usuario simulada y pegar sus datos JSON e invocar el procesamiento a través de la interfaz. Para fines de prueba, también podemos tener una ubicación de salida donde podemos recibir la confirmación JSON de 'B'.
En nuestro ejemplo , usaremos una ruta de carpeta donde pondremos nuestro JSON de prueba, el servicio buscará constantemente la ubicación del archivo JSON. Una vez que el archivo está presente, el servicio lo recogerá y lo enviará a 'B' a través de la interfaz. Una vez que se haya recogido el archivo, se eliminará del lugar de recogida.
Comenzando su prueba
Una vez que se ha configurado el entorno de prueba, el siguiente paso es crear los datos de prueba.
Al crear datos de prueba (leer JSON de prueba), debemos tener en cuenta algunas cosas:
- Siga las reglas comerciales.
- Asegúrese de que los campos obligatorios estén presentes.
- Cambie el valor de los campos de acuerdo con las reglas comerciales de cada prueba.
- Asegúrese de que el esquema JSON tenga el formato correcto.
- Asegúrese de que se haya adherido la nomenclatura del nombre de archivo JSON.
Echemos un vistazo al JSON de prueba de muestra que usaremos para las pruebas:
|_+_|Comience su prueba
Una vez que haya creado su archivo JSON de prueba, suéltelo en el lugar de recogida. El servicio lo recogerá y lo publicará en la base de datos B.
Escenarios para probar:
Puede haber una serie de escenarios que deban probarse para este ejemplo, como:
- Trabajar con el servicio web para enviar y recibir datos.
- Integridad de datos para los datos de entrada. Esto se puede validar consultando tablas y columnas en la base de datos B para los datos ingresados a través del JSON de prueba.
- Escenarios negativos.
Al principio, verificaremos si el archivo JSON de prueba se ha recogido de la ubicación o no está presente en la ubicación. Esto validará el funcionamiento del servicio. A continuación, navegaremos a la carpeta de salida para ver el JSON de salida. La presencia de JSON de salida valida si los datos de entrada se han enviado a la base de datos B y se ha recibido el reconocimiento de los mismos.
La siguiente parte de la prueba consiste en validar los datos ingresados en la base de datos.
En la prueba anterior, validaremos si los datos enviados a través del JSON de prueba se han introducido correctamente en la base de datos. Validaremos la integridad de los datos, la coherencia de los datos y la inserción de datos. Tendremos que consultar la base de datos B para la columna dada en una tabla en particular para validar si los datos se han insertado correctamente en la tabla.
Supongamos que tenemos una tabla EmpDetails donde se deben insertar los datos. Entonces, ejecutaremos una consulta para validar los datos.
La consulta será algo como esto:
|_+_|Aquí, usaremos el employeeID como la clave principal para consultar los datos en la tabla EmpDetails. Consultaremos utilizando todo el nombre de la columna en la que se han insertado los datos. Luego, los datos en el nombre de la columna se pueden validar con los datos enviados a través de JSON.
En el caso anterior, los datos de JSON se almacenan en más de una tabla en la base de datos, por lo que puede usar SQL JOINS para obtener todos los datos deseados.
El tercer paso en la prueba será probar los escenarios negativos.
Algunos de los escenarios negativos que se pueden probar son:
- El comportamiento del sistema cuando se alimentan datos incorrectos a través de JSON.
- Cuando el JSON tiene el esquema o la estructura incorrectos.
- Cuando al JSON procesado le falta la clave principal o cualquier campo obligatorio.
- La nomenclatura del archivo JSON no es válida.
En todos estos casos, el sistema debe poder manejar estos escenarios y no se deben insertar datos en el sistema según la regla comercial.
Conclusión
El canal de conexión entre dos sistemas a través del cual se transmiten los datos se denomina interfaz y la prueba de interfaz funciona principalmente en torno a la prueba de estas conexiones. La mayoría de las interfaces hacen uso de servicios web o API. No siempre tiene una interfaz de usuario, pero acepta entradas y proporciona resultados.
cola de matriz circular c ++
Siendo uno de los formatos de transferencia de datos más utilizados, JSON se puede utilizar para la transferencia de datos de la interfaz.
Un evaluador debe tener conocimientos básicos de estructura JSON para crear datos de prueba (en forma de JSON) y leer datos de salida del sistema. Un evaluador también debe estar bien versado en el mapeo entre las claves JSON y la columna de la tabla de la base de datos.
Cualquier evaluador que quiera trabajar en las pruebas de interfaces debe tener un conocimiento claro sobre las pautas comerciales y las reglas de una aplicación. Un evaluador también debe tener un conocimiento adecuado sobre la base de datos y debe poder escribir consultas SQL simples.
Para cualquier pregunta o aclaración por favor contáctenos en la sección de comentarios.
Tutorial #5: Preguntas de la entrevista JSON
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Prueba de base de datos con JMeter
- Descarga del libro electrónico Testing Primer
- Más de 40 mejores herramientas de prueba de bases de datos: soluciones de prueba de datos populares
- Tutorial de prueba de GUI: una guía completa de prueba de interfaz de usuario (UI)
- Un enfoque simple para pruebas de XML para bases de datos
- Tutorial de pruebas de almacenamiento de datos de pruebas ETL (una guía completa)
- ¿Qué es la prueba de interfaz? Conozca sus tipos, estrategia y herramientas