Quality Assurance
Tools for Quality Assurance and Test Automation
Présentation d’Aqua : un IDE puissant pour l’automatisation des tests par JetBrains
L’assurance qualité et l’ingénierie des tests sont des éléments essentiels pour le développement logiciel. Chez JetBrains, nous pensons qu’il est important de disposer de l’outil approprié pour chaque tâche, c’est pourquoi nous avons décidé de créer un outil pour le développement de tests automatisés, adapté aux besoins des équipes de développement logiciel dont les membres peuvent avoir plusieurs fonctions.
Nous avons donc le plaisir de vous présenter JetBrains Aqua, un nouvel IDE puissant pour l’automatisation des tests. Aqua fournit un ensemble de fonctionnalités uniques, distinctes de celles des autres produits JetBrains, et regroupe tout ce dont un ingénieur en automatisation des tests a besoin au quotidien, notamment un IDE multilingue (avec entre autres la prise en charge de la JVM, de Python et de JavaScript), un client HTTP, une fonctionnalité de gestion des bases de données, la prise en charge de Docker, un client TMS et un nouvel inspecteur web puissant pour l’automatisation d’interface utilisateur.
JetBrains Aqua est actuellement disponible en préversion publique afin que vous puissiez l’essayer et avoir une influence sur son évolution. Vous trouverez toutes les informations sur les modalités d’utilisation de la préversion à la fin de cet article.
JetBrains Aqua est un IDE intelligent qui prend en compte le contexte, comprend Java, Kotlin, Python, JavaScript, TypeScript et SQL et fournit une assistance intelligente au codage pour chacun d’eux.
Comme les autres IDE JetBrains, Aqua vérifie la qualité et la validité de votre code grâce à des inspections à la volée. Si des problèmes sont détectés, l’IDE suggère des actions contextuelles pour vous aider à les résoudre. Pour appeler une action contextuelle, cliquez sur l’icône ampoule ou appuyez sur Alt+Entrée. La saisie semi-automatique du code en fonction du langage, la détection des erreurs et les corrections de code à la volée sont là pour vous aider !
La recherche intelligente vous permet d’accéder à n’importe quel·le classe, fichier, symbole, action de l’IDE ou fenêtre d’outils. Pour l’utiliser, appuyez deux fois sur Maj et commencez à saisir le nom de ce que vous recherchez.
Vous bénéficiez aussi de la compréhension approfondie du code qu’offre l’IDE avec Renameet Delete, Extract Method, Introduce Variable, Inline Variable ou Method, et d’autres refactorisations. Les refactorisations spécifiques aux langages et frameworks vous aident à effectuer des modifications à l’échelle du projet.
Frameworks de tests unitaires
Créez et exécutez vos tests avec une assistance au codage et un exécuteur de tests basé sur une interface graphique. Avec JetBrains Aqua, vous pouvez écrire, exécuter et déboguer vos tests unitaires en utilisant JUnit, TestNG, Pytest, Jest, Mocha et d’autres frameworks populaires. L’examen des résultats des tests dans l’IDE vous permet de naviguer facilement dans une arborescence et vers la source du test.
Automatisation d’interface utilisateur
Nouvel assistant de projet
Aqua peut générer un nouveau projet de test d’interface utilisateur pour la pile de la JVM vous permettant de spécifier le JDK, l’outil de build (Maven ou Gradle), l’exécuteur de test (JUnit ou TestNG) et le langage à partir de l’assistant de projet.
Analyse du code
Aqua fournit une prise en charge étendue de l’API Selenium et de Selenide, offrant des capacités d’analyse du code pour les fragments CSS, XPath et JavaScript utilisés dans l’API Selenium et de nombreuses autres bibliothèques pour les tests d’interface utilisateur.
Modèles d’objet de page
Lorsque vous utilisez le modèle d’objet de page, l’IDE vous aide à créer et à maintenir de nouveaux fichiers d’objet de page à partir du menu New File et respecte le modèle d’objet de page sélectionné lors de l’ajout de localisateurs.
Inspecteur Web
L’inspecteur web intégré vous permet de visualiser les applications web dans Aqua et de capturer les éléments de page requis pour les tests automatisés. Aqua génère un localisateur CSS ou XPath unique pour l’élément sélectionné sur la page web et permet de l’ajouter au code source. S’il y a plus d’un localisateur qui identifie de façon unique le même élément, Web Inspector suggérera toutes les possibilités.
Tout en assurant la maintenance des tests, Aqua vous aide à vérifier les localisateurs existants. Il vous suffit de valider votre sélecteur CSS ou XPath avec l’inspecteur web et de vérifier si le localisateur a identifié l’élément souhaité.
Lorsque Wl’inspecteur web est actif, la saisie semi-automatique du code CSS et XPath suggère et met en évidence les localisateurs des éléments les plus importants de la page web.
L’inspecteur web peut également être déverrouillé dans une fenêtre séparée pour une meilleure expérience sur les grands écrans.
Tests d’API et configuration d’environnement
Client HTTP
Lorsque vous développez un service web qui envoie et reçoit des requêtes HTTP, vous pouvez facilement créer et éditer des requêtes dans le client HTTP intégré d’Aqua et bénéficier d’une assistance au codage code étendue, qui inclut notamment la saisie semi-automatique, la mise en évidence et les refactorisations.
Docker
Aqua vous permet d’accéder à vos conteneurs Docker pour les exécuter et les déboguer, de télécharger et de générer des images et d’exécuter des applications multi-conteneurs.
Bases de données
JetBrains Aqua ne requiert aucun outil supplémentaire pour préparer les données de votre application. Vous pouvez gérer de manière fluide plusieurs bases de données, développer des scripts SQL et effectuer des assertions de données de bas niveau directement dans l’IDE. Aqua fournit des connexions à des bases de données en temps réel, exécute des requêtes, exporte des données et vous permet de gérer des schémas dans une interface visuelle. Vous pouvez accéder, entre autres, aux bases de données Oracle, SQL Server, PostgreSQL et MySQL, à partir de l’IDE.
TMS
Les tests contiennent généralement des liens vers des outils de suivi d’incidents et de tickets et des TMS (systèmes de gestion des tests). Pour permettre de les inclure, les développeurs utilisent des bibliothèques de rapports comme Allure Framework ou des mécanismes de frameworks de tests intégrés comme Serenity BDD. Nous avons ajouté la prise en charge des annotations de ces bibliothèques, et l’IDE vous permet d’ouvrir des incidents ou des cas TMS dans un navigateur web en cliquant simplement sur les ID des problèmes.
Aqua peut se connecter à des systèmes TMS externes, tels que TestRail, ce qui facilite l’accès aux tests à partir de l’IDE. Il prend en charge la navigation dans les suites de tests et les hiérarchies de cas, ainsi que la navigation dans les éléments du TMS. Il génère également des tests unitaires pour les scénarios de test sélectionnés et vous aide à trouver les cas de test non automatisés ou les méthodes de test obsolètes.
Aqua prend également en charge l’approche expérimentale « Local TMS », une manière agile de stocker et de gérer vos données de tests. Le TMS local stocke les données de tests en tant que collection de fichiers t.md
et r.md
dans le projet. Cette approche permet la création de branches, le contrôle de version, la révision et une meilleure intégration avec les tests automatisés.
La conception d’un IDE destiné à l’automatisation des tests est un projet d’envergure. Pendant toute la phase de préversion, nous serons en développement actif et continuerons à implémenter des fonctionnalités et des améliorations, il est donc possible que tout ne fonctionne pas parfaitement. N’hésitez pas à nous faire part de votre avis sur les fonctionnalités existantes et de vos demandes de nouvelles fonctionnalités pour nous aider à améliorer JetBrains Aqua. Construisons ensemble le meilleur IDE d’automatisation des tests !
Vous pouvez télécharger le dernier build de la préversion via l’application Toolbox App ou sur notre site web.
Veuillez utiliser ce formulaire de retour pour partager vos commentaires ou poser vos questions.
Et pour obtenir les informations sur les dernières améliorations, abonnez-vous à notre blog et suivez-nous sur Twitter !
L’ Équipe Aqua
Auteur de l’article original en anglais :