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èresSWTBotQF-Test
Capture-RelecturePas de composant de captureOui
Connaissance de l'API nécessaireExtensive (SWTBot.*, Hamcrest)Limitée (Résolveurs)
Méthode d'injectionPropre plugin de plateforme cibleJDK instrumenté, SWT modifié
Effort de création de testsTrè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 testsScripting ligne par ligne, flux de travail non linéaireMoins de contrôle sur les internes de la SUT
Vitesse d'exécutionRapide (In situ au niveau du SUT)Rapide (instrumentation directe du JDK)
Force dans l'exécution des testsIntrospectionDéployer la neutralité
Setup/TeardownSeulement au niveau du SUT ou via la ant, etc.Procédures, le SUT peut être redémarrée entre les essais.
PersonnalisationUn Hamcrest-Matcher utilisable sur mesureRésolveurs personnalisés utilisables
GEF-supportMauvais [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).