2

La question concerne davantage la compréhension fondamentale d'un flux CI normal/idéal et la compréhension de la portée des tests d'intégration.Étendue des tests d'intégration dans un flux de travail CI CI

Selon ma compréhension, le flux de CD CI de base est

UnitTesting --> IntegrationTesting --> Build Artifact --> Deploy to Dev/Sandbox or any other subsequent environments. 

donc les tests unitaires et d'intégration tetsing décident/collectivement faire que si la construction est stable et prête à être déployée. Mais, récemment, nous avons eu cette discussion dans mon équipe où nous voulions exécuter des tests d'intégration sur des instances déployées sur Dev/Sandbox, etc., afin de vérifier si l'application fonctionne correctement après le déploiement.

Et le microsoft's article sur les workflows Build - Deploy - Test suggère que cela pourrait être un moyen possible.

Alors, mes questions sont les suivantes: -

  1. sont des tests d'intégration censés tester la configuration de différents environnements?
  2. Les tests d'intégration sont-ils supposés être exécutés avant l'application de l'empaquetage ou le déploiement de l'application?
  3. Si c'est le cas, des tests automatisés sont nécessaires pour tester le fonctionnement de l'application déployée sur tous les environnements? Si non tests d'intégration alors ce pourrait être des solutions alternatives

Répondre

2

Vous mixez Intégration test avec System testing.

Les tests d'intégration vérifient que certains composants peuvent fonctionner ensemble (peuvent être intégrés). Vous pouvez avoir des tests d'intégration pour vérifier comment l'API de couche de données fonctionne avec une base de données; ou comment l'API Web répond aux appels HTTP. Il se peut que le système entier ne fonctionne pas complètement pour effectuer des tests d'intégration de ses composants.

Contrairement aux tests d'intégration, les tests du système requièrent que tous les composants soient implémentés et configurés. C'est un test de bout en bout (par exemple d'une requête web à un enregistrement de base de données). Ce type de test nécessite le déploiement de l'ensemble du système, ce qui les rend plus «réels» mais coûteux.

+0

merci pour la réponse :) – Harshil

+0

à votre avis comment efficace est de faire le test du système. Est-ce nécessaire? Comme ces connexions, la demande Web peut être vérifiée au démarrage de l'application. Y at-il un réel besoin de tests système séparés? – Harshil

+0

Yest, c'est. Par exemple, l'ensemble System_might_ se compose de nombreux composants (développés par différentes équipes). Vous pouvez tester vos composants isolément, mais cela ne garantit pas que votre composant ne sera pas endommagé par l'un des autres composants. –