Merci à José Campos d'avoir choisi QF-Test de nouveau pour son cours "Vérification et Validation". Nous sommes également heureux de publier ici les commentaires des étudiants.

C'est notre plaisir de fournir des licences d'essai gratuites pour la recherche, l'enseignement, les logiciels libres et les projets à but non lucratif

Retour d'expérience des étudiants sur QF-Test

» Expériences positives en utilisant QF-Test «

Il était facile d'apprendre à utiliser l'outil en réalisant des tests simples.

L'outil était vraiment utile pour les tests basés sur des modèles, mais il y a eu quelques problèmes en cours de route qui étaient principalement dus à des bogues. L'application que nous testions comportait certaines fonctionnalités impliquant le menu de la barre d'icônes. Les actions enregistrées qui impliquaient une interaction avec l'icône de la barre des tâches n'étaient pas fiables car elles ne fonctionnaient que parfois.

Le principal point faible de l'utilisation de QF-Test est la difficulté de partager le test avec un coéquipier. L'emplacement du fichier jar est codé en dur comme un chemin absolu et nous n'avons pas trouvé de moyen de le rendre dynamique entre les systèmes/ordinateurs. Ainsi, lorsque nous codons sur une autre machine, nous devons reconfigurer ces chemins. Dans l'ensemble, l'expérience a été positive, à l'exception du problème du chemin du fichier jar de l'application.

» Outil prometteur pour l'automatisation des tests de l'interface utilisateur «

L'outil QF-Test semblait prometteur pour l'automatisation des tests d'interfaces utilisateur. Un problème qui n'est pas directement lié à la création du test, mais que nous avons rencontré, est qu'avec des moniteurs à haute DPI, certaines solutions de contournement ont été nécessaires pour faire fonctionner l'application correctement.

» Outil convivial «

Nous trouvons que l'outil QF-Test est assez bon et que le processus d'installation était simple. Nous n'avons pas réussi à ajouter l'outil au path avec l'outil d'installation, nous avons donc dû trouver l'exécutable dans les fichiers du projet et l'exécuter en utilisant le terminal. Nous pensons que cette partie de l'expérience utilisateur pourrait être améliorée.
L'outil est très intuitif à utiliser. Cependant, nous n'avons pas réussi à trouver comment vérifier si la barre de recherche était invisible puisque la variable visible apparaissait toujours comme true même lorsqu'il n'y avait pas de barre à l'écran.

» Honnêtement, nous avons vraiment aimé le fonctionnement de l'outil «

Nous pouvons facilement tester les transitions et les états, ainsi que chaque détail de ce que nous faisons pendant l'enregistrement (clics, vérifications, entrées, etc.). Notre groupe n'a pas utilisé toutes les fonctionnalités de l'outil, mais celles que nous avons utilisées semblaient parfaites pour ce que nous devions faire.
Nous aimerions partager une suggestion concernant l'outil : nous pensons que c'est une amélioration symbiotique si votre outil QF-Test peut être intégré dans un IDE. Nous ne disons pas que l'outil est difficile à comprendre et à utiliser (il est super intuitif par exemple), mais nous pensons que cela pourrait faciliter et encourager son utilisation pour de nombreuses autres personnes qui ne connaissent peut-être même pas l'existence de l'outil.

» Outil utile pour créer des suites de tests «

Après avoir utilisé QF-Test pour créer des suites de tests pour le projet, nous pensons qu'il est très bien préparé et utile. Malgré une certaine confusion initiale lors de la configuration, nous avons réussi à utiliser tout le potentiel de l'outil dans le cadre de notre projet, grâce à l'assistant de démarrage rapide. Le seul problème que nous avons rencontré est que nous devions modifier le chemin d'accès au fichier exécutable à chaque fois que nous passions d'un appareil à l'autre. Nous avons utilisé le chemin complet, car nous ne savions pas comment intégrer correctement un chemin relatif.

» QF-Test s'est révélé très utile. «

La configuration initiale et l'intégration à notre projet ont été faciles et l'assistant a fonctionné comme prévu. Nous n'avons pas trouvé le moyen d'utiliser un chemin relatif pour le chemin du jar. Cela signifiait que sur les différents PC, il était nécessaire de lancer l'assistant chaque fois que quelqu'un modifiait les tests. Après cela, l'enregistrement des étapes était intuitif, et nous n'avons pas eu de problèmes. Nous avons constaté que le glisser-déposer des étapes de test dans le menu de gauche fonctionnait comme prévu, de même que le copier, le couper et le coller.


Dans l'ensemble, QF-Test s'est avéré très utile pour créer des scénarios de test qui nécessitent une interaction avec l'interface utilisateur. Cependant, nous avons constaté que le fichier de configuration utilisé rendait plus difficile la collaboration avec d'autres personnes lors de l'utilisation de l'outil. Le fichier de configuration contient des informations qui sont spécifiques à la machine de chaque développeur. Nous avons édité ce fichier pour tenter de l'utiliser sur une autre machine. Malheureusement, QF-Test signe le fichier de configuration et vérifie son intégrité au chargement, ce qui rend impossible l'utilisation d'un fichier qui a été modifié. Peut-être, si les données de la suite de tests étaient stockées dans un fichier séparé, elles pourraient être utilisées avec VCS, tandis que le fichier contenant les informations spécifiques à l'utilisateur est ignoré.

» Un outil intuitif «

En général, l'outil est très intuitif, mais nous avons des suggestions d'amélioration :

  • Il était difficile de comprendre si un test particulier avait été réussi. Cette information n'est disponible qu'à proximité d'un petit symbole "plus" dans le coin inférieur droit de l'outil. Il serait préférable d'avoir un message similaire à celui de l'outil JUnit, qui indique clairement si le test a été réussi ou non. Cela ne fait peut-être pas de différence pour les utilisateurs avertis, mais cela améliorerait l'expérience utilisateur pour les novices comme nous.
  • Le design est un autre point. Pour les utilisateurs avertis, déjà habitués à l'outil, cela ne ferait pas de différence, mais une amélioration du design le rendrait plus attrayant.
  • Dans notre cas, il a également été difficile de créer certains examens. En particulier, l'application que nous avons testée est principalement constituée d'un tableau, et il était difficile de sélectionner une cellule spécifique de ce tableau sans sélectionner par inadvertance d'autres parties du tableau.
  • Si nous incluons plusieurs séquences dans le même cas de test, il est difficile de comprendre laquelle des séquences a fait échouer le test.
  • Les tests se basent sur le contenu textuel des entrées et des éléments de texte, mais parfois cela ne suffit pas. Par exemple, dans notre projet, la couleur d'une ligne change lorsqu'elle est sélectionnée. Il serait utile de capturer ce changement, ainsi que d'autres modifications visuelles de l'interface utilisateur qui ne sont pas liées au texte.
» Expériences positives «

Notre expérience avec l'outil QF a été généralement positive. Nous pensons que les fonctionnalités suivantes seraient d'excellents ajouts à l'outil, car elles faciliteraient la vie de l'utilisateur dans certains cas que nous avons rencontrés au cours de ce travail :

  • Lorsque l'outil est utilisé pour tester un site web, l'action "Ouvrir la fenêtre du navigateur" devrait comporter une option permettant d'ouvrir la fenêtre en mode plein écran ou entièrement développé, car elle ne remplit pas tout l'écran par défaut, ce qui peut entraîner la disparition de certains boutons de l'interface en raison de la réactivité du site web testé.
  • Pour résoudre ce problème, il a été nécessaire de trouver la largeur et la hauteur de l'écran et de modifier ces champs, mais il serait utile que le programme le fasse automatiquement lorsque nous cochons une case pour ouvrir la fenêtre déjà étendue.
  • Lorsque l'on sélectionne un tableau, il devrait y avoir un bouton permettant de compter le nombre de lignes sans avoir à indiquer le contenu.
  • Il devrait être possible de tester la barre au-dessus des fenêtres d'application avec le nom et l'icône de la fenêtre.
  • Lors de l'enregistrement des doubles clics, les coordonnées du clic devraient être enregistrées, car elles peuvent avoir un effet différent selon l'endroit où le clic a été effectué. Par exemple, si nous modifions une entrée de texte, la position du clic indiquerait la position du curseur dans cette entrée.
     
» La portabilité des tests peut être développée «

La portabilité des tests est un problème. Puisque QF-Test Setup Wizard génère une dépendance sur le système de fichiers local, nous étions obligés de manipuler cette dépendance à chaque fois que nous commettions des informations vers Github puisqu'un autre membre de l'équipe fonctionnait dans un système de fichiers différent. 

» Outil intéressant pour le développement de tests d'interface utilisateur «

Bien que l'outil semble intéressant pour le développement de tests d'interface utilisateur, il s'accompagne également de quelques difficultés pour les développeurs, telles que :

  • Une interface obsolète, qui conduit à des méthodologies confuses sur la mise en œuvre des méthodes, par exemple, le manque d'options de vérification et l'impossibilité de naviguer en mode vérification (c'est-à-dire l'ouverture de menus déroulants).
  • Bien qu'il existe des meilleures pratiques pour l'organisation des suites de tests, il n'offre que peu ou pas de contrôle de version, ce qui rend le développement en binôme ou en équipe peu convivial, et nécessite également une gestion manuelle des chemins.
  • Mauvaise documentation / tutoriel sur le fonctionnement des dépendances, leur ordre d'exécution et la façon de configurer des arbres de dépendances à plusieurs étapes, chacune avec ses propres processus de configuration et de nettoyage.
» Un outil intelligent avec une bonne documentation - un must pour les applications Java de bureau «

Nous avons travaillé avec des outils similaires (comme cypress) dans le passé, et il y a quelques différences. Tout d'abord, cypress a une interface utilisateur plus propre et plus moderne, et nous avons eu l'impression qu'il offrait une meilleure expérience utilisateur. La courbe d'apprentissage pour QF-Test semble beaucoup plus raide que pour d'autres outils, mais il semble très puissant. Les manuels & tutoriels semblent très utiles et complets, ce qui est nécessaire lorsqu'il n'y a pas beaucoup de communauté en ligne auprès de laquelle obtenir de l'aide.

Une fonction qui nous a manqué est une touche de commutation pour désactiver/activer rapidement les étapes de cas de test. Parfois, lors du développement d'un test, nous implémentons des vérifications qui ne sont pas encore terminées sous forme de caractères génériques, et il est un peu agaçant d'obtenir des erreurs pour celles-ci à chaque exécution du test.

Sinon, cela semble être un outil intelligent. Un must pour les applications Java de bureau !

» Tests simples de l'interface utilisateur graphique pour une application Java «

L'outil QF-Test nous a permis de répondre à l'utilisation de base de l'écriture de tests simples de l'interface graphique pour une application Java. En quelques heures, avec l'aide des tutoriels pour débutants de l'outil QF-Test, nous avons pu comprendre comment l'utiliser dans notre application de base. Cependant, nous avons trouvé que les contrôles n'étaient pas si intuitifs et que l'interface utilisateur était dépassée et déroutante. Une meilleure IU et des infobulles amélioreraient grandement l'expérience des utilisateurs débutants. 
En regardant les tutoriels, nous avons appris que cet outil permet des tests beaucoup plus puissants avec l'intégration dans les pipelines CI/CD, les tests multiplateformes (non spécifiques aux applications Java), l'enregistrement vidéo, etc. Nous n'avons pas testé ces fonctionnalités (hors du champ de la mission). Par ailleurs, d'après notre expérience, la plateforme semble vraiment stable et prête pour les environnements professionnels/production. Nous avons testé sur Windows et MacOS sans aucun problème. Nous sommes vraiment curieux de voir comment le QF-Test runner fonctionnerait sur des machines docker/Linux pour l'intégration CI/CD (non testé).

» Outil intuitif avec une courbe d'apprentissage plate pour une prise en main rapide «

Pour ce projet, l'outil QF-Tool pour la plateforme Windows, version desktop, a été utilisé.

  • Le processus d'installation a été très simple et très intuitif, l'utilisation est également simple, avec une interface graphique où les éléments sont bien répartis, ce qui rend la courbe d'apprentissage pour travailler avec l'outil très plate.
  • En termes de tests, il a couvert tous les scénarios que nous avons identifiés au cours du projet.
  • Un aspect négatif de l'outil est qu'il est nécessaire d'investir du temps pour explorer et lire la documentation afin de se familiariser pleinement avec l'outil, car la communauté est vraiment petite, donc tout problème pourrait prendre beaucoup de temps à résoudre.