Jubula - une étape du testeur manuel à l'automatisation
Jubula est un outil d' automatisation de test qui n'est pas connu de nombreux testeurs en Russie. Il est venu dans notre entreprise avec un projet d'Allemagne.
Le programme a été développé par BREDEX GmbH et est gratuit. Le développeur indique que Jubula est capable de tester des applications dans Swing, SWT / RCP / GEF et JavaFX. Un testeur utilisant Jubula n'a besoin de connaître aucun des langages de programmation, car les tests sont effectués par la méthode de la boîte noire et ne nécessitent pas de code source, ce qui permet à chacun d'automatiser ses cas de test par lui-même.
Après l'installation de l'application, tout est prêt à l'emploi: une base de données pour stocker les projets et AUT-Agent est configurée (fournit une connexion Jubula avec l'application sous test).
Pour créer un nouveau projet, sélectionnez Test - Nouveau dans le menu et remplissez les champs. Dans l'exécutable AUT, sélectionnez le chemin d'accès au fichier exécutable pour exécuter l'application testée.
Bien sûr, pour un grand projet dans lequel plusieurs testeurs travaillent, des paramètres spéciaux pour une base de données centralisée seront nécessaires, qui stockeront les cas de test créés pour les tests de régression, avec un accès pour tous les utilisateurs.
Pour tester une application avec Jubula, vous avez en fait besoin de l'application elle-même avec une interface graphique. Le programme contient déjà un ensemble des actions les plus nécessaires:
La création de cas de test de Jubula est basée sur la méthode des mots clés . Autrement dit, en créant un nouveau scénario de test, l'utilisateur trouve les actions nécessaires à l'aide de mots tels que cliquer, vérifier, attendre, etc., les ajoute au test et leur attribue les paramètres nécessaires.
De plus, Jubula offre la possibilité «d'enregistrer» les actions effectuées par le testeur et de les rejouer plus tard. Cette méthode n'est pas populaire, bien qu'elle soit appropriée pour créer rapidement des conditions préalables lorsque, par exemple, vous devez "accéder" à la fenêtre souhaitée, dans laquelle des vérifications seront déjà effectuées.
Pour créer un scénario de test, vous pouvez simplement faire glisser une étape du navigateur de scénarios de test vers l'espace de travail où votre suite de tests est ouverte. Plusieurs étapes peuvent être combinées dans un module(Refactor - Extract Test Case), qui peut être utilisé ultérieurement dans différents cas de test. Changer le module changera les étapes de tous les tests où il est utilisé, vous devez être prudent avec cela. Si le module est ouvert dans l'espace de travail, il est facile de visualiser tous les cas de test où il est utilisé en appuyant sur F7. Il existe de nombreux autres raccourcis clavier dans Jubula, qui sont très bien mis en évidence sur une ligne distincte dans la section Aide. De plus, dans le sommaire de l' aide en utilisant la barre de recherche, vous pouvez trouver des informations d'intérêt sur n'importe quelle fonction du programme (en anglais).
Avant de créer des cas de test, vous devez ajouter tous les composants graphiquesutilisé dans le test. Cela se fait facilement avec le mode de mappage d'objets, qui est activé lorsque l'application est ouverte. Survolez l'objet souhaité et appuyez sur Ctrl + Maj + q. L'objet doit recevoir un nom et être enregistré, puis il peut être sélectionné dans la zone Noms des composants à l'étape souhaitée.
Jubula vous permet de créer vos propres étapes spécifiques selon vos besoins . Il existe des actions executeExternalCommand et invokeExternal (Method) pour cela. Avec leur aide, des scripts ou des fichiers .jar sont lancés. Sans connaissance de JAVA, créer vos propres équipes ne fonctionnera pas. Dans notre projet, l'ingénieur de configuration a écrit plusieurs gros fichiers .jar auxquels Jubula accède via .bat, écrits en executeExternalCommand.
Prenons un exemple de module créé dans notre projet pour comparer la fenêtre active avec une image stockée sur SVN. Tout d'abord, le nom du futur fichier .jpg (StoreValue) est enregistré en tant que variable, dans le standard takeScreenshotofActivWindow ce nom et le chemin où la nouvelle capture d'écran sera située sont écrits, puis à l'étape executeExternalCommand le fichier .bat est lancé, où les images que nous allons comparer et certaines paramètres tels que la taille de l'image et l'écart maximal autorisé en pixels. Grâce au même fichier .bat, le .jar est lancé, qui contient des classes pour comparer des fichiers texte, images, pdf et csv. Cette cuisine intérieure n'est principalement nécessaire que par ceux qui installent Jubula pour un projet pour la première fois ou ajoutent quelque chose qui manquait cruellement. Lors de la création d'un cas de test, le testeur prend un module prêt à l'emploi (de notre part, par exemple,Compare Image), définit les paramètres et ne sait même pas ce qui est écrit en .bat, et plus encore en .jar.
Jubula peut interagir avec des applications tierces pendant les tests. Notre application génère des rapports aux formats PDF et CSV. Grâce à l'application, vous pouvez ouvrir un rapport dans Adobe Reader, Jubula l'enregistrera à l'aide de raccourcis clavier, lui donnera un nom que le testeur a choisi à l'avance, puis le comparera avec le fichier enregistré sur SVN de la manière ci-dessus via executeExternalCommand.
Résultats de testmontré avec un maximum de détails, vous pouvez voir tous les paramètres d'entrée et de sortie. Si le test échoue à une étape, Jubula prend une capture d'écran de ce moment, à laquelle vous pouvez vous référer à tout moment (cette fonctionnalité peut être désactivée pour économiser de l'espace). De plus, pour une étape avec une erreur, dans la plupart des cas, une vue du journal est disponible, qui décrit brièvement l'essence de l'erreur. Les résultats peuvent être automatiquement enregistrés dans le dossier sélectionné au format XML / HTML.
Afin de déterminer les actions suite à l'occurrence d'une erreur , le Event_Handler est utilisé - le soi-disant gestionnaire d'événements. Il peut être configuré en fonction du type d'erreur pour continuer, répéter (un nombre de fois spécifié), quitter, mettre en pause, etc. Dans le gestionnaire d'événements, vous pouvez ajouter une ou plusieurs étapes de test à effectuer en cas d'erreur.
Vous pouvez influencer le choix de l'étape suivante en utilisant If-Then-Else , ce qui est très pratique pour les actions répétitives avec différents paramètres.
While-Do ou Do-While Loop sont une bonne aide si vous avez besoin de «défiler» jusqu'à la valeur désirée [Appuyez sur «bas» jusqu'à ce que la valeur «5» apparaisse ou vice versa, jusqu'à ce que la valeur soit «5», appuyez sur «bas»].
Naturellement, Jubula a la possibilité de faire des courses de nuit pour profiter des coches vertes devant vos tests du matin.
Jubula effectue le test comme si l'utilisateur le menait sur son ordinateur: il déplace le curseur sur les fenêtres de l'application, clique sur les touches, donc pour la pureté de l'expérience, vous ne pouvez pas déplacer la souris ou toucher le clavier à ce moment... Et comme l'expérience le montre, sans même toucher quoi que ce soit, l'utilisateur est capable de confondre Jubula d'un seul coup d'œil afin qu'elle ne puisse pas trouver le bon bouton, ou appuyer dessus, ou autre chose. Par conséquent, la meilleure option serait d'exécuter Jubula sur une machine différente. Dans notre projet, il s'agit d'une machine distante, sur laquelle tout le monde se connecte en tant qu'utilisateur, mais toutes ses modifications dans Jubula deviennent disponibles pour tout le monde.
Dans notre projet, Jubula est intégré à Polarion, cela vous permet de voir les statistiques des tests réussis ou échoués, qui n'ont pas été exécutés du tout dans cette exécution. Pour chaque cas de test individuel, Polarion a un champ Test Records, qui affiche les résultats des courses de la nuit dernière à Jubula, leur nombre peut être défini indépendamment (jusqu'à 300). Cette fonctionnalité vous aide à suivre facilement la version à partir de laquelle un test a cessé de passer s'il n'était pas surveillé régulièrement.
Un inconvénient important du programme est l' incapacité d'annuler tout changement, la fonction «revenir en arrière», «annuler» ou quelque chose de similaire n'est tout simplement pas là. Le maximum possible est de tout fermer sans enregistrer les modifications. Mais si vous cliquez sur "Enregistrer", c'est tout. Dans les cas d'urgence, il est possible de restaurer la version du projet à partir d'une certaine date, ce qui est lourd du fait que les modifications apportées après ce jour seront perdues à jamais.
Jubula est un très bon programme pour automatiser les tests écrits pour une application de bureau. Si vous le souhaitez et que l'utilisateur a les compétences, il vous permet de tout vérifier, et pas seulement l'interface graphique, mais aussi les fonctionnalités côté serveur. Mais cette création est vraiment douce, vous devez trouver une approche, et vous pourrez ensuite l'utiliser avec bonheur pour toujours!