Tutorial de pruebas de API: ¿Qué es la automatización de pruebas de API? Cómo probar

Antes de ir al tutorial de pruebas de API, primero comprendamos

¿Qué es API?

API (Interfaz de programación de aplicaciones) es una interfaz informática que permite la comunicación y el intercambio de datos entre dos sistemas de software separados. El sistema de software que ejecuta una API incluye varias funciones / subrutinas que puede realizar otro sistema de software. La API define las solicitudes que se pueden realizar, cómo realizar solicitudes, formatos de datos que se pueden utilizar, etc. entre dos sistemas de software.

¿Qué son las pruebas de API?

PRUEBA DE API es un tipo de prueba de software que valida las interfaces de programación de aplicaciones (API). El propósito de las pruebas de API es verificar la funcionalidad, confiabilidad, rendimiento y seguridad de las interfaces de programación. En API Testing, en lugar de utilizar entradas y salidas de usuario estándar (teclado), utiliza software para enviar llamadas a la API, obtener resultados y anotar la respuesta del sistema. Las pruebas de API son muy diferentes de las pruebas de GUI y no se concentran en la apariencia de una aplicación. Se concentra principalmente en la capa de lógica empresarial de la arquitectura de software.

Las pruebas de automatización de API requieren una aplicación con la que se pueda interactuar a través de una API. Para probar una API, necesitará

  • Utilice la herramienta de prueba para impulsar la API
  • Escribe tu propio código para probar la API

En este tutorial de pruebas de API, aprenderá más sobre-

  • Configuración del entorno de prueba de API
  • Tipos de salida de una API
  • Casos de prueba para pruebas de API
  • Enfoque de las pruebas de API
  • Diferencia entre las pruebas API y las pruebas unitarias
  • Cómo probar la API
  • Prácticas recomendadas de las pruebas de API
  • Tipos de errores que detecta API Testing
  • Cómo hacer la automatización de pruebas de API
  • Desafíos de las pruebas de API

Configuración del entorno de prueba de API

  • Las pruebas de API son diferentes a otros tipos de pruebas de software, ya que la GUI no está disponible y, sin embargo, debe configurar el entorno inicial que invoca a la API con un conjunto de parámetros requerido y, finalmente, examina el resultado de la prueba.
  • Por lo tanto, configurar un entorno de prueba para las pruebas de automatización de API parece un poco complejo.
  • La base de datos y el servidor deben configurarse según los requisitos de la aplicación.
  • Una vez que se realiza la instalación, se debe llamar a la función API para verificar si esa API está funcionando.

Tipos de salida de una API

Una salida de API podría ser

  1. Cualquier tipo de dato
  2. Estado (por ejemplo, pasa o no pasa)
  3. Llame a otra función de API.

Veamos un ejemplo de cada uno de los tipos anteriores en este tutorial de pruebas de API.

Cualquier tipo de datos

Ejemplo: hay una función API que debe sumar dos números enteros.

Agregar largo (int a, int b)

Los números deben darse como parámetros de entrada. La salida debe ser una suma de dos números enteros. Este resultado debe verificarse con un resultado esperado.

Las llamadas deben realizarse como

añadir (1234, 5656)

Las excepciones deben manejarse si el número excede el límite de enteros.

Estado (por ejemplo, pasa o no pasa)

Considere la siguiente función de API:

  1. Cerrar con llave()
  2. Desbloquear()
  3. Borrar()

Devuelven cualquier valor como Verdadero (en caso de éxito) o falso (en caso de error) como salida.

Un caso de prueba más preciso sería poder llamar a las funciones en cualquiera de los scripts y luego verificar los cambios en la base de datos o en la GUI de la aplicación.

Llamada a otra API / Evento

En este caso, llamamos a una de las funciones de la API que a su vez llamará a otra función.

Por ejemplo, la primera función API se puede usar para eliminar un registro específico en la tabla y esta función, a su vez, llama a otra función para ACTUALIZAR la base de datos.

Casos de prueba para pruebas de API:

Los casos de prueba de pruebas de API se basan en

  • Valor de retorno basado en la condición de entrada: es relativamente fácil de probar, ya que la entrada se puede definir y los resultados se pueden autenticar
  • No devuelve nada: cuando no hay un valor de retorno, se comprobará un comportamiento de la API en el sistema
  • Activar alguna otra API / evento / interrupción: si una salida de una API activa algún evento o interrupción, entonces esos eventos y oyentes de interrupciones deben ser rastreados
  • Actualizar la estructura de datos: la actualización de la estructura de datos tendrá algún resultado o efecto en el sistema, y ​​eso debe autenticarse
  • Modificar ciertos recursos: si la llamada a la API modifica algunos recursos, entonces se debe validar accediendo a los recursos respectivos.

Enfoque de prueba de API

El enfoque de prueba de API es una estrategia predefinida o un método que el equipo de control de calidad realizará para realizar las pruebas de API una vez que la compilación esté lista. Esta prueba no incluye el código fuente. El enfoque de prueba de API ayuda a comprender mejor las funcionalidades, las técnicas de prueba, los parámetros de entrada y la ejecución de casos de prueba.

Los siguientes puntos ayudan al usuario a realizar el enfoque de prueba de API:

  1. Comprender la funcionalidad del programa API y definir claramente el alcance del programa.
  2. Aplicar técnicas de prueba como clases de equivalencia, análisis de valor límite y adivinación de errores y escribir casos de prueba para la API.
  3. Los parámetros de entrada para la API deben planificarse y definirse adecuadamente
  4. Ejecute los casos de prueba y compare los resultados esperados y reales.

Diferencia entre las pruebas API y las pruebas unitarias

Examen de la unidad Prueba de API
  • Los desarrolladores lo realizan
  • Los probadores lo realizan
  • Se prueba una funcionalidad separada
  • Se prueba la funcionalidad de un extremo a otro
  • Un desarrollador puede acceder al código fuente
  • Los probadores no pueden acceder al código fuente
  • Las pruebas de IU también están involucradas
  • Solo se prueban las funciones de API
  • Solo se prueban las funcionalidades básicas
  • Se prueban todos los problemas funcionales
  • Alcance limitado
  • Mayor alcance
  • Normalmente se ejecuta antes del check-in
  • Corrió después de que se crea la compilación

Cómo probar la API

Las pruebas de automatización de API deben cubrir al menos los siguientes métodos de prueba además del proceso SDLC habitual

  • Prueba de descubrimiento: el grupo de prueba debe ejecutar manualmente el conjunto de llamadas documentadas en la API, como verificar que un recurso específico expuesto por la API se pueda enumerar, crear y eliminar según corresponda
  • Prueba de usabilidad: esta prueba verifica si la API es funcional y fácil de usar. ¿API también se integra bien con otra plataforma?
  • Prueba de seguridad: esta prueba incluye qué tipo de autenticación se requiere y si los datos confidenciales están encriptados a través de HTTP o ambos
  • Pruebas automatizadas: las pruebas de API deben culminar en la creación de un conjunto de scripts o una herramienta que se pueda utilizar para ejecutar la API con regularidad.
  • Documentación: el equipo de prueba debe asegurarse de que la documentación sea adecuada y proporcione información suficiente para interactuar con la API. La documentación debe ser parte del producto final

Prácticas recomendadas para las pruebas de API:

  • Los casos de prueba de API deben agruparse por categoría de prueba
  • Además de cada prueba, debe incluir las declaraciones de las API a las que se llama.
  • La selección de parámetros debe mencionarse explícitamente en el propio caso de prueba
  • Priorice las llamadas a las funciones de la API para que sea más fácil para los probadores probar
  • Cada caso de prueba debe ser tan autónomo e independiente de las dependencias como sea posible
  • Evite el "encadenamiento de pruebas" en su desarrollo
  • Se debe tener especial cuidado al manejar funciones de llamada única como: Eliminar, Cerrar ventana, etc.
  • La secuenciación de llamadas debe realizarse y planificarse bien
  • Para garantizar una cobertura de prueba completa, cree casos de prueba de API para todas las posibles combinaciones de entrada de la API.

Tipos de errores que detectan las pruebas de API

  • No puede manejar correctamente las condiciones de error
  • Banderas no utilizadas
  • Funcionalidad faltante o duplicada
  • Problemas de confiabilidad. Dificultad para conectarse y obtener una respuesta de la API.
  • Temas de seguridad
  • Problemas de subprocesos múltiples
  • Problemas de desempeño. El tiempo de respuesta de la API es muy alto.
  • Errores / advertencias inapropiados a la persona que llama
  • Manejo incorrecto de valores de argumentos válidos
  • Los datos de respuesta no están estructurados correctamente (JSON o XML)

Cómo hacer la automatización de pruebas de API

Los siguientes tutoriales proporcionan una guía detallada para automatizar la prueba de API.

Cómo probar API con REST Assured

Cómo probar API con Postman

Cómo probar API con UFT

Además, existen otras herramientas para las pruebas de API. Compruébalos aquí

Desafíos de las pruebas de API

Los desafíos de las pruebas de API incluyen:

  • Los principales desafíos en las pruebas de API web son la combinación de parámetros, la selección de parámetros y la secuenciación de llamadas
  • No hay una GUI disponible para probar la aplicación, lo que dificulta dar valores de entrada.
  • Validar y verificar la salida en un sistema diferente es un poco difícil para los probadores
  • Los probadores deben conocer la selección y categorización de los parámetros.
  • La función de manejo de excepciones debe probarse
  • El conocimiento de codificación es necesario para los probadores

Conclusión:

La API consta de un conjunto de clases / funciones / procedimientos que representan la capa lógica empresarial. Si la API no se prueba correctamente, puede causar problemas no solo en la aplicación API, sino también en la aplicación que realiza la llamada. Es una prueba indispensable en ingeniería de software.

Articulos interesantes...