Suite de tests pour l’interface utilisateur graphique
Les tests de régression de la surface de l’éditeur doivent être exécutés par un outil de capture et de relecture. La question centrale d’un test d’interface est de vérifier si le programme réagit correctement aux entrées de l’utilisateur et si l’éditeur est intégré correctement dans Eclipse. Dans ce but, une vue d’ensemble des outils pour les tests d’interface utilisateur Java est tout d’abord donnée. Deux de ces outils seront choisis et évalués. Ensuite, une description de la suite de tests créée avec l’outil choisi suivra.
Conclusion et sélection
Au total, l’outil commercial semble beaucoup plus confortable et robuste. Le support remarquablement rapide et compétent via le courrier électronique ne doit pas être négligé. C’est quelque chose que l’on ne peut pas attendre d’un outil open source et que l’on ne trouve généralement pas. Une exception à cela sont peut-être les forums des grands produits open source comme open office ou Eclipse, mais la communauté de SWTBot n’est pas aussi grande. Enfin, dans le tableau 3.2, toutes les différences pertinentes entre les deux outils sont résumées.
Le résultat de l’évaluation et en considération des domaines d’intérêt qui sont fixés par la tâche a été que QF-Test devrait être utilisé comme outil pour le test de l’interface utilisateur. Cette décision a été prise en accord avec ubigrade et en raison des différences détectées – notamment en ce qui concerne la linéarité différente dans la création du test.
Comparaison directe entre SWTBot et QF-Test
| Critères | SWTBot | QF-Test |
|---|---|---|
| Capture-Relecture | Pas de composant de capture | Oui |
| Connaissance de l’API nécessaire | Extensive (SWTBot.*, Hamcrest) | Limitée (Résolveurs) |
| Méthode d’injection | Propre plugin de plateforme cible | JDK instrumenté, SWT modifié |
| Effort de création de tests | Très élevé (ligne par ligne et transition entre la réalisation du test et le SUT) | Faible (Capture, composants méconnaissables dans le pire des cas) |
| Faiblesses dans la création des tests | Scripting ligne par ligne, flux de travail non linéaire | Moins de contrôle sur les internes de la SUT |
| Vitesse d’exécution | Rapide (In situ au niveau du SUT) | Rapide (instrumentation directe du JDK) |
| Force dans l’exécution des tests | Introspection | Déployer la neutralité |
| Setup/Teardown | Seulement au niveau du SUT ou via la ant, etc. | Procédures, le SUT peut être redémarrée entre les essais. |
| Personnalisation | Un Hamcrest-Matcher utilisable sur mesure | Résolveurs personnalisés utilisables |
| GEF-support | Mauvais [Mer09] | Mature, activable par importation |
| SWTBot pour Eclipse/RCP (SWT) | QF-Test pour Eclipse/RCP (SWT) |
Tableau 3.2 : Comparaison directe entre SWTBot et QF-Test
L’extrait complet du rapport d’évaluation concernant QF-Test peut être trouvé ici (PDF en allemand).
Mémoire de fin d’études : Conception et réalisation d’un éditeur de modèle de protocole, chapitre 3 : Testsuite pour une interface utilisateur graphique - QF-Test en comparaison avec SWTBot, janvier 2010 – Christoph Schmidt, TU Dresden, Allemagne.
(Les textes originaux allemands et les citations sont traduits en français).