Las pruebas de carga son un tipo de prueba entre los diferentes tipos de pruebas de rendimiento que determina el rendimiento del sistema en condiciones de carga en tiempo real. El papel de las API ha evolucionado mucho en los últimos años. Cuando las API solo se usaban para tareas como la extracción de informes, su rendimiento nunca fue un factor clave. Sin embargo, las API se han movido lentamente hacia la ruta crítica entre un usuario final y las ofertas de la empresa de servicios, lo cual es muy crítico. Dado que cada vez más organizaciones utilizan API para proporcionar sus servicios, su seguridad y rendimiento se convirtieron en un factor clave. Aquí vamos a discutir acerca de un mecanismo de seguridad de API, que se llama como OAuth 2.0, y cómo podemos hacer pruebas de carga en las API web de OAuth.
Pruebas de carga de JMeter con LoadView

¿Qué es OAuth?

OAuth es el protocolo estándar del sector para la autorización. OAuth se centra en la simplicidad cliente-desarrollador, al tiempo que proporciona flujos de autorización específicos para aplicaciones web, aplicaciones de escritorio, teléfonos móviles, etc. Esta especificación y sus extensiones se están desarrollando dentro del Grupo de Trabajo OAuth de IETF. OAuth se utiliza comúnmente como una manera para que los usuarios de Internet inicien sesión en sitios web de terceros utilizando sus cuentas de Microsoft, Google, Facebook, Twitter, Slack, etc., sin exponer su contraseña.

OAuth 1.0 es sospechoso de fallos de seguridad y retiró su soporte. OAuth 2.0 es la última, con características de seguridad más avanzadas. OAuth 2.0 permite a los usuarios compartir datos específicos con una aplicación, manteniendo sus nombres de usuario, contraseñas y otra información privada. Por ejemplo, una aplicación puede usar OAuth 2.0 para obtener permiso de los usuarios para almacenar archivos. Según el sitio web de OAuth,es como una llave de aparcacoches. Muchos coches de lujo hoy en día vienen con una llave de servicio de valet. Es una llave especial que le da al asistente de estacionamiento y a diferencia de su llave regular, no permitirá que el coche para conducir más de una milla o dos. Algunas llaves de valet no abrirán el maletero, mientras que otras bloquearán el acceso a su libreta de direcciones de teléfono celular a bordo. Independientemente de las restricciones que impone la llave de servicio de valet, la idea es muy inteligente. Le das a alguien acceso limitado a tu coche con una llave especial mientras usas tu llave normal para desbloquear todo.

 

Por qué es importante realizar pruebas de carga de las API web de OAuth

Cualquiera que sea su rol en una organización, al menos de vez en cuando habría oído hablar de una API. Entonces, ¿qué es la API? Una API significa Interfaz de Programación de Aplicaciones. Una API es un conjunto de reglas e instrucciones sobre cómo comunicarse con una aplicación cuando un usuario accede a una aplicación a través de Internet. Una solicitud podría ser tan simple como esto:

GET: https://userauth.dotcom-monitor.com/login

Si cree que las pruebas funcionales son suficientes para su aplicación y eso es lo que a todos los clientes les importa, sería incorrecto. ¿Qué pasa si su sitio web se pone en marcha junto con una campaña de marketing y miles de clientes potenciales comienzan a iniciar sesión. Es sólo entonces que se da cuenta de que sus clientes están encontrando errores durante el proceso de inicio de sesión. A partir de ese momento, está perdiendo la imagen del negocio potencial y de su organización.

Para evitar esta situación humillante, las pruebas de carga están aplicando el tráfico que espera ver en producción, sistemáticamente a sus servidores de aplicaciones, para determinar cómo se comporta la aplicación antes de que se active. Si ha implementado OAuth, puede realizar pruebas de carga de API simulando que varios usuarios envían solicitudes al servidor al mismo tiempo. Hay diferentes formas de ejecutar pruebas de carga, pero las pruebas de carga de API son uno de los métodos más fáciles y las opciones más rentables. Esto se debe a que es fácil de escribir y hay un montón de herramientas de código abierto de la industria que puede utilizar para generar y ejecutar sus scripts.

Si no está familiarizado con las pruebas de API y cómo funcionan las pruebas de carga, aquí hay un buen artículo donde puede obtener algunos conocimientos sobre las pruebas de API.

Una solicitud de API en LoadView se puede realizar de dos maneras: utilizando EveryStep Web Recorder para grabar un script o una tarea HTTP. Puede registrar la API mediante una aplicación que use la API o la solución LoadView. Además, es muy importante que si la aplicación usa una API de terceros, también debe realizar pruebas de carga de estas API para asegurarse de que cumplen sus requisitos.

 

Flujo/Fases de OAuth

Aquí vamos a explicar el flujo de OAuth 2.0 con la ayuda de la solución LoadView. LoadView es una plataforma de pruebas de carga bajo demanda que hace posible las pruebas de carga realistas sin una inversión inicial en infraestructura de hardware o software . La aplicación que vamos a realizar pruebas de carga es una aplicación de salud utilizada por los médicos.

A partir de ahora, nos referiremos a la aplicación de destino como “aplicación de salud”. La aplicación de salud está hospedada en Azure y han usado los servicios de Microsoft OAuth 2.0 durante el proceso de inicio de sesión, por lo que los médicos pueden acceder y pueden iniciar sesión con su dirección de correo electrónico del hospital que ya está registrada. Básicamente, esta aplicación proporcionará todos los detalles sobre el historial del paciente.

El flujo de OAuth 2.0 es específicamente para la autorización del usuario. Está diseñado para aplicaciones que pueden almacenar información confidencial y mantener el estado. Una aplicación de servidor web debidamente autorizada puede acceder a una API mientras el usuario interactúa con la aplicación o después de que el usuario haya abandonado la aplicación.

Aquí está la guía paso a paso que mostrará el flujo de OAuth 2.0, junto con las configuraciones de LoadView correspondientes para las pruebas de rendimiento.

Solo hay dos acciones en el flujo, pero depende de la necesidad de los desarrolladores si lo harán con varias secuencias de la API. Una configuración y complejidad de la API de OAuth 2.0 cambiará en función de la seguridad de la aplicación y los requisitos del desarrollador. Nunca es un proceso único.

Hay dos maneras de cargar la prueba de OAuth 2.0 mediante LoadView.

  1. Solicite a los desarrolladores la secuencia de autenticación de OAuth de la API. Este es el más simple y directo. De lo contrario, utilice la vista Cargar
  2. Regístrelo utilizando la herramienta de scripting EveryStep Web Recorder. Puede probar la grabadora por sí mismo aquí.

El uso de EveryStep Web Recorder es fácil de usar y es más eficaz y eficiente, ya que no necesitamos depender de los desarrolladores.

 

Proceso 1. Proceso de prueba de carga de OAuth 2.0 con EveryStep Web Recorder

Paso 1. Acceda a EveryStep Web Recorder.

Registro de OAuth nuevo script

Paso 2. Introduzca la dirección URL de la aplicación y seleccione Grabar ahora.

Registro de OAuth ahora

 

Paso 3. Siga el escenario de inicio de sesión de la aplicación.

Escenario de inicio de sesión de OAuth

 

Paso 4. Compruebe todos los detalles de la aplicación.

OAuth verificar detalles

 

Paso 5: Eso es todo. Reproduzca y asegúrese de que funciona. Simple, ¿verdad? Una vez realizada la grabación, configúrela en la plataforma LoadView y realice la prueba de carga.

 

Proceso 2. Uso de la secuencia de API de OAuth 2.0 mediante LoadView

Nota: Hay dos acciones necesarias para completar el proceso de OAuth 2.0.

Acción 1. Obtener el código de autorización

Acción 2. Intercambie el código de autenticación por un token de acceso

Nota: Debe solicitar los detalles de la solicitud del servidor API y los detalles de los datos del cuerpo del equipo de desarrollo

Paso 1. Cree su cuenta de LoadView y vaya al panel LoadView para seleccionar el tipo de API para las pruebas.

OAuth crea una nueva prueba de carga

Paso 2. Para fines de demostración, estamos seleccionando HTTP/S. Su situación puede variar según el tipo de servicio de API.

Prueba HTTPS de OAuth

 

Paso 3. Configure la solicitud de API para que llegue al servidor de API de la aplicación.

Dispositivo de configuración de OAuth

 

Paso 4. El servidor API redirige a la página de inicio de sesión diciendo, para acceder a los datos: inicie sesión con Microsoft (proveedor de OAuth) para acceder a la página. Puede ver OAuth 2 en la dirección URL.

URL de inicio de sesión de OAuth

Paso 5. El usuario introduce la dirección de correo electrónico y la contraseña y haga clic en login, escribe su nombre de usuario y contraseña y, a continuación, permite el acceso a la aplicación. El servidor de autenticación redirige al usuario a su sitio web con un código como parámetro en la dirección URL.

Detalles de la URL de inicio de sesión de OAuth

 

Paso 6. El servidor de API solicita al servidor de autenticación información de usuario para el token de acceso especificado. El servidor de autenticación devuelve detalles sobre userid, correo electrónico, etc.

Información del usuario de inicio de sesión de OAuth

 

Paso 7. El servidor de API identifica al usuario y envía la respuesta junto con el token de acceso. El cliente envía el token de acceso al servidor de API en la siguiente solicitud. El servidor de API comprueba si el token de acceso es válido para dar acceso a la aplicación.

Token de acceso de inicio de sesión de OAuth

 

Envolver: Cargar pruebas de OAuth Web API

Correlacionar y configurar solicitudes de OAuth 2.0 no es una tarea fácil. Necesita experiencia y una comprensión clara de cómo funciona OAuth para su aplicación. Dado que OAuth habilita una funcionalidad muy importante de cualquier aplicación, es muy importante llevar a cabo pruebas de rendimiento de las API de OAuth para su aplicación. Si está utilizando cualquier otra herramienta de código abierto, como JMeter, puede convertir las pruebas de JMeter a LoadView. JMeter no es una solución de prueba de rendimiento como LoadView, es sólo un lanzador de carga. Necesitamos una buena solución de pruebas de rendimiento como LoadView para ejecutar pruebas de rendimiento de extremo a extremo.

Obtenga más información sobre LoadView y regístrese para la prueba gratuita. Recibirás hasta 5 pruebas de carga gratuitas para empezar.