stringtranslate.com

Pruebas de API

Las pruebas de API son un tipo de prueba de software que implica probar las interfaces de programación de aplicaciones (API) directamente y como parte de las pruebas de integración para determinar si cumplen con las expectativas de funcionalidad, confiabilidad, rendimiento y seguridad . [1] Dado que las API carecen de una GUI , las pruebas de API se realizan en la capa de mensajes . [2] Las pruebas de API ahora se consideran críticas para automatizar las pruebas porque las API sirven como la interfaz principal para la lógica de la aplicación y porque las pruebas de GUI son difíciles de mantener con los ciclos de lanzamiento cortos y los cambios frecuentes que se usan comúnmente con el desarrollo de software ágil y DevOps . [3] [4]

Descripción general de las pruebas de API

Las pruebas de API implican probar las API directamente (de forma aislada) y como parte de las transacciones de extremo a extremo que se realizan durante las pruebas de integración. [1] Más allá de las API RESTful , estas transacciones incluyen múltiples tipos de puntos finales, como servicios web , ESB , bases de datos , mainframes , IU web y ERP . Las pruebas de API se realizan en las API que produce el equipo de desarrollo, así como en las API que el equipo consume dentro de su aplicación (incluidas las API de terceros). [5]

Las pruebas de API se utilizan para determinar si las API devuelven la respuesta correcta (en el formato esperado) para una amplia gama de solicitudes factibles, reaccionan adecuadamente a casos extremos como fallas y entradas inesperadas/extremas, entregan respuestas en una cantidad de tiempo aceptable y responden de forma segura a posibles ataques de seguridad . [1] [4] La virtualización de servicios se utiliza junto con las pruebas de API para aislar los servicios bajo prueba, así como para expandir el acceso al entorno de prueba simulando API/servicios que no son accesibles para pruebas. [6]

Las pruebas de API incluyen comúnmente pruebas de API REST o servicios web SOAP con cargas de mensajes JSON o XML que se envían a través de HTTP , HTTPS , JMS y MQ . [2] [7] También puede incluir formatos de mensajes como SWIFT , FIX , EDI y formatos de longitud fija similares, CSV , ISO 8583 y Protocol Buffers que se envían a través de transportes/protocolos como TCP/IP , ISO 8583 , MQTT , FIX , RMI , SMTP , TIBCO Rendezvous y FIX . [8] [9]

Pruebas de API, pruebas de GUI y automatización de pruebas

Se reconoce que las pruebas de API son más adecuadas para la [automatización de pruebas] y las [pruebas continuas] (especialmente la automatización utilizada con [desarrollo de software ágil] y [DevOps]) que las pruebas de GUI. [3] [4] Las razones citadas incluyen:

Por estos motivos, se recomienda que los equipos aumenten su nivel de pruebas de API y reduzcan su dependencia de las pruebas de GUI. Las pruebas de API se recomiendan para la gran mayoría de los esfuerzos de automatización de pruebas y la mayor cantidad posible de pruebas de borde. Las pruebas de GUI se reservan para validar casos de uso típicos a nivel de sistema, pruebas móviles y pruebas de usabilidad. [3] [4] [10]

Tipos de pruebas de API

Existen varios tipos de pruebas que se pueden realizar en las API. Algunas de ellas incluyen pruebas de humo, pruebas funcionales, pruebas de seguridad, pruebas de penetración y pruebas de validación.

Software

Véase también

Referencias

  1. ^ abc Las pruebas de API protegen las aplicaciones y la reputación, por Amy Reichert, SearchSoftwareQuality, marzo de 2015
  2. ^ ab Todo sobre las pruebas de API: una entrevista con Jonathan Cooper, por Cameron Philipp-Edmonds, Stickyminds 19 de agosto de 2014
  3. ^ abc La evaluación Forrester Wave de la automatización de pruebas funcionales (FTA) ya está disponible y se trata de ir más allá de las pruebas de GUI Archivado el 28 de mayo de 2015 en Wayback Machine , por Diego Lo Giudice, Forrester 23 de abril de 2015
  4. ^ abcd Produzca un mejor software mediante una estrategia de pruebas en capas [ enlace roto ] , por SEAN Kenefick, Gartner 7 de enero de 2014
  5. ^ La responsabilidad de las API de terceros recae en los desarrolladores empresariales Archivado el 31 de julio de 2019 en Wayback Machine , por Amy Reichert, SearchSoftwareQuality julio de 2014
  6. ^ Acelere el desarrollo con pruebas automatizadas [ enlace roto ] , por Nathan Wilson, Gartner 30 de diciembre de 2013
  7. ^ Un marco de orientación para diseñar una excelente API web [ enlace roto ] , por Eric Knipp y Gary Olliffe, Gartner 20 de agosto de 2014
  8. ^ La lucha contra los scripts frágiles y los defectos de software, por Adrian Bridgwater, Dr. Dobb's Journal , 26 de octubre de 2011
  9. ^ ¿ Cómo aprendemos a hablar sobre las pruebas de aplicaciones compuestas?, por Adrian Bridgwater, Dr. Dobb's Journal , 14 de febrero de 2012
  10. ^ Cohn, Mike (2009). Cómo tener éxito con Agile: desarrollo de software con Scrum . Addison-Wesley Professional. pág. 312. ISBN 978-0321579362.
  11. ^ J. Gao, C. Tao, D. Jie ĺ, S. Lu (2019). ¿Qué son las pruebas de software con inteligencia artificial? y por qué. IEEE.{{cite book}}: CS1 maint: multiple names: authors list (link)