QF-Test chez Siemens :
Tester Java Web Start

Les tests d'interface graphique sont une étape essentielle du cycle de vie des tests de logiciels car ils sont effectués du point de vue de l'utilisateur final d'une application. L'automatisation des tests de cette phase est l'objectif final car elle est déjà réalisée avec des tests unitaires ou d'intégration.

Lorsque vous effectuez une recherche sur Internet pour une telle tâche, vous trouverez un large éventail d'outils de test fonctionnel qui sont soit des outils de test "généraux", soit dédiés à un type spécifique d'interface graphique. Mon travail consistait à trouver un outil de test approprié capable d'effectuer des tests automatisés pour une interface graphique Java Swing compliquée (fournie en tant qu'application Java Web Start).

Bien sûr, vous pouvez commencer à évaluer tous les "grands acteurs" dans ce domaine, mais "grand acteur" signifie aussi "beaucoup d'argent" en termes de frais de licence et de maintenance. L'autre possibilité est de rechercher des fournisseurs spécialisés dans le test de l'interface graphique Java Swing si c'est tout ce que vous voulez. Une telle première présélection a été mon point de départ et QF-Test a été l'un de mes premiers candidats pour une analyse plus approfondie.

Les outils open source peuvent également être un choix pour tout utilisateur à la recherche d'une solution à faible coût. Cependant, à mon avis, ces outils sont capables de gérer des tests simples d'interface graphique mais atteignent leurs limites avec des interfaces graphiques complexes (composants personnalisés, etc.) si vous n'investissez pas de temps et d'argent pour faire beaucoup de "personnalisation" (c'est un logiciel libre, donc vous êtes libre de les étendre). Mais vous pouvez aussi décider de prendre la voie du milieu et alors vous devriez certainement essayer QF-Test (pour Java).

Pour une comparaison des outils, j'ai créé plus de 30 critères d'évaluation (annotés avec différentes priorités) comme

  • possibilité d'enregistrement et de lecture
  • reconnaissance des composants de l'interface graphique intelligente
  • mappind d'objet
  • contrôle des images
  • échec des tests et la récupération des erreurs
  • soutien aux tests basés sur les données
  • utilisation de langages de script populaires
  • base pour les tests basés sur des mots-clés (comme les procédures paramétrées de QF-Test)
  • intégration dans des systèmes populaires de construction et/ou d'intégration continue (comme Ant/Maven ou CruiseControl)
  • exécution des tests/rapport des résultats en utilisant XML et HTML
  • support multi-écrans
  • soutien au drag&drop
  • possibilité de reconnaître des composants personnalisés complexes
  • coûts de licence et de maintenance
  • qualité du soutien (disponibilité de ressources qualifiées, validité des réponses du service d'assistance)
  • ressources en ligne (comme des forums actifs plutôt que d'appeler la ligne d'assistance)
  • rapidité des réponses
  • qualité de la documentation en ligne

Avec ces critères d'évaluation ainsi que des scénarios de test spécifiques pour le système réel testé, je dois dire que QF-Test a réussi à remplir toutes mes exigences avec un score de plus de 90%. Ce résultat place QF-Test au-dessus de tous les autres outils commerciaux et open source évalués - du moins pour mes exigences et mon objectif spécifiques.

Toutefois, je pense que vous ne trouverez guère d'autre outil de test de l'interface graphique Java Swing qui vous offre un meilleur rapport qualité-prix.

Résultat : Avec QF-Test, le test d'interface graphique peut passer d'une tâche obligatoire à une tâche passionnante.

 

Klaus Berg, ingénieur principal, Siemens Corporate Technology, Munich

(Les textes originaux allemands et les citations sont traduits en français).