Supposons que vous utilisez des API d'un fournisseur, comment vous assurer que leur API fonctionne comme prévu?
Ma principale préoccupation est parfois que le fournisseur a poussé les modifications de son code et brisé l'API, nous voulons avoir une sorte de logiciel automatique pour les tester continuellement. Comment y faire face?
Réponses:
Réponse courte: vous avez besoin d'une suite de tests pour une API de fournisseur tiers - vous devrez donc en développer une.
Ne vous attendez pas à ce que quelqu'un d'autre le fasse pour vous, et ne vous attendez pas à une "balle magique" pour générer automatiquement les bons tests.
Certaines choses que vous pourriez essayer en plus:
Si ces choses fonctionnent ou non, cela dépend de qui est votre fournisseur et du type d'API que vous avez en tête. Une API qui produit une sortie inspectable comme des fichiers est beaucoup plus facile à tester qu'une API qui contrôle un périphérique physique où vous devez observer le comportement de la chose pour décider si l'appel d'API a réussi ou non.
la source
Sur la base du libellé de l'affiche, c'est plus que des tests, IMO. Après avoir écrit votre test unitaire pour l'API et vous être assuré que tout fonctionne comme prévu, vous devez surveiller les API tierces afin de détecter les problèmes avant que les utilisateurs ne le fassent. C'est le vrai risque avec les API tierces - ce n'est pas votre code et vous n'avez aucun contrôle sur la quantité de tests effectués sur l'API ou quand / si elle change.
(Avertissement: noms de produits utilisés ici) Si vous utilisez soapUI pour écrire vos tests d'API, ces tests peuvent être réutilisés dans AlertSite en tant que moniteur opérationnel pour vous assurer que l'API continue de fonctionner comme prévu. S'il échoue au test, vous pouvez être alerté avant que vos utilisateurs ne vous appellent et se plaignent que votre application ne fonctionne pas.
la source
Mettez en œuvre des tests d'apprentissage pour votre domaine d'intérêt (fonctionnalités que vous prévoyez d'utiliser). Les tests d'apprentissage sont des tests d'intégration qui sont écrits par le développeur contre le contrat public de l'API. Les tests ne doivent pas être écrits par rapport aux détails de l'implémentation interne même si le code source de l'API est disponible. Ce type de tests d'apprentissage sert à deux fins -
la source
Il existe 2 approches pour ce problème ...
votre application est en production avec un trafic utilisateur réel:
si vous avez une application en production qui a du trafic en direct et dépend d'une API externe, vous n'avez pas d'autre choix que de surveiller de près et d'avoir de bons seuils pour savoir aussi vite que possible lorsque l'API externe apporte des modifications sans en informer.
vous devez toujours tenir compte du fait que:
votre application est une installation et a prévu des versions / versions:
dans ce cas, vous disposez d'un délai de grâce pour échouer ... l'utilisateur en direct n'est pas affecté immédiatement des modifications de rupture de l'api externe.
à mon avis, c'est une tâche plus facile. écrire un test (test complet de bout en bout) qui effectue des transactions / http / requêtes réelles pour votre application qui invoque l'api externe et vérifie qu'il n'y a pas d'échecs. pas de kits de test pas de transaction réelle simulée.
une fois cette tâche terminée, vous pouvez choisir de l'exécuter toutes les 24 heures, 1 minute, etc.
bonnes pratiques:
outils:
la source