De Winrunner à QF-Test

À propos de CoreMedia

CoreMedia est le leader des logiciels sociaux innovants centrés sur les personnes. La société, basée à Hambourg, en Allemagne, a réussi à se positionner sur le marché très dynamique de la technologie Internet. L’entreprise se caractérise par sa culture innovante et créative, et par l’accent mis sur l’apprentissage collectif. Ces valeurs se retrouvent également dans la technologie de CoreMedia : CoreMedia développe des logiciels qui permettent à son personnel, ses partenaires et ses clients d’atteindre leurs objectifs rapidement, de manière créative et productive.

Fondée en 1996 et basée à Hambourg, en Allemagne, CoreMedia compte plus de 150 employés et entretient un réseau mondial de partenaires de mise en œuvre qui comprend 500 consultants professionnels.

ÜPlus de 200 sociétés dans le monde entier font confiance aux solutions de gestion de contenu (CMS) et de gestion des droits numériques (DRM) de CoreMedia, notamment ARD, Bertelsmann, BenQ, BILD, Continental, DAK, DaimlerChrysler, debitel, Deutsche Telekom, GMX, IKK, NEC, MLP, Motorola, Nokia, O2, Panasonic, Plus, PREMIERE, Quelle, Qualcomm, Samsung, SEAT, Sony Ericsson, T-Mobile, T-Online et Vodafone. CoreMedia est également à la base des services en ligne fournis par plus de 80 institutions publiques et organismes administratifs.

CoreMedia a reçu de nombreux prix internationaux ces dernières années, faisant l’éloge de sa culture et de ses logiciels innovants, notamment le European Business Award, la reconnaissance en tant que meilleur innovateur, et l’inclusion dans la liste Deloitte Technology Fast 50 des entreprises à croissance rapide.

QF-Test chez CoreMedia : La robustesse des tests est importante

Extrait d’un article de Mark Michaelis, ingénieur logiciel, assurance qualité, CoreMedia AG, Hambourg, Allemagne :

À propos des mauvais outils d’automatisation des interfaces graphiques : Je pense aussi que l’automatisation des tests d’interface graphique est peut-être l’une des choses les plus difficiles à faire dans le domaine des tests. Il faut une longue évaluation pour obtenir le bon outil d’automatisation, surtout pour en faire accepter un par toute l’équipe.

Pour Java (Swing Applications), nous sommes passés de WinRunner (utilisé depuis des années) à QF-Test. WinRunner n’a pas été accepté par l’équipe en raison de son langage propriétaire, la TSL. En revanche, QF-Test est développé en Java et utilise Jython comme langage de script. Un excellent début pour les développeurs Java. Il y a beaucoup d’autres avantages de QF-Test, mais je n’en mentionnerai que trois ici :

  • Comme QF-Test est écrit en Java, il n’a aucun problème pour traiter les dernières versions de Java. Passer du test avec Java 1.5 au test avec Java 1.6 a été un jeu d’enfant
  • Les tests peuvent être écrits de manière à ce que les responsables puissent également lire facilement ce que le test fait réellement sans entrer dans les détails.
  • Un support important pour les tests pilotés par les données (Data driven Testing). Jamais autant de cas de tests n’ont été effectués en si peu de temps…

A propos de la robustesse de l’automatisation des tests d’interface graphique : Je pense qu’il y a deux choses qui doivent être faites pour que les tests soient aussi robustes que possible. L’une est déjà mentionnée dans l’article de StickyMinds que vous avez cité : Impliquer les développeurs. Il est certain qu’il faut ajouter des crochets de test dans l’application. Le plus simple est de donner aux éléments de l’interface graphique un identifiant unique (en Java : en utilisant setName()).

Ensuite, il faut créer des cartes d’interface graphique (un terme que j’ai appris de WinRunner, mais que j’ai également adopté pour QF-Test) : Placer les règles d’identification des éléments de l’interface graphique dans une base de données/un fichier propre. De cette façon, vous n’avez qu’à toucher ce fichier pour de légères modifications de l’interface graphique.

Mais la meilleure chose à faire est de créer un cadre de test. Par exemple, pour chaque action de menu (chaque au sens de XP : chaque action actuellement utilisée), j’ai créé une fonction de bibliothèque. Les développeurs n’ont qu’à appeler cette fonction de bibliothèque et n’ont pas besoin de se soucier de savoir s’il y a des boutons radio ou une liste déroulante derrière. Si l’élément de l’interface graphique change de type, seul le cadre doit être ajusté.

Des fonctions encore plus complexes ont été déplacées dans le cadre. Par exemple, pour le CMS, j’ai créé des fonctions de cadre qui créent automatiquement des documents (en utilisant l’interface graphique). Il est donc très facile pour les développeurs d’obtenir des montages de test avec lesquels ils peuvent travailler.

Enfin, pour en revenir au code, j’ai ajouté une interface graphique de test à l’application. Cela présente deux avantages :

  • Je peux accéder à l’intérieur même de l’application.
  • Les développeurs peuvent facilement voir que je fais cela et comment et peuvent donc s’en occuper pendant le remaniement du code.

Le fait d’avoir ces trois choses : GUI Maps, GUI Automation Test Framework, GUI Test Facade J’ai enfin obtenu un ensemble très robuste de tests d’interface graphique.

AdditionalEvaluation report of CoreMedia

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

Nous utilisons des cookies "Matomo" pour l'évaluation anonyme de votre visite à note page web. Pour cela nous avons besoin de votre consentement qui est valable pour douze mois.

Configuration de cookies

Cookies fonctionnels

Nous utilisons des cookies fonctionnels pour garantir la fonctionnalité de base du site web.

Cookies de performance et de statistique

Nous utilisons Matomo pour analyser et améliorer notre site web. Des cookies permettent une collection anonyme des informations qui nous aident à vous offrir un visite clair et facile à utiliser de nos pages web.

Détails des cookies
Description Fournisseur Durée de vie Type But
_pk_id Matomo 13 Mois HTTP Contient un identifiant de visiteur unique et pseudonymisé interne à Matomo pour reconnaître les visiteurs qui reviennent.
_pk_ref Matomo 6 Mois HTTP Utilisé pour suivre à partir de quel site Web l'utilisateur anonymisé est arrivé sur notre site Web.
_pk_ses Matomo 1 Jour HTTP Le cookie de session Matomo est utilisé pour suivre les demandes de page du visiteur pendant la session.
_pk_testcookie Matomo Session HTTP Utilisé pour vérifier si le navigateur du visiteur prend en charge les cookies.
_pk_cvar Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.
_pk_hsr Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.