Suponga que está utilizando las API de un proveedor, ¿cómo asegurarse de que su API funcione como se espera?
Mi principal preocupación es que a veces el proveedor empujó los cambios a su código y rompió la API, queremos tener algún tipo de software automático para probarlos continuamente. Como lidiar con esto?
testing
api
rest
continuous-integration
integration-tests
usuario34401
fuente
fuente
Respuestas:
Respuesta corta: necesita un conjunto de pruebas para una API de proveedor de terceros, por lo que tendrá que desarrollar uno.
No esperes que nadie más lo haga por ti, y no esperes una "bala mágica" para generar automáticamente las pruebas correctas.
Algunas cosas que puedes probar adicionalmente:
Si estas cosas funcionan o no depende de quién es su proveedor y qué tipo de API tiene en mente. Una API que produce algunos resultados inspeccionables como archivos es mucho más fácil de probar que una API que controla algún dispositivo físico donde debe observar el comportamiento de la cosa para decidir si la llamada API fue exitosa o no.
fuente
Basado en la redacción del póster, es más que solo probar, en mi opinión. Después de escribir su prueba de unidad para la API y asegurarse de que todo funciona como se esperaba, debe supervisar las API de terceros para detectar problemas antes de que lo hagan los usuarios. Ese es el riesgo real con las API de terceros: no es su código y no tiene control sobre la cantidad de pruebas que se realizaron en la API o cuándo / si cambia.
(Descargo de responsabilidad: nombres de productos utilizados aquí) Si usa soapUI para escribir sus pruebas de API, esas pruebas pueden reutilizarse en AlertSite como un monitor operativo para asegurarse de que la API siga funcionando como se esperaba. Si no pasa la prueba, puede recibir una alerta antes de que sus usuarios lo llamen y quejarse de que su aplicación no funciona.
fuente
Implemente pruebas de aprendizaje para su área de interés (características que planea usar). Las pruebas de aprendizaje son pruebas de integración escritas por el desarrollador contra el contrato público de la API. Las pruebas no deben escribirse contra los detalles de implementación internos, incluso si el código fuente de la API está disponible. Este tipo de pruebas de aprendizaje tiene dos propósitos:
fuente
Hay 2 enfoques para este problema ...
su aplicación está en producción con tráfico real de usuarios:
si tiene una aplicación en producción que tiene tráfico en vivo y depende de una API externa, no tiene más remedio que monitorear de cerca y tener buenos umbrales para saber lo más rápido posible cuando la API externa realiza cambios sin notificar.
siempre debes tener en cuenta que:
su aplicación es una instalación y tiene versiones / lanzamientos planificados:
en este caso, tiene un período de gracia para fallar ... el usuario en vivo no se ve afectado inmediatamente por los cambios externos de la API.
En mi opinión, esta es una tarea más fácil. escriba una prueba (prueba completa de extremo a extremo) que realice transacciones reales / http / solicitudes a su aplicación que invoque la API externa y verifique que no haya fallas. sin kits de prueba sin simulacros de transacción real.
Una vez realizada esta tarea, puede elegir ejecutarla cada 24 horas, 1 minuto, etc.
buenas practicas:
herramientas:
fuente