Rational Quality Manager

Publié par Maxime Lemanissier, le 8/01/2009, dans Architecture

Cet article fait suite à la présentation de Rational Quality Manager reçue à l’IBM Innovation Center (Noisy le Grand), et mes expérimentations avec la trial de cet outil.

Rational est assurément abonné à la newsletter Valtech. Dans un premier article sur Rational TestManager, je reprochais à ce dernier ses capacités de personnalisation pour ainsi dire inexistantes. Rational sortait alors en remplacement de RTM : CQTM, basé sur Clearquest. On était alors à la limite de l’outil de développement au niveau des possibilités de personnalisation. Dans un second article, c’est l’intégration insuffisante de CQTM à ses outils d’exécution de test (RFT, RMT, RPT, …) qui était montrée du doigt. Aujourd’hui, IBM Rational sort Rational Quality Manager (RQM), basé sur Jazz dont le maitre mot est : intégration.
A la fin de cet article, vous saurez que le principal reproche que l’on peut faire à RQM est qu’il est payant. Le prochain outil d’IBM sera donc entièrement gratuit et totalement open source.

Ou pas.

RQM fait donc suite à CQTM, faisant lui-même suite à RTM, souhaitons-lui tout d’abord une vie plus longue que ses prédécesseurs…
Sorti fin Octobre 2008, RQM est basé sur la nouvelle plateforme Jazz, dont l’objectif avoué est de réussir coté serveur ce que Eclipse a réussi du coté du poste de travail : proposer un socle ouvert, extensible (interfaces REST) et collaboratif et devenir de facto un « standard » d’intégration (d’autres éditeurs commencent déjà à proposer leurs solutions sur Jazz).
En plus de permettre une intégration entre outils et une meilleure communication des différents utilisateurs, Jazz répond également aux problèmes de couplage entre outils et de dépendance de versions. Problématique dont IBM est bien au fait avec sa large gamme d’outils incompatible entre versions différentes. Jazz, en récupérant le mécanisme de mise à jour d’Eclipse simplifie donc cette partie, pour le bonheur de l’utilisateur, et d’IBM.

Le projet Jazz, initié il y a 2 ans par IBM est ouvert mais pas open source, ce qui concrètement signifie que les partenaires du projet peuvent y participer et y apporter leurs orientations et contributions, mais le code source n’est pas public.
Jazz et RTC sont utilisés pour leur propre développement, et leur avancement visibles de tous en direct sur jazz.net.

RQM est donc l’un des premiers « plug-in » Jazz, au coté de Rational Team Concert (RTC) qui lui adresse la partie développement (oui, le test et le développement sont encore séparés, même si désormais Jazz est là pour les unir dans la joie et l’agilité), et Rational Requirement Composer (RRC), dédié à l’activité de mise au point des exigences fonctionnelles d’un projet, RequisitePro s’occupant de leur gestion (cycle de vie, matrice de dépendances, etc.).

RQM s’interface également avec les différents outils de test suivants :
• Rational Functional Tester : outil d’automatisation des tests d’IHM
• Rational Performance Tester : outil de tests de charge et de performance
• Rational Service Tester : outil de test de web services
• AppScan : outil de sécurité serveur et respect des standards

A noter la disparition de Rational Manual Tester, puisque les tests manuels sont maintenant directement gérés par RQM.
Il est également possible de se connecter à des bases Clearquest et les synchroniser avec RQM, par l’intermédiaire du connecteur Jazz.

A la différence de CQTM où le client le plus complet était le client Eclipse, RQM ne propose dans l’état actuel qu’un client web mais celui-ci supporte l’ensemble des fonctionnalités de RQM (y compris l’exécution des tests de tout type). Un client RQM Eclipse est attendu courant 2009, afin notamment d’éviter aux développeurs d’avoir à quitter Eclipse pour bénéficier de l’intégration RTC-RQM.
Cependant, ce client web s’avère très agréable à l’utilisation, son ergonomie a été largement améliorée depuis CQTM, et il bénéficie maintenant d’une navigation par onglets, d’une barre de navigation générale, et utilise les technos du web dynamique (menus déroulants, panels qui scrollent avec la fenêtre, drag and drop, popup en surimpression, …). La durée nécessaire pour ouvrir une session est par ailleurs assez élevée (environ 20 secondes en localhost server).

Au sujet de l’intégration entre RQM et RTC, il s’avère que les versions actuelles ne sont pas compatibles entre elles. Il n’est pas possible d’installer RTC et RQM dans la même instance Jazz, les processus permettant une collaboration entre le développement et le test sont donc inactifs et les bases de données des 2 outils séparées. Une des conséquences est que les anomalies doivent être dupliquées entre RQM et RTC.
RQM et RTC devraient être rendus compatibles dans le courant de Q1’09.

RQM s’articule autour des grandes parties classiques suivantes :
• Déclaration des exigences
• Conception et gestion des plans de test et des cas de test
• Construction des scripts de tests (manuels ou automatisés)
• Création des suites de test
• Exécution des tests
• Analyse des résultats
• Création et gestion des anomalies
• Reporting

RQM permet la création de work items Jazz de type exigence. Ce work item est assez simple, on y retrouve les informations classiques (description, commentaires, pièces jointes, lien avec cas de test, …) mais il n’est pas hiérarchisé (pas d’arborescence). Il faudra passer par une requête pour les visualiser (de la même manière que dans le client web CQTM).
Si il est possible d’importer la plupart des types de fiches depuis des fichiers XML, il également possible pour les exigences de les importer depuis RequisitePro.
Chaque action effectuée dans RQM est consignée dans un journal d’évènements, et il est possible de s’inscrire à certains types d’évènements afin d’en recevoir des notifications (mail ou flux RSS).

Le « Test Plan », objet central dans RQM, possède de nombreuses sections : résumé/description, objectifs de test, objectifs qualité, objectifs business, exigences, planification, estimation de charges, environnements de test, équipe en charge, critères d’entrée et de sortie, cas de test, pièces-jointes, et emplacements de ressources partagées. En gros, les différents éléments que l’on peut retrouver dans une stratégie de test.

Il est possible de créer des templates afin de limiter l’affichage qu’à certaines sections, ainsi que créer un « snapshot » afin de prendre une photo du plan de test à un instant donné. Il est également possible pour l’utilisateur de déléguer l’approbation d’un plan de test (ou d’un cas de test) à d’autres utilisateurs n’ayant pas ce droit à la base. A noter qu’il existe des raccourcis dans les différentes fiches pour créer rapidement des tâches (work items) afin de tracer ou déléguer ce qu’il reste à faire.
Comme pour les exigences, le plan de test n’est pas hiérarchisé.

Les cas de test, rassemblés dans les plans de test, possèdent eux les sections suivantes : résumé/description, coût (sera utilisé comme critère de pondération pour estimer l’avancement des campagnes de test), couvertures d’exigences, pré et post conditions (description textuelle), résultats attendus, et pièces jointes.
Comme pour les plans de test, la plupart de ces sections sont textuelles, elles ne servent donc qu’à séparer les différents types d’informations, qui auraient pu se retrouver rassemblées dans le champ description. La présence de ces différents champs/sections n’apporte pas d’information supplémentaire ni ne rend la conception des tests plus rapide.
L’avant-dernière section des cas de test est celle des scripts de test. Oui, scripts de test au pluriel car c’est bien plusieurs scripts que l’on peut associer à un même cas de test, le choix du script à exécuter se faisant au moment de l’exécution.
La dernière section des cas de test est celle des « test execution record » (TER).

Ces TER remplacent les « configured test cases » de CQTM, qui associent à un cas de test un environnement de test (par exemple, Windows XP SP2, IE7 et WAS6) – la configuration anciennement dans CQTM.
RQM permet de générer automatiquement des TER à partir des différentes combinaisons possibles parmi les environnements d’exécution. Il est possible de choisir le niveau de couverture souhaité, ce qui va influer sur le nombre de TER générés. Le réglage dit optimal utilise la technique « pairwise » (combinatoire par paire)

A la différence de CQTM, les scripts sont des fiches sous RQM. Pour être tout à fait précis, c’était aussi des fiches sous CQTM mais elles étaient masquées à l’utilisateur (TMExternalFile). La fiche test script est donc visible, et en plus du script à proprement parler, elle possède également un titre, une description, et un type. En fonction du type choisi, une série de paramètres vont devoir être renseignés. Pour la majorité des types, il suffira d’indiquer le nom et l’emplacement du fichier de script du type choisi à exécuter. En sus des outils précédemment cités (RFT, RPT, …), un script dans RQM peut être de type ligne de commande (on indique alors la commande système à exécuter, par exemple appel d’un batch, ainsi que les arguments à utiliser) ou manuel.
C’est pour le type manuel que RQM offre le plus de possibilités (ce qui est un peu normal puisque c’est le seul type de script pour lequel la conception a lieu dans RQM). Globalement, on retrouve le même fonctionnement que celui de Rational Manual Tester, on crée une succession d’étapes en indiquant si c’est une étape de type action ou de type vérification. L’interface est similaire également, l’éditeur d’étape est de type rich text, en plus de possibilités de formatage du texte assez complètes (taille, couleur, alignement, puces, tableau, …), on retrouve les assistants d’insertion et de comparaison de données de RMT. RQM intègre donc un RMT version web (Eclipse précédemment).

Il est également possible de créer des « test data » (les datapools de CQTM) à partir de fichier CSV, afin d’externaliser dans des tableaux les jeux de données à utiliser dans les scripts. On peut ainsi variabiliser un script en l’associant à un datapool à plusieurs lignes, ou en créant une autre fiche script avec le même fichier de script et un autre datapool si l’on veut individualiser leurs résultats d’exécution.

Un nouvel objet qui apparait dans RQM est le « keyword ». Un keyword possède un nom, un type (manuel, RFT, …) et un script associé. Les keywords, à l’image de feu les actions réutilisables de RMT, servent à définir un ensemble d’actions/vérifications (celles consignées dans le script associé) réutilisables dans différents autres scripts. Ils permettent ainsi la factorisation des étapes de script, avec tous les avantages que cela comporte : création plus rapide des scripts, il suffit de piocher parmi ses keywords, maintenance facilitée, puisque il suffit de modifier le script d’un keyword pour modifier l’ensemble des scripts utilisant ce keyword, etc.

Autre changement par rapport à CQTM, l’exécution des tests est maintenant possible depuis le client web. Le serveur web contacte la machine de test sur laquelle doit être exécuté le test, à l’aide d’un agent tournant dessus en tâche de fond (nommé « adapter »).
Voici un exemple avec RFT :

Architecture d\'exécution de RQM

Le client web se cantonne donc à un rôle de superviseur d’exécution, il n’a pas de rôle actif dans l’exécution des tests, à l’exception des scripts manuels, et sauf bien sur si un outil d’exécution de test est installé sur la même machine.
RQM étant de fait orienté test distribué, il permet de gérer un parc de machine de test. On déclare une machine avec sa configuration physique, puis ses différents OS / VM, et par OS, ses différentes applications. RQM est ensuite capable de récupérer la liste des adapters présents sur ce système afin de savoir quels types de scripts pourront être exécutés dessus. Il est également possible de créer des groupes de machines.
Fonctionnalité qui pourra être intéressante pour les équipes de test importante et/ou reparties géographiquement, ou les machines de test particulières (pré-prod, plateforme de test de charge, etc.) : il est possible de faire des demandes de réservation de machines de test, pour une plage de temps donnée, et de gérer le calendrier des réservations.

Les différents cas de test sont assemblés dans des suites de test, qui seront ensuite exécutées. A noter la présence d’une option dans la suite de test qui permet d’exécuter en parallèle ses différents cas de test, ce qui pourra être intéressant dans le cadre de tests distribués sur plusieurs machines. Ce n’est pas encore l’ « execution flow » de Mercury, mais c’est toujours ça en plus par rapport à CQTM.
L’exécution d’une campagne, en plus d’être déclenchée manuellement, peut également avoir lieu suite à un évènement donné dans la plateforme Jazz, typiquement la création d’un nouveau build dans RTC.
La console d’exécution permet de suivre l’avancement des suites de test en cours d’exécution.
Les « execution results » sont sauvegardés au terme de chaque exécution, pour les cas de test et les suites de test.

Le dernier type de fiche de RQM, qui vient logiquement après l’exécution des tests, est le « defect ».
Il est possible de créer durant les exécutions des defects afin de garder la traçabilité entre l’anomalie et le test qui l’a mis en évidence.

Les fiches defect sont assez semblables à ce que l’on pouvait trouver dans CQTM, je ne rentrerai donc pas dans leur détail. A noter que si il est possible de retrouver les defects saisis ou rattachés durant une exécution (de manière assez laborieuse), je n’ai pas trouvé le mécanisme inverse qui permettrait de connaitre à partir d’un defect, quels tests l’ont mis en évidence.

La dernière partie de RQM est la partie reporting. Elle utilise BIRT, mais il semblerait qu’elle ne soit pas totalement finalisée dans la version actuelle de RQM (pas trouvé comment créer de reports).
En dehors des reports, il est toujours possible de créer ses propres « viewlets » et sous-onglets dans son dashboard / page d’accueil, et de ce coté, les possibilités et l’ergonomie sont plutôt sympathiques.

A noter qu’un nouvel outil dédié au reporting fera son apparition avec Jazz : Rational Enterprise Reporting.

Autre limitation de la version actuelle : RQM ne supporte qu’une seule « project area », tous les utilisateurs et toutes les fiches sont donc partagés, et pour créer un cloisonnement entre projets distincts, il faudra installer plusieurs instances du serveur RQM/Jazz.

Et pour terminer : la customisation. Sur ce sujet, le nouveau challenger va devoir batailler ferme pour atteindre les possibilités de son aïeul CQTM.
La customisation se répartit entre client web et Eclipse de RQM, ou plutôt RTC pour la partie Eclipse puisque le client Eclipse de RQM n’existant pas encore et l’unification par Jazz aidant, c’est le client RTC qui récupère la partie customisation de RQM.
Le client web de RQM permet la création d’utilisateurs et d’équipes, la configuration des ressources partagées, de la base de données Jazz, la gestion des licences, etc.
Le client Eclipse/RTC gère donc le reste et le plus intéressant, à savoir la définition des rôles et des process / workflows, la personnalisation des projets, des fiches, etc.
N’ayant pas vu cette partie, je ne pourrais donc pas vous en parler dans l’immédiat.

Pour conclure, et ne pas déroger à la règle des précédents articles, voici à mon sens un petit récapitulatif des avantages et des inconvénients de RQM à ce jour :

Points forts :

- Client web réussi. Interface intuitive et efficace, et supportant l’ensemble des fonctionnalités utilisateur (ce qui n’était pas le cas de CQTM)
- Conception des tests manuels maintenant intégrée (comme pour Quality Center, tiens). On a maintenant avec RQM un RMT version web.
- Dashboard en page d’accueil. Nombreuses possibilités de personnalisation, interface ergonomique, résultats convaincants
- Solution de keywords efficace
- Jazz. Intégration et collaboration (partie non couverte par cet article. A creuser)

Points faibles :

- Recherche d’objet (cas de test, keyword, exécution, etc.) parfois laborieuse. Le requêtage est bien plus limité que ce que CQTM offrait avec ses recherches multi-critères et multi-opérateurs (equals, in, like, not, less, more, etc.)
- Absence de hiérarchie au sein d’un même type d’objet. Il existe des liens entre objets de type différent (par exemple, plan de test => cas de test), mais il pourrait être utile d’avoir une hiérarchie pour les plans de test, les exigences, les suites de test et les anomalies (mère-filles). Et pour rejoindre le 1er point faible, il serait bon de voir apparaitre une tree list, afin de faire du « drill down » dans les objets de RQM.
- Pas de client Eclipse (à venir ?)
- Possibilités de customisation moindres que celles de CQTM (partie à creuser également dans un prochain article)
- Licences. Les licences sont actuellement nominatives ! Pour 100 utilisateurs différents, il faudra 100 licences, même si seuls 10 se connectent simultanément. Espérons qu’un mode de licences flottantes est prévue pour bientôt… De plus, les fonctionnalités avancées de la partie exécution (réservation machines, etc.) nécessitent une licence supplémentaire. Pour finir, l’obligation de faire évoluer le type de licence serveur selon le nombre d’utilisateurs maximum (5, 250, …). Une facturation à la licence flottante ne serait-elle pas suffisante ?
- Version en cours non finalisée entièrement. La plateforme Jazz et ses greffons sont encore jeunes, et ça se voit parfois (bien que la stabilité de RQM soit irréprochable). Je ne sais pas si le tout est exploitable en production dans l’état, mais on pourra en reparler dans un prochain article dans 6 mois…

7 retours sur “Rational Quality Manager”

  1. Jean Coudert says:

    Bonjour Mr. Lemanissier,
    Je suis responsable des Tests au sein de notre entité en Suisse. Notre société a choisi de s’orienter depuis plusieurs années vers les outils Rational. Nous utilisons de façon intensive ClearQuest, Clear Case et Requisit Pro.
    Malheureusement, nous n’avons a ce jour que peu utiliser les outils de Tests en particuliers automatiques (Rational Robot). Nous avons eu plusieurs présentations de la part d’IBM sur les outils de la plateforme Jazz en particulier RQM et RFT Plus.
    Je souhaite implanter RQM et RFT plus pour gérer toutes nos activités de test, qu’en pensez-vous ? N’étant pas aussi informe que vous sur ces outils et devant convaincre ma hiérarchie sur ce choix, j’aimerais connaitre qu’elles sont les points forts et points faibles Techniques que je pourrais présenter de façon plus simple que ceux presentes dans votre article (Schéma, dessins,…)
    Merci pour votre collaboration.
    Salutations

  2. Maxime Lemanissier says:

    Bonjour Mr Coudert,

    Je ne pourrais que répondre brièvement à votre demande. Ce que je vous conseillerais est de mettre en place un projet pilote avec les outils que vous souhaitez utiliser. Votre direction n’en sera que plus attentive si la démonstration de leurs bienfaits a été montrée par la pratique dans votre cadre d’utilisation.

    En effet, il est difficile de se prononcer en faveur ou contre ces outils sans connaitre votre environnement technique, l’organisation des équipes et des développements, le niveau de maturité vis à vis des tests, etc.

    Si vous le souhaitez, nous pouvons vous aider à mettre en place ce projet pilote, vous former sur ces outils, etc.

    Cordialement,
    Maxime Lemanissier

  3. Elena says:

    Bonjour, nous avons Rational Functional 6.0.0 et Rational Functional Test Manager 7.0.0. sont-ils compatibles. Si non, quelle est la compatibilité de la versions de ces 2 outils?
    Merci

  4. Maxime Lemanissier says:

    Bonjour,

    D’une manière générale, le couplage de versions d’outils Rational ayant des dépendances entre eux (par exemple, CQTM et RFT) est assez strict.
    Officiellement, la seule configuration supportée est d’avoir tous ces outils dans la même version exactement. Par exemple, des problèmes de couplage entre CQTM 7.0.1.2 et RFT 7.0.1.3 ne sont pas supportés. Cela peut marcher, mais si vous vous adressez au support, ils vous diront de faire un upgrade de CQTM vers la 7.0.1.3.
    Dans votre cas, c’est encore pire puisque ce sont des versions majeures différentes. Donc la réponse est que ca peut fonctionner, mais que ce n’est certainement pas supporté par l’éditeur.

  5. isabelle says:

    Bonjour Monsieur,

    Je fais partie d’un cabinet de recrutement et l’un de mes clients vient d’adopter RFT et RQM afin d’automatiser les tests. Ce client a aujourd’hui besoin de personnes expérimentées ayant déjà travaillé sur ces outils. Je trouve très peu de personnes qui ont ce type de compétences. Connaissez-vous donc des personnes ayant ce type de profil? Connaissez-vous des forums sur lesquels je pourrais entrer en contact avec ce type de profil?
    Je vous remercie d’avance

  6. Maxime Lemanissier says:

    Bonjour Madame,

    Valtech possède ces compétences, mais je ne sais pas si c’est le type de prestation que votre client recherche.
    Nous vous contactons.

  7. Ah ba je savais pas tout ca. Merci

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

By submitting this form, you accept the Mollom privacy policy.