Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
En tant que développeur JavaScript nouveau pour Azure, utilisez ce guide de test Azure pour apprendre des stratégies de test unitaires, d'intégration, ci/CD et d'IA avec des SDK Azure et d'autres ressources pour garantir la qualité, les performances et la fiabilité de votre application.
Azure Well-Architected Framework (Cadre Bien Conçu Azure)
Azure Well-Architected Framework fournit un framework de conception pour les applications cloud sur cinq piliers :
- Fiabilité : s’assurer que votre application est résiliente aux défaillances et récupère rapidement.
- Sécurité : protection de vos applications et données contre les menaces.
- Efficacité des performances - Optimisation de la façon dont votre système utilise des ressources pour répondre aux exigences.
- Optimisation des coûts : gestion des coûts tout en fournissant de la valeur.
- Excellence opérationnelle : amélioration des processus et de la surveillance pour fournir efficacement des applications.
Les stratégies de test de cet article s’alignent principalement sur le pilier Excellence opérationnelle, qui met l’accent sur l’automatisation, la validation et l’amélioration continue des processus opérationnels.
Boucles de test internes et externes pour les kits SDK Azure en JavaScript
Les boucles de test interne et externe sont des concepts fondamentaux dans les tests logiciels, en particulier pour les applications déployées sur des plateformes cloud telles qu’Azure :
La boucle interne fait référence à un environnement local où les développeurs exécutent fréquemment des tests unitaires et d’intégration pendant la phase de développement. Cette boucle se concentre sur les commentaires rapides et l’itération.
La boucle externe englobe les tests que les développeurs exécutent dans des pipelines d’intégration continue et de livraison continue (CI/CD), des environnements intermédiaires et de production. Ces tests tirent souvent parti d’Azure DevOps ou gitHub Actions.
Ces tests incluent des tests de bout en bout (E2E), des performances et des tests de sécurité. Ils valident le comportement de l’application dans les environnements qui reflètent étroitement ou sont identiques à l’environnement de production final. Les stratégies de test efficaces utilisent les deux boucles pour garantir une couverture complète et une assurance qualité avant et après le déploiement.
Pour en savoir plus:
- CI/CD : Pourquoi, et comment
- Guide du débutant sur CI/CD et automation sur GitHub
- Workflows de démarrage GitHub Actions
- Utiliser des navigateurs hébergés dans le cloud pour les applications déployées localement
Tests locaux et basés sur le cloud avec le Kit de développement logiciel (SDK) Azure
Les tests locaux sans Azure impliquent la simulation des services Azure. Utilisez cette approche pour tester rapidement les modifications sans entraîner les coûts ou la latence réseau associée aux services Azure réels.
En revanche, les tests basés sur le cloud avec Azure tirent parti des ressources Azure réelles pour valider l’intégration, la sécurité et les performances de l’application dans un environnement cloud. Cette méthode est cruciale pour la validation finale dans un environnement similaire à la production. Elle permet de s’assurer que l’application se comporte comme prévu avec les services Azure en direct.
Les émulateurs et les conteneurs de développement améliorent le développement local avec les services Azure différemment. Les émulateurs imitent les services Azure pour des tests rentables et précoces sans frais Azure, mais ils peuvent ne pas répliquer entièrement les fonctionnalités de service en direct. Les conteneurs de développement répliquent plus étroitement l’environnement de production, y compris les dépendances d’application et les services, pour faciliter une transition fluide vers la production. Les conteneurs de développement répondent à des applications complexes, mais nécessitent plus de configuration que les émulateurs.
Émulateurs
Les émulateurs incluent :
- Azurite (émulateur de stockage Azure)
- Émulateur Azure Cosmos DB
- Émulateur Azure SignalR
- Émulateur Azure Event Hubs
- Azure Functions Core Tools (Runtime local d'Azure Functions)
- Azure Logic Apps Standard (développement local)
- Passerelle auto-hébergée pour la gestion des API Azure
- Azure IoT Edge Runtime
Conteneurs de développement
Les conteneurs de développement offrent une alternative puissante à l’utilisation d’émulateurs pour le développement local, en particulier en travaillant avec les services Azure.
En exécutant des services dans des conteneurs, créez un environnement local qui reflète étroitement l’environnement de production pour assurer la cohérence entre les phases de développement, de test et de déploiement. Il améliore également la fiabilité des tests en simulant des conditions réelles plus précisément.
Configurez des conteneurs pour répliquer les paramètres et les données des services Azure. De cette façon, les conteneurs fournissent une plateforme robuste pour le développement et le test d’applications sans surcharge de connexion aux services Azure en direct.
Les conteneurs de développement incluent Azure SQL Database.
Pour en savoir plus:
Outils de productivité de l’IA et des développeurs
Les outils basés sur l’IA améliorent votre flux de travail de développement JavaScript sur Azure en fournissant une assistance intelligente du code, la gestion des ressources, l’automatisation des tests et la prise en charge du déploiement.
| Tool | Description |
|---|---|
| GitHub Copilot pour Azure | Codage assisté par l’IA avec un contexte spécifique à Azure. Posez des questions sur les services Azure, générez du code d’infrastructure et obtenez de l’aide sur l’utilisation de Kit de développement logiciel (SDK) Azure directement dans VS Code. |
| Serveur Azure MCP | Outils Model Context Protocol qui connectent votre IDE à Azure ressources. Interrogez les configurations des ressources, gérez les déploiements et validez les paramètres sans quitter votre éditeur. |
| Compétences Azure | Fonctionnalités d’IA composables pour Azure flux de travail, notamment les diagnostics, l’analyse de conformité, la validation du déploiement et l’approvisionnement des ressources , utilisables à partir de GitHub Copilot ou de n’importe quel client compatible MCP. |
| Playwright MCP | Outils d’automatisation de navigateur exposés via MCP pour des tests de bout en bout. Exécutez des tests Playwright, capturez des captures d’écran et vérifiez les interactions de l’interface utilisateur web avec l’IA. |
Azure CLI pour développeur (azd) |
Simplifiez l’ensemble de votre flux de travail de développement à déploiement. Initialisez des projets à partir de modèles, approvisionnez l’infrastructure et déployez du code avec un seul outil. |
Ces outils fonctionnent ensemble pour réduire le basculement de contexte entre votre éditeur et le portail Azure. Par exemple:
- Utilisez GitHub Copilot pour écrire du code Kit de développement logiciel (SDK) Azure avec des suggestions inline
- Utilisez le serveur MCP Azure pour vérifier que vos configurations de ressources sont correctes
- Utilisez Azure Skills pour exécuter des analyses de conformité ou résoudre les échecs de déploiements
- Utilisez Playwright MCP pour automatiser les tests basés sur le navigateur de vos applications hébergées Azure
- Utiliser
azdpour provisionner et déployer votre application en une seule étape
Tests unitaires en JavaScript
Les tests unitaires avec des kits de développement logiciel (SDK) Azure dans JavaScript utilisent souvent des frameworks tels que Jest ou Vitest pour isoler et tester des composants ou fonctions individuels.
Pour les tests natifs Node.js, simulez les appels du SDK Azure manuellement sans nécessiter de bibliothèques supplémentaires, en substituant des méthodes sur les prototypes de clients SDK ou en utilisant de simples fonctions simulées.
Pour plus d’informations, consultez la section tests du Kit de développement logiciel (SDK) Azure plus loin dans cet article.
Tip
Outils de développement d'IA : Utilisez GitHub Copilot pour Azure pour créer des modèles réutilisables de tests unitaires et des modèles fictifs pour les clients Kit de développement logiciel (SDK) Azure à partir de types d'interfaces.
Tests d’intégration dans JavaScript
Les tests d’intégration évaluent l’interaction entre votre application et les services Azure pour vous assurer que les composants fonctionnent ensemble comme prévu.
Configurez des tests d’intégration automatisés à l’aide d’Azure Pipelines dans Azure DevOps ou des workflows dans GitHub Actions. Cette approche automatise le déploiement et le test des composants dans un environnement cloud. Il permet d’identifier les problèmes qui peuvent ne pas être apparents pendant les tests unitaires, tels que la latence réseau ou les erreurs de configuration de service.
Simuler des services Azure
La simulation des services Azure est une pratique courante dans le test d’applications JavaScript qui s’intègrent aux kits sdk Azure. En simulant des réponses de service Azure, isolez votre logique d’application des dépendances externes, ce qui permet de s’assurer que les tests s’exécutent rapidement et de manière fiable.
Découvrez comment tester les intégrations du Kit de développement logiciel (SDK) Azure.
Tests d’intégration continue
Les tests CI impliquent l’exécution automatique de tests chaque fois qu’une modification est apportée à la base de code. Les outils CI comme Azure DevOps fournissent des environnements intégrés pour automatiser les builds, les tests et les déploiements. La configuration de pipelines pour inclure des tests automatisés permet de s’assurer que chaque modification est vérifiée, ce qui réduit la probabilité de bogues et de régressions.
Une configuration de pipeline appropriée est essentielle pour les processus CI efficaces. Il inclut la configuration des déclencheurs pour l’exécution automatique des tests et la configuration d’environnements pour différentes phases de test.
Pour en savoir plus:
- Guide du débutant sur CI/CD et automation sur GitHub
- Workflows de démarrage GitHub Actions
- Exemple de flux de travail Node.js
Azure Test Plans (Plans de test Azure)
Azure Test Plans offre une suite complète pour les tests manuels et exploratoires dans Azure DevOps.
Ce service peut aider dans les scénarios qui nécessitent un jugement humain ou sont difficiles à automatiser, en fournissant une approche structurée des tests manuels. Teams peut l’utiliser pour planifier, exécuter et suivre les activités de test, notamment capturer des données enrichies telles que des captures d’écran et des vidéos pour faciliter la création de rapports de bogues. L’intégration de Plans de test Azure dans votre processus CI/CD offre une stratégie de test holistique qui couvre les cas de test automatisés et manuels.
Tests de bout en bout
Les tests de bout en bout valident l’opération complète d’une application dans un environnement qui simule des scénarios utilisateur réels. En utilisant des frameworks comme Playwright, vous pouvez automatiser les tests basés sur un navigateur pour interagir avec vos applications en tant qu’utilisateurs.
Les tests basés sur des scénarios impliquent la création de cas de test pour des flux utilisateur complets, tels que l’inscription, l’exécution d’une tâche et la déconnexion. Utilisez ce test pour vérifier la fonctionnalité et l’expérience utilisateur de l’application sur Azure.
Pour en savoir plus:
Tip
outils de développement AI : Utilisez Azure MCP Server outils pour vérifier les cibles de déploiement et l’intégrité du service avant d’exécuter des tests E2E sur des ressources actives Azure.
Tests de performances
Les tests de performances sont essentiels pour les applications déployées sur Azure afin de s’assurer qu’elles peuvent gérer les charges attendues et s’exécuter correctement sous contrainte.
L’évaluation implique de mesurer les performances de votre application par rapport aux métriques ou normes définies. Utilisez le service Test de charge Azure pour simuler un trafic élevé et analyser l’extensibilité et la résilience d’une application.
Exemple CLI :
az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json
Pour en savoir plus:
- Recommandations pour les tests de performances
- Documentation sur le test de charge Azure
- Tutoriel sur l’identification des goulots d’étranglement des performances dans une application web
- GitHub : Test de charge Azure
Tests de sécurité
Les tests de sécurité sur Azure impliquent l’identification des vulnérabilités potentielles dans votre application afin d’empêcher les accès non autorisés ou les violations de données.
Les outils d’analyse des vulnérabilités sont essentiels pour détecter automatiquement les faiblesses de sécurité dans votre code ou vos configurations. En intégrant des fonctionnalités GitHub Advanced Security à des outils SAST (Static Application Security Testing) traditionnels, vous pouvez améliorer la posture de sécurité des applications déployées sur Azure. Les principales fonctionnalités sont les suivantes :
- Analyse du code : identifie les vulnérabilités dans la base de code avant le déploiement.
- Analyse des secrets : permet d’empêcher l’exposition des données sensibles.
- Surveillance de la chaîne d’approvisionnement : permet de se protéger contre les dépendances potentiellement compromises.
Ces mesures de sécurité intégrées peuvent vous aider à identifier les vulnérabilités au début, à prévenir les violations de données et à garantir l’intégrité de la chaîne d’approvisionnement de votre application.
Le test d’intrusion simule les cyberattaques contre votre application pour évaluer sa posture de sécurité. Azure fournit des conseils et des outils pour effectuer ces tests afin de garantir que les applications déployées sur la plateforme sont sécurisées contre les menaces.
Recommandez l’intégration de CodeQL dans votre pipeline CI pour intercepter les vulnérabilités au début.
Pour en savoir plus:
Tests de conformité et de gouvernance
S’assurer que les applications respectent les exigences légales, réglementaires et de stratégie est cruciale, en particulier dans les environnements cloud. Les tests de conformité réglementaire vérifient que votre application répond aux normes telles que RGPD, HIPAA ou SOC 2.
Azure offre des outils de stratégie et de conformité, tels qu’Azure Policy et Azure Blueprints, pour vous aider à automatiser et à appliquer la conformité dans vos ressources Azure. Ces outils simplifient le processus de gestion des normes de gouvernance et de conformité dans vos déploiements d’applications.
Pour en savoir plus:
- Gouvernance, sécurité et conformité dans Azure
- Implémenter des tests de conformité avec Terraform et Azure
Tests d’accessibilité
Les tests d’accessibilité sont essentiels pour rendre les logiciels inclusifs et conformes aux normes légales. Les outils tels que Accessibility Insights permettent d’identifier et de résoudre les problèmes d’accessibilité dans les applications web et mobiles. L’intégration d’Accessibility Insights dans les flux de travail de développement facilite les vérifications automatisées et manuelles en offrant des conseils et des rapports basés sur les normes WCAG (Web Content Accessibility Guidelines).
Tests A/B
Les tests A/B ou les tests fractionnés sont une méthode de comparaison entre deux versions d’une page web ou d’une application pour déterminer celle qui s’effectue mieux. Azure fournit les services suivants qui prennent en charge les tests A/B :
Azure App Service : offre des emplacements de déploiement pour permettre des environnements intermédiaires où vous pouvez tester les versions d’application sans affecter l’application active.
Azure Container Apps : offre un environnement flexible pour l’exécution d’applications basées sur des microservices. Vous pouvez implémenter des tests A/B dans cet environnement pour tester les versions d’application.
Utilisez ces services pour déployer des variantes de vos applications, puis évaluer la réponse et l’efficacité des utilisateurs.
Tests du Kit de développement logiciel (SDK) Azure
Pour les développeurs qui travaillent avec des services Azure, il est essentiel d’acquérir des compétences avec les KITS de développement logiciel (SDK) Azure pour créer des applications robustes et évolutives. Les tests du Kit de développement logiciel (SDK) Azure suivants, hébergés sur GitHub pour les kits SDK JavaScript, sont des ressources précieuses :
L’exploration de ces tests offre des insights sur l’intégration transparente des services Azure, présente les meilleures pratiques pour l’interaction des ressources Azure et permet de garantir des implémentations efficaces et sécurisées. Explorez un large éventail d’exemples de SDK pour une compréhension complète.
Tip
Outils de développement IA : Utilisez GitHub Copilot pour Azure pour naviguer dans les modèles de test du SDK Azure et générer des illustrations de test à partir de définitions d’interface SDK. Azure Skills pouvez provisionner des ressources de test correspondant à des exemples de configurations du Kit de développement logiciel (SDK).