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
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.
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.
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.
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.
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.
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é.
En général, l'outil est très intuitif, mais nous avons des suggestions d'amélioration :
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 :
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.
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 :
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 !
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é).
Pour ce projet, l'outil QF-Tool pour la plateforme Windows, version desktop, a été utilisé.