Skip to content

Blogs de Développeurs: Aggrégateur de Blogs d'Informatique sur .NET, Java, PHP, Ruby, Agile, Gestion de Projet

Forum Logiciel

Forum Logiciel : diffusion de connaissance et d’informations sur toutes les activitĂ©s liĂ©es au dĂ©veloppement d’applications informatiques en entreprise.

Kalistick
Syndiquer le contenu
L'ambition du blog Kalistick est de partager et d'échanger sur la qualité dans les développements C# et Java.
Mis à jour : il y a 15 heures 22 min

Cegedim industrialise son processus de test avec Kalistick

lun, 04/29/2013 - 08:04

Cegedim Activ cherchait Ă  industrialiser ses processus de test pour son nouveau logiciel Activ’Ro, Kalistick a apportĂ© une brique indispensable Ă  la solution.

Retour sur le dĂ©ploiement de l’outil au sein de la sociĂ©tĂ© avec la Responsable  de la Cellule Certification QualitĂ© Pilotage de Cegedim Activ, Anne-Marie Bailly.

Cegedim Activ Chiffres Clés
  • Editeur de logiciel
  • 500 collaborateurs
  • 9 sites
  • 74 M€ de CA en 2011,
  • 30 millions de personnes protĂ©gĂ©es

Le groupe Cegedim propose des prestations de services, des outils informatiques, des logiciels spĂ©cialisĂ©s et des services de gestion de flux et de bases de donnĂ©es Ă  l’ensemble des acteurs de la SantĂ© :

  • - industries,
  • - laboratoires pharmaceutiques,
  • - professionnels de santĂ©,
  • - compagnies d’assurance.

Au sein de Cegedim Assurances, Cegedim Activ est le leader des logiciels et services dĂ©diĂ©s Ă  l’Assurance de Personnes sur le marchĂ© français.

Application: Activ’Ro
    • Logiciel SaaS
    • DĂ©veloppement en mode Agile et cycle en V
    • En phase d’industrialisation du processus de test
    • Cible : organismes gestionnaires de rĂ©gimes maladie obligatoire
“Nous Ă©tions Ă  la recherche de ce type d’outils, sans savoir si cela existait dĂ©jĂ .” Objectifs
    • Industrialiser le processus de tests sur une application-clĂ© mais relativement jeune
    • Identifier la couverture de tests actuels sur la solution, crĂ©er de nouveaux scĂ©narios, et augmenter l’automatisation des tests (outil Selenium).
    • Monter en qualitĂ© sur les versions logicielles fournies aux organismes clients
    • Faciliter le passage vers un modĂšle Agile
La solution Kalistick Kalistick, un levier prometteur d’industrialisation du processus de test

Cegedim Activ commercialise et maintient six solutions logicielles sur lesquelles des batteries de tests sont rĂ©guliĂšrement effectuĂ©es. Mais en 2009, lorsque la sociĂ©tĂ© dĂ©cide de lancer la commercialisation d’Activ’Ro, sa nouvelle solution en  mode hĂ©bergĂ© de gestion du rĂ©gime maladie obligatoire (sections locales mutualistes, travailleurs non salariĂ©s…), aucun test de non-rĂ©gression (TNR) automatisĂ© n’est vĂ©ritablement mis en oeuvre.

«Il y avait bien entendu des recettes et des  tests de rĂ©gressions manuels dĂ©jĂ  mis en place, confie Madame Anne-Marie Bailly, Responsable de la cellule Certification QualitĂ© Pilotage de Cegedim Activ. Mais le chantier d’automatisation des tests avec l’outil Selenium Ă©tait encore devant nous, et nous  souhaitions avancer sans tarder.»

C’est à ce moment qu’Anne-Marie Bailly assiste à un webinar sur Kalistick.

«Nous Ă©tions Ă  la recherche de ce type d’outils, sans savoir si cela existait dĂ©jĂ … Et nous avons Ă©tĂ© impressionnĂ©s par la solution qui nous a Ă©tĂ© prĂ©sentĂ©e.»

Kalistick  s’est rapidement imposĂ© comme l’outil-clĂ© dans l’industrialisation du processus de test pour Activ’Ro.

Parfaitement complĂ©mentaire aux outils d’automatisation et aux rĂ©fĂ©rentiels de tests tels que HP QC, XStudio ou Selenium, Kalistick est  une solution particuliĂšrement innovante et unique permettant de dĂ©tecter les “trous de test” c’est dire tout ce qui Ă©chappe Ă  nos tests et plus particuliĂšrement les modifications et leurs effets de bords Ă©ventuels.

La solution nous permet notamment de construire de nouveaux scĂ©narios de tests de non-rĂ©gression, afin d’amĂ©liorer la couverture de ces derniers et d’augmenter ainsi la qualitĂ© logicielle des versions livrĂ©es.

Vers l’implĂ©mentation de la solution “L’outil Kalistick fonctionne parfaitement, bien que notre logiciel soit complexe et contienne plus de deux millions de lignes de code.”Anne-Marie Bailly

Trop beau pour ĂȘtre vrai ? Un POC (Proof of Concept) est alors mis en place, afin de vĂ©rifier la promesse offerte par l’outil Kalistick et valider sa compatibilitĂ© avec la nouvelle solution de Cegedim Activ.

Il s’agit de vĂ©rifier les bĂ©nĂ©fices pour Activ’Ro, solution pour laquelle les organismes clients se montrent particuliĂšrement exigeants en terme de qualitĂ©, mais oĂč leurs moyens financiers ne permettent pas toujours d’affecter suffisamment de ressources humaines dans les phases de recette.

«Le pilote a rĂ©pondu Ă  l’intĂ©gralitĂ© de nos exigences, dĂ©clare Anne-Marie Bailly. L’outil Kalistick fonctionne parfaitement, bien que notre logiciel soit complexe et contienne plus de deux millions de lignes de code.»

Rassurer sur la sécurité du code

Ceci Ă©tant, il convenait Ă©galement de rassurer complĂštement Cegedim Activ sur le fonctionnement de Kalistick. Sur ce secteur sensible et concurrentiel qu’est la SantĂ©, la sĂ©curitĂ© du code des solutions logicielles dĂ©ployĂ©es est primordiale.

«Notre outil est construit sur un mode hybride “On premise/Cloud”, confie Marc Rambert, directeur de la sociĂ©tĂ© Kalistick. Les modules “Scan de l’application” et «Empreintes de tests” sont installĂ©s chez le client, et l’analyse et les tableaux de bord sont hĂ©bergĂ©s dans le Cloud.»

Mais l’un des vrais points forts de Kalistick rĂ©side dans le fait qu’aucune ligne de code n’est envoyĂ©e dans le Cloud ce qui lui garantit une sĂ©curitĂ© totale Ă  ce niveau.

La transparence est fortement apprĂ©ciĂ©e par Cegedim Activ et la solution, qui allie la sĂ©curitĂ© du “On premise” et les avantages du SaaS, tant au niveau du business model (abonnement simple) qu’au niveau de la maintenance (pas de serveur dĂ©diĂ© en interne), est dĂ©finitivement adoptĂ©e par la sociĂ©tĂ©.

“L’un des autres avantages de Kalistick est qu’il permet de dĂ©terminer prĂ©cisĂ©ment les tests qui doivent ĂȘtre jouĂ©s et donc de gagner un temps prĂ©cieux.” Aller plus loin encore

«La compĂ©tence et la grande rĂ©activitĂ© des experts que nous avons rencontrĂ© au sein de la sociĂ©tĂ© Kalistick, notamment pour l’intĂ©gration Ă  XStudio et autres outils que nous utilisons, a Ă©galement jouĂ© dans notre dĂ©cision, confie Madame Bailly.»

Cegedim Activ souhaite s’appuyer sur la solution pour faciliter la transition vers les mĂ©thodes agiles sur l’ensemble de ses solutions, alors qu’aujourd’hui une partie des dĂ©veloppements se font toujours sur un cycle en V.

En effet, selon Anne-Marie Bailly, «l’un des autres avantages majeurs de Kalistick est qu’il permet de dĂ©terminer prĂ©cisĂ©ment les tests qui doivent ĂȘtre jouĂ©s, car portant sur la partie du code qui a Ă©tĂ© modifiĂ©e, de ceux qu’il est inutile de lancer car portant sur une partie du code non-affectĂ©e par les dĂ©veloppements effectuĂ©s d’une version Ă  l’autre.

C’est une fonctionnalitĂ© dĂ©cisive quand on dĂ©cide de raccourcir les dĂ©lais de mise sur les marchĂ©s des solutions».

Catégories: Blog Société

Comment CNP Assurances utilise la “Test Coverage Intelligence”

lun, 04/15/2013 - 09:40

Pour aller vers une qualitĂ© totale sur deux applications centrales de contrĂŽle mĂ©tier, CNP assurances dĂ©cide de s’appuyer sur Kalistick.

L’approche vĂ©ritablement hors-norme que permet l’outil, et notamment la couverture intelligente qu’il  offre, s’avĂšre ĂȘtre un levier dĂ©terminant pour l’optimisation du processus de tests.

CNP Assurances

Chiffres Clés

  • Compagnie d’assurances
  • CA 2011 : 31 M€
  • 40+ millions d’assurĂ©s Ă  travers le monde

CNP Assurances est le premier assureur de personnes en France avec un chiffre d’affaires de 31 milliards d’euros en 2011.

SpĂ©cialisĂ© depuis 150 ans sur ce mĂ©tier, l’ambition du groupe est de fournir Ă  chacun les moyens de se prĂ©munir contre  les alĂ©as de la vie et de l’accompagner tout au long de son existence.

Il compte 23 millions d’assurĂ©s en Ă©pargne/prĂ©voyance dans le monde et 17 millions en couverture de prĂȘts.

Applications : INS et IDD

    • Applications de contrĂŽle mĂ©tier
    • Cible : Applications clientes internes et externes pour des partenaires (banques…)
    • En phase d’industrialisation du processus de test
“Nous dĂ©sirions optimiser l’ensemble de nos tests sur nos applications-clĂ©s.” Enjeux
    • Monter en qualitĂ© sur ces applications clĂ©s au coeur du SI Assurances Individuelles
    • Identifier la couverture de tests actuels sur les applications et crĂ©er de nouveaux scĂ©narios de tests
    • Monter en puissance et optimiser les processus de tests
La solution Kalistick La maitrise de risques : un aspect-clé pour les applications métiers de CNP Assurances

Une partie du coeur du systùme d’informations de la branche “Assurance individuelle” du groupe CNP Assurances repose sur deux applications phares : INS et IDD.

Applications- clĂ©s de contrĂŽle mĂ©tier, ces solutions ne comportent pas  d’interface utilisateur en elles-mĂȘmes, mais communiquent par webservices avec un grand nombre d’applications clientes dĂ©ployĂ©es au sein du groupe et chez de nombreux partenaires, issus du monde bancaire notamment, pour l’instruction  de demandes (INS) et l’instruction de dossiers (IDD) d’assurances individuelles.

La qualitĂ© de ces applications de contrĂŽle mĂ©tier revĂȘt donc une importance de premier ordre pour CNP Assurances et pour ses partenaires, car un grand  nombre de solutions logicielles reposent sur elles.

DĂ©veloppĂ©es sur un mode d’intĂ©gration continue, elles font donc l’objet de nombreux tests unitaires et fonctionnels automatisĂ©s.

Une solution complĂ©mentaire aux outils d’automatisation et aux rĂ©fĂ©rentiels

Mais pour CNP Assurances, il s’agissait d’aller plus loin encore dans la qualitĂ© recherchĂ©e.

«C’est dans cette optique que nous nous sommes intĂ©ressĂ©s Ă  la solution Kalistick, confie Madame Christine Brosseau, Responsable de cellule de tests DMOE. Nous dĂ©sirions en effet optimiser l’ensemble de nos tests sur ces deux applications-clĂ©s.» Car Kalistick ne s’inscrit pas dans la classique dichotomie entre les logiciels d’automatisation d’une part, et les rĂ©fĂ©rentiels de test d’autre part.

L’atout de cette solution est qu’elle n’a vocation Ă  remplacer ni les uns ni les autres, mais Ă  s’y intĂ©grer afin d’assurer Ă  l’entreprise une forte visibilitĂ© sur les tests qu’elle effectue, leur couverture et les risques de rĂ©gression non-couverts.

«En enregistrant l’empreinte de chaque test, Kalistick est capable, Ă  partir de l’ensemble des tests automatisĂ©s et manuels dĂ©finis, de signaler en amont Ă  l’éditeur les tests les plus importants Ă  exĂ©cuter et ceux qui sont plus accessoires, et donc de gagner du temps. En aval il indique avec prĂ©cision les “trous de test” Ă  combler, c’est Ă  dire les parties du code modifiĂ©s sur lesquelles aucun test n’a encore Ă©tĂ© joué», prĂ©cise Christine Brosseau.

Sécurisation et implémentation sur INS et IDD

Mais l’outil doit d’abord convaincre CNP Assurances que le code de ses applications reste sĂ©curisĂ©, et la rĂ©ponse apportĂ©e par la sociĂ©tĂ© Kalistick est sans Ă©quivoque.

Si l’outil est de nature hybride «on-premises/Cloud», c’est Ă  dire avec une partie “scan de l’application et enregistrement des empreintes de tests” effectuĂ©e chez le client et une partie “analyse” hĂ©bergĂ©e sur le Cloud, aucune ligne de code n’est pour autant envoyĂ©e vers le Cloud.

La confirmation a Ă©tĂ© apportĂ©e directement par la technologie Kalistick qui utilise des techniques de signature, un peu Ă  la maniĂšre d’un antivirus, et assure ainsi qu’aucun code source ou binaire ne quitte jamais le systĂšme de CNP Assurances.

Un POC (Proof of Concept) est donc rĂ©alisĂ© en dĂ©but d’annĂ©e 2012 sur INS, pour qui prĂšs de 800 Ă  1000 tests fonctionnels existent, ce qui est bien Ă©videmment trĂšs important pour une application sans IHM. Et trĂšs vite, les bĂ©nĂ©fices-clĂ©s de Kalistick se confirment, et le groupe dĂ©cide alors de travailler en parallĂšle Ă  une mise en oeuvre de l’outil sur d’autres applications.

Des modes d’utilisation variĂ©s et des atouts nombreux “Pour INS, Kalistick nous permet d’identifier prĂ©cisĂ©ment d’éventuels doublons et trous de tests jusque lĂ  passĂ©s inaperçus.”

Divers bĂ©nĂ©fices-clĂ©s, et donc diffĂ©rents modes d’utilisation possible apparaissent en effet Ă  CNP Assurances.

«IDD est une application mĂ©tier beaucoup plus jeune et plus lĂ©gĂšre que INS, explique Christine Brosseau. Par consĂ©quent, le nombre de tests fonctionnels existants est plus faible. Dans ce contexte, nous attendions de Kalistick qu’il nous donne une vision trĂšs prĂ©cise de la couverture de test existante, afin de pouvoir travailler Ă  l’amĂ©lioration de celle-ci en sachant prĂ©cisĂ©ment quels nouveaux scĂ©narios de tests il nous fallait crĂ©er.»

«Pour INS, ajoute Christine Brosseau, oĂč nous disposons de nombreux tests, mais peu rĂ©fĂ©rencĂ©s, Kalistick nous permet d’identifier prĂ©cisĂ©ment d’éventuels doublons et trous de tests jusque lĂ  passĂ©s inaperçus, car indĂ©celables sans ce type d’outil.»

En effet, contrairement aux logiciels qui identifient les couvertures de tests strate par strate (tests unitaires, test d’intĂ©gration et tests fonctionnels), Kalistick offre une vision transversale des tests qui se rĂ©vĂšle donc beaucoup plus juste. C’est pourquoi, on parlera volontiers de “couverture de test intelligente”.

Optimiser les rĂ©fĂ©rentiels de tests Ă©tait Ă©galement un bĂ©nĂ©fice attendu de la solution. Tous les deux Ă  trois mois environ, la cellule de tests procĂšde Ă  une “revue de tests”, afin d’identifier lesquels sont devenus “obsolĂštes” et peuvent ĂȘtre sortis du rĂ©fĂ©rentiel, car ils n’ont plus besoin d‘ĂȘtre jouĂ©s.

«En rĂ©sumĂ©, Kalistick nous apporte des bĂ©nĂ©fices sur de multiples niveaux, conclut Christine Brosseau et nous sommes dĂ©jĂ  en train d’étendre son utilisation Ă  une nouvelle application web.»

Catégories: Blog Société

Evaluer la maturité des tests

ven, 03/08/2013 - 16:35

 

Evaluer la maturitĂ© d’une organisation ou d’une Ă©quipe sur le plan des tests est souvent un point de dĂ©part chez nos clients afin d’Ă©tablir des plans d’amĂ©lioration. La rĂ©alisation et le suivi de ces plans s’appuient ensuite sur des indicateurs pour s’assurer de l’avancement et des rĂ©sultats obtenus.

Nos partenaires spĂ©cialistes du test sont frĂ©quemment sollicitĂ©s pour rĂ©aliser ces audits, Ă©tablir ces plans, et mettre en place les indicateurs Ă  suivre. Nous avons donc travaillĂ© Ă  Ă©tablir des tableaux de bord qui peuvent contribuer Ă  cette phase d’audit mais aussi ĂȘtre un appui pour le suivi des actions et montrer les rĂ©sultats obtenus.

Ces tableaux de bord s’appuient sur les informations gĂ©nĂ©rĂ©es pour chaque projet et en donne plusieurs restitutions. Ainsi pour chaque application nous avons notamment des indicateurs :

    • la couverture des tests, sur l’application globale ou uniquement les modifications
    • le nombre d’itĂ©rations/livraisons nĂ©cessaires Ă  la validation
    • la rĂ©partition de l’effort de test entre les diffĂ©rents types de tests, qu’ils soient manuels ou automatisĂ©s, rĂ©alisĂ©s par l’Ă©quipe de dĂ©veloppement ou par l’Ă©quipe de tests fonctionnels
    • et d’autres indicateurs comme le temps, le taux de modification ou l’Ă©volution de la couverture…

Cartographie des tests

Le Portfolio est accessible sur le Cockpit via le menu « Tableau de Bord », la Cartographie est disponible dans la partie « Historique » du Portfolio (voir menu à gauche).

Une des principales restitutions s’appuie sur un graphe en 2 dimensions pour comparer les activitĂ©s de tests de plusieurs projets, faire ressortir ceux situĂ©s dans les zones Ă  risques, et identifier des axes de progrĂšs.


Ici chaque quadrant a une signification prĂ©cise et on peut choisir quel type d’information on souhaite afficher : des informations sur le projet ou sur la derniĂšre version cible. La taille de chaque disque reprĂ©sente soit la taille du projet, soit la taille de la derniĂšre version si on veut se focaliser sur le pĂ©rimĂštre modifiĂ©. La couleur reprĂ©sente le taux de couverture par les tests de l’application globale ou uniquement des modifications.

Quadrant 1 « Faiblement testée »

Cette zone regroupe les projets avec un dĂ©ficit de test. Non seulement il y a peu de tests dans les phases de dĂ©veloppement mais Ă©galement peu de tests fonctionnels. Si des analyses plus poussĂ©es confirment un problĂšme de qualitĂ©, plusieurs actions d’amĂ©liorations peuvent ĂȘtre menĂ©es Ă  court et moyen terme.

Quadrant 2 « Surtout des tests unitaires et d’intĂ©gration»

Dans cette zone, on retrouve des projets dont les Ă©quipes de dĂ©veloppement ont atteint une bonne maturitĂ© sur les tests car c’est gĂ©nĂ©ralement synonyme de tests rĂ©alisĂ©s dans un processus d’intĂ©gration continue. On y retrouve plus frĂ©quemment les Ă©quipes agiles qui choisissent d’automatiser leurs tests et moins de test au niveau fonctionnel. On trouve aussi les applications qui offrent principalement des services (SOA) et qui n’offre donc pas d’interface utilisateur. Cependant il y a peu de tests fonctionnels avec la vision utilisateur ou de bout en bout, on peut donc avoir quelques dĂ©sillusions aprĂšs la mise en production.

Quadrant 3 « Surtout des tests fonctionnels »

Ici les projets sont certes testĂ©s correctement mais principalement par des tests fonctionnels ou des tests de bout en bout. Et il est probable que cela soit majoritairement des tests manuels. Les applications devraient ĂȘtre in-fine de bonne qualitĂ© en production. Cependant 3 dĂ©savantages :

    • Ces tests fonctionnels sont certainement exĂ©cutĂ©s en fin de cycle et comme il y a peu de tests en amont les problĂšmes surgissent en fin de cycle et tendent les plannings. Cela accroit le risque que dans une future version on passe en production avec une version pas totalement stable, si on n’a pas le temps d’exĂ©cuter tous ces tests.
    • Le cout de la qualitĂ© sur ces applications est important car le coĂ»t de correction d’un bug lors des tests fonctionnels est 10 Ă  100 fois plus important qu’en amont.
    • En outre, dans le futur il sera difficile d’automatiser ces tests car ils seront probablement sensibles au changement et donc gĂ©nĂšreront des coĂ»ts de maintenance plus important.
Quadrant 4 « Sécurité optimale »

Une application placĂ©e dans ce quadrant a certainement un niveau de qualitĂ© satisfaisant et le coĂ»t de cette qualitĂ© doit ĂȘtre rĂ©duit. Les tests unitaires et d’intĂ©grations assurent de la qualitĂ© tout au long de la rĂ©alisation et les tests fonctionnels assurent que le processus mĂ©tier complet fonctionne correctement.

DiffĂ©rentes lectures des donnĂ©es prĂ©sentĂ©es permettent d’appuyer des analyses plus complĂštes et d’identifier des plans d’amĂ©liorations prĂ©cis.

Voir la documentation sur le Portfolio.

 

Catégories: Blog Société

RĂ©aliser une analyse d’impact

jeu, 03/07/2013 - 13:13

 

Lorsqu’il s’agit de rĂ©aliser des Ă©volutions ou des correctifs sur une application, plusieurs questions se posent frĂ©quemment :

    • Quelles sont les charges de dĂ©veloppement et de tests associĂ©s pour confirmer le budget et le planning ?
    • Quels sont les risques liĂ©s Ă  ces Ă©volutions ou Ă  ces correctifs ? Car s’il faut prĂ©voir un gros effort de test de non-rĂ©gression, il peut-ĂȘtre prĂ©fĂ©rĂ© de reporter ces changements Ă  une version plus importante dans laquelle cet effort de test sera plus facilement absorbĂ©.
    • Quel est prĂ©cisĂ©ment l’impact sur le travail de l’Ă©quipe de test ? Y a-t-il un dĂ©ficit de test sur les fonctionnalitĂ©s concernĂ©es par ces Ă©volutions ? Faut-il prĂ©voir la conception de nouveaux scĂ©narios de test ? Faut-il anticiper la maintenance de cas de tests automatisĂ©s liĂ©s Ă  ces changements ?

Les personnes en charge de rĂ©pondre Ă  ces questions manquent souvent d’Ă©lĂ©ments factuels pour aider leur analyse. Et celles qui doivent les valider apprĂ©cient l’apport d’Ă©lĂ©ments prĂ©cis pour appuyer leur dĂ©cision. Ce besoin nous a Ă©tĂ© exprimĂ© plusieurs fois par nos clients que cela soit entre un sous-traitant et son client, entre une MOE et une MOA, mais aussi chez un Ă©diteur entre la direction R&D et la direction gĂ©nĂ©rale. Les clients avaient identifiĂ© avant nous l’intĂ©rĂȘt des donnĂ©es collectĂ©es par notre plateforme pour rĂ©pondre Ă  ce besoin. Nous avons donc rĂ©pondu avec une nouvelle fonctionnalitĂ© que nous avons appelĂ©e « Simulateur d’Impact ».

Le Simulateur d’Impact permet d’Ă©valuer Ă  partir d’un pĂ©rimĂštre Ă  faire Ă©voluer (fonctionnalitĂ©s, exigences, sous-ensemble du code) les impacts liĂ©s Ă  des modifications, en termes de dĂ©veloppement, de test et de risque.

 

Estimer les charges de développement

Estimer la charge de dĂ©veloppement pour une nouvelle fonctionnalitĂ© repose nĂ©cessairement sur un travail d’analyse de l’application et de son implĂ©mentation. Cependant il n’est pas toujours facile de rĂ©aliser des estimations fiables ou d’Ă©tayer ses estimations avec un chiffrage prĂ©cis. D’autre part, au fur et Ă  mesure des Ă©volutions il est possible de comparer ces estimations pour identifier des risques qui pourraient ĂȘtre mal Ă©valuĂ©s ou au contraire Ă©valuĂ©s de maniĂšre trop gĂ©nĂ©reuse.

Notre solution analyse l’ensemble des changements rĂ©alisĂ©s Ă  chaque version et des Ă©lĂ©ments concernĂ©s et apporte donc Ă  postĂ©riori une analyse de ce qui a Ă©tĂ© rĂ©ellement fait pour le budget prĂ©vu. Le simulateur d’impact renverse la situation et permet d’Ă©valuer Ă  partir d’un pĂ©rimĂštre Ă  faire Ă©voluer (fonctionnalitĂ©s, exigences, sous-ensemble du code) les impacts liĂ©s Ă  des modifications. Nous n’apportons pas de rĂ©ponse miracle mais des indicateurs pour affiner son estimation ou la comparer avec d’autres estimations ou des versions prĂ©cĂ©dentes.

 

Estimer les charges de test

Généralement la charge de test est évaluée selon différentes méthodes :

    • Comme un ratio du dĂ©veloppement, 10, 20, 50% voire 100% selon les projets, les risques, etc

    • Comme une charge incompressible, par exemple l’exĂ©cution d’une campagne de non-rĂ©gression complĂšte, 3, 8, 20 jours, voire plusieurs mois sur certain projet sur cycle en V

    • Avec des estimations basĂ©es sur les exigences ou les risques (RBT pour Requirement Based Testing ou Risk Based Testing).

DerriĂšre cette estimation se cache aussi des efforts de test diffĂ©rents selon qu’il s’agit des tests unitaires ou d’intĂ©gration rĂ©alisĂ©s par les Ă©quipes de dĂ©veloppement, des tests fonctionnels manuels ou automatiques conçus, maintenus et rĂ©alisĂ©s par la maĂźtrise d’ouvrage. Mais, en termes de test sur le pĂ©rimĂštre concernĂ© par ces Ă©volutions, la diffĂ©rence se situe aussi dans l’existant :

    • Existe-t-il dĂ©jĂ  des tests manuels et peut-on prĂ©voir leur temps d’exĂ©cution ?
    • Y a-t-il un dĂ©ficit de test et sera-t-il nĂ©cessaire de prĂ©voir la conception de nouveaux cas de test ou Ă  minima de prĂ©voir du temps pour des tests exploratoires ?
    • Y a-t-il des tests fonctionnels automatisĂ©s et peut-on prĂ©voir la charge de leur maintenance Ă©ventuelle ? (cf. zoom sur un cas client ci-dessous)

 

Retour d’expĂ©rience : un cas de tests automatisĂ©s
Un client a partagĂ© avec nous l’intĂ©rĂȘt que prĂ©sente pour lui le simulateur d’impact par rapport Ă  la situation qu’il a vĂ©cue rĂ©cemment sur ses tests automatisĂ©s.

Sur une nouvelle version, il n’avait pas Ă©tĂ© anticipĂ© que le pĂ©rimĂštre des modifications nĂ©cessitait de revoir les scripts des tests automatisĂ©s. RĂ©sultat, Ă  la 1Ăšre livraison par l’Ă©quipe de dĂ©veloppement, toute une sĂ©rie de tests de non-rĂ©gression automatisĂ©s sont en Ă©chec. Mais comme cela n’a Ă©tĂ© anticipĂ©, impossible d’intĂ©grer cette charge de maintenance dans le planning de recette. RĂ©sultat un choix difficile Ă  faire :

– On ne passe pas ces tests sur cette version avec les risques associĂ©s

– On retarde la version pour pouvoir corriger ces scripts de test et les exĂ©cuter

– On passe tous ces tests en mode manuel sur cette version si on peut mobiliser les ressources nĂ©cessaires.

Le choix est difficile. Notre client a finalement choisi d’utiliser le Simulateur d’Impact pour anticiper cette situation dans le futur.

 

La rĂ©ponse apportĂ©e par le Simulateur d’Impact est simple, selon les Ă©lĂ©ments concernĂ©s par ces Ă©volutions, il identifie les tests impactĂ©s qu’ils soient manuels (Ă  exĂ©cuter) ou automatiques (Ă  maintenir). Il identifie aussi les « trous de test » c’est-Ă -dire l’Ă©ventuel dĂ©ficit de tests actuel. Ainsi il devient plus facile d’anticiper la charge de test et ses diffĂ©rentes dimensions.

Identifier les risques d’une version

Un usage classique mais frĂ©quent d’une analyse d’impact est d’identifier en amont les potentiels effets de bord d’une Ă©volution ou d’un correctif. Ces derniers peuvent paraitre simples au dĂ©part mais ils ont parfois des effets beaucoup plus importants qu’envisagĂ©s au dĂ©part. Avec pour corrolaire une charge de dĂ©veloppement plus lourde, plus de tests Ă  prĂ©voir, voir une mise en production laborieuse.

Pour rĂ©aliser une analyse des risques rigoureuse, le simulateur d’impact s’appuie sur deux fonctionnalitĂ©s de la plateforme Kalistick :

    • Le modĂšle mĂ©tier de l’application qui reprĂ©sente les sous-ensembles fonctionnels, va faire apparaitre les Ă©lĂ©ments impactĂ©s par ces futures modifications. Cette analyse peut se faire par les exigences ou par les risques lorsqu’un tel modĂšle est utilisĂ© avec des outils comme HP QC.
    • L’empreinte des tests fonctionnels. Le simulateur identifie les tests fonctionnels impactĂ©s par des Ă©volutions avec pour chacun le « nombre d’impacts » pour identifier les plus impactĂ©s.

Remonter l’Ă©tude d’impact au niveau des exigences

Plusieurs de nos clients s’appuient sur une modĂ©lisation des exigences avec une traçabilitĂ© des tests. Dans ce cas, ils bĂ©nĂ©ficient alors d’une remontĂ©e de l’analyse d’impact et des risques au niveau des exigences.

 

PrĂ©sentation du Simulateur d’Impact


Le simulateur d’impact utilise les donnĂ©es capturĂ©es par la plateforme Kalistick pour rĂ©pondre aux besoins prĂ©sentĂ©s ci-dessus. Les donnĂ©es sont constituĂ©es des diffĂ©rentes versions livrĂ©es et scannĂ©es de l’application et des empreintes de test exĂ©cutĂ©s lors de ces prĂ©cĂ©dentes versions. Les Ă©volutions ou corrections Ă  rĂ©aliser seront prĂ©cisĂ©es soit Ă  partir du modĂšle fonctionnel (modules/exigences/risques impactĂ©s), soit Ă  partir des rĂ©sultats d’une Ă©tude technique prĂ©alable qui indiquera les Ă©lĂ©ments du code concernĂ©s (fichiers, packages, classes, mĂ©thodes,
.).

 

Définir le périmÚtre concerné
L’Ă©tude d’impact s’appuie sur l’identification des Ă©lĂ©ments concernĂ©s par les Ă©volutions. Deux solutions sont proposĂ©es pour cela :

 

    • SĂ©lectionner les modules mĂ©tiers
      Cette identification repose sur la dĂ©finition des fonctionnalitĂ©s ou exigences concernĂ©es, et utilise le modĂšle mĂ©tier de l’application. Ainsi dans l’exemple ci-dessous en indiquant le module Workflow, la plateforme retrouve tous les Ă©lĂ©ments du code concernĂ©s par ce module et qui sont dans le pĂ©rimĂštre Ă  faire Ă©voluer.

       

    • Indiquer le code Ă  faire Ă©voluer

      Cette deuxiĂšme option permet d’indiquer directement le code sujet Ă  Ă©volution. Cela suppose que l’Ă©quipe technique a dĂ©jĂ  rĂ©alisĂ© une premiĂšre Ă©valuation technique pour fournir cette liste.

 

Ensuite il faut lancer l’analyse en cliquant sur le bouton « Analyser l’impact » :

 

Interprétation des résultats

Le Simulateur affiche alors une « SynthĂšse » avec le chiffrage de l’Ă©volution en termes de nombre de tests impactĂ©s, de temps d’exĂ©cution de ces tests, des trous de test (dĂ©ficit de test) ou encore de la proportion des modifications au regard de la taille globale de l’application.


Les tests considĂ©rĂ©s comme impactĂ©s sont les tests dont l’exĂ©cution stimule les Ă©lĂ©ments du code Ă  modifier, et il est indiquĂ© le temps estimĂ© pour l’exĂ©cution de tous ces tests. Cette estimation Ă©tant basĂ©e sur le temps de la derniĂšre exĂ©cution de chaque test.

Ainsi, la liste des « Modules impactĂ©s » donne une Ă©valuation des risques. Chaque module qui contient du code Ă  modifier est identifiĂ©, le nombre d’impacts Ă©tant un indicateur du nombre d’Ă©lĂ©ments modifiĂ©s dans chacun d’eux.

 

La liste des « Tests impactĂ©s » prĂ©sente tous les tests concernĂ©s par ces changements dans l’application. Pour chaque test est prĂ©sentĂ© le nombre d’impacts et la durĂ©e de la derniĂšre exĂ©cution.


Les « ElĂ©ments de code impactĂ©s » prĂ©cisent tous les Ă©lĂ©ments pris en compte pour l’estimation de l’impact avec pour chacun le volume de code correspondant (indicateur de risques/charge).


Enfin les « Trous de test » prĂ©sentent tous les Ă©lĂ©ments du code pour lesquels il n’existe aucun test fonctionnel. Un travail avec l’Ă©quipe technique est nĂ©cessaire pour Ă©valuer le risque liĂ© Ă  ce dĂ©ficit de test et la nĂ©cessitĂ© de prĂ©voir la conception de nouveaux cas de test.
D’autre part, la fonctionnalitĂ© « Tests Voisins » permet d’identifier des cas de tests proches dont la dĂ©clinaison peut rĂ©pondre Ă  ce besoin de nouveaux tests. Cela donne aussi une premiĂšre idĂ©e du rĂŽle fonctionnel de ce code dans l’application.

 

Conclusion

Le Simulateur d’Impact de la solution Kalistick rĂ©pond ici Ă  un besoin en amont pour les projets Agile aussi bien que pour les projets sur cycle en V. Il permet l’anticipation pour rĂ©aliser ou confirmer des chiffrages d’Ă©volution et appuyer les dĂ©cisions subsĂ©quentes sur des faits prĂ©cis. Cette nouvelle fonctionnalitĂ© est dĂ©jĂ  dĂ©ployĂ©e et accessible Ă  tous nos clients sur leur Cockpit, et voici le lient pour l’accĂšs direct.

Catégories: Blog Société

Comment Faurecia optimise ses tests avec Kalistick

jeu, 03/07/2013 - 10:50

Alors que la plupart des outils de test et de performance du marchĂ© se heurtent Ă  la complexitĂ© de la brique Dassault System Enovia sur laquelle est basĂ© le PLM de Faurecia, le groupe dĂ©couvre en  Kalistick une solution innovante qui lui permet de rationaliser fortement ses processus de test et d’optimiser sa qualitĂ© logicielle.

Retour sur le dĂ©ploiement de l’outil avec Jean-NoĂ«l Gueutal, PLM  Developpement Team Manager de Faurecia.

Faurecia

Quelques Chiffres

  • Equipementier automobile international
  • CA 2011 : 16,2 M€
  • 270 sites de production dans 33 pays
  • 40 centres de R&D
  • 84 000 collaborateurs Ă  travers le monde

Groupe d’ingĂ©nierie et de production d’équipements automobiles, Faurecia est un des leaders mondiaux dans chacune de ses activitĂ©s : siĂšges, systĂšmes d’intĂ©rieur, technologies de contrĂŽles des Ă©missions et extĂ©rieurs d’automobile.

PrĂ©sent  sur 270 sites dans une trentaine de pays, Faurecia a rĂ©alisĂ© un chiffre d’affaires de 16,2 milliards d’euros en 2011 et emploie actuellement plus de 80 000 personnes.

Il a pour clients la quasi-totalité des constructeurs automobiles mondiaux,  dont ceux des économies émergentes, indiens, chinois et coréens.

Zoom sur le cas Faurecia

    • Application de PLM construite sur la brique Dassault System Enovia
    • Environ 70 000 tests automatisĂ©s
    • Grand nombre de test manuelscomplĂ©mentaires
    • Outils principaux de tests : HP QTP (automatisation) et HP QC (rĂ©fĂ©rentiel)
“Nous avions de vrais doutes sur la capacitĂ© d’une solution comme Kalistick Ă  fonctionner sur notre systĂšme.” Les Enjeux
    • Rationaliser les processus de test et gagner en coĂ»ts/dĂ©lais tout en amĂ©liorant l’efficacitĂ© des tests de non-rĂ©gression
    • Adopter un nouvel outil dans un contexte particuliĂšrement complexe
La solution Kalistick Kalistick, un outil pour monter en qualité sur le PLM (Product Lifecycle Management)

La taille de Faurecia et l’importance de son marchĂ© l’obligent Ă  recourir Ă  une gestion du cycle de vie produit (PLM) rigoureuse et de trĂšs haute qualitĂ©.

Celle-ci est du domaine de compĂ©tence du dĂ©partement EIT (Engineering Information  Technology) dirigĂ© par Eric Borgard et lui-mĂȘme divisĂ© en deux entitĂ©s : la premiĂšre s’occupant de la partie fonctionnelle, en relation avec les mĂ©tiers et Key Users, et la deuxiĂšme gĂ©rant la partie technique : spĂ©cifications techniques, dĂ©veloppements, packaging et tests unitaires selon un cycle en V classique.

Pour Jean-Noël Gueutal, PLM Developpement Team Manager de Faurecia et donc responsable de cette deuxiÚme entité, la qualité logicielle du PLM est un aspect  fondamental de la conception des équipements pour le marché automobile.

«C’est dans ce cadre, que nous nous sommes intĂ©ressĂ©s Ă  Kalistick. Pour l’application PLM – Product Lifecycle Management) de nos produits, nous rĂ©alisons d’ores et  dĂ©jĂ  plus de 70 000 tests automatisĂ©s avec l’outil HP QTP, dont nous pilotons l’exĂ©cution Ă  travers HP QC (rĂ©fĂ©rentiel de tests), que nous utilisons aussi pour formaliser nos tests manuels.»

La solution Kalistick, qui permet de dĂ©tecter les  “trous de tests” entre les diffĂ©rentes versions logicielles, apparaĂźt trĂšs vite comme un outil particuliĂšrement intĂ©ressant pour construire de nouveaux scĂ©narios sur les tests manquants et ainsi amĂ©liorer la couverture de test sur le logiciel PLM  du groupe.

Un challenge de taille : la compatibilitĂ© avec la brique Dassault System Enovia “Nous avions de vrais doutes sur la capacitĂ© d’une solution comme Kalistick Ă  fonctionner sur notre systĂšme car la solution PLM que nous utilisons est colossale : des millions de lignes de code, un mĂ©lange de diffĂ©rents langages (Java, JS, C, TCL, MQL) et diffĂ©rents types d’exĂ©cution (JSP, Servlet, JAR, Programmes compilĂ©s en base de donnĂ©es et exĂ©cutĂ©s en interne)… Ce n’est pas une application Java que l’on pourrait qualifier de “normale”.”MickaĂ«l Bertrand, PLM Technical Expert at Faurecia

Si les Ă©quipes sont donc au dĂ©part sceptiques, c’est Ă©galement en raison de la structure particuliĂšrement complexe et hors-norme de la brique Dassault System Enovia sur laquelle est basĂ© le PLM du groupe, et Ă  laquelle se heurtent la plupart des outils de test et de performance du marchĂ©.

Une donnĂ©e simple suffit d’ailleurs Ă  se faire une idĂ©e de la taille du challenge pour Kalistick : la derniĂšre montĂ©e en version du PLM du groupe a ainsi nĂ©cessitĂ© environ 500 jours/homme de pur dĂ©veloppement Ă  iso-fonctionnalitĂ©s.

Dans un premier temps, un POC (Proof of Concept ou Pilote) a donc été réalisé.

«J’avoue que nous avons Ă©tĂ© positivement surpris de voir que Kalistick rĂ©ussissait du premier coup Ă  enregistrer 100% de l’empreinte des tests et Ă  dĂ©tecter l’impact des changements», dĂ©clare Jean-NoĂ«l Gueutal. Le POC a donc Ă©tĂ© validĂ© par le groupe et l’implĂ©mentation de la solution entĂ©rinĂ©e.

Des conditions d’implĂ©mentation auxquelles se plie parfaitement Kalistick

Les capacitĂ©s d’intĂ©gration qu’offre Kalistick avec les solutions majeures d’automatisation de tests et de rĂ©fĂ©rentiels de tests, que sont respectivement HP Quality Center (QC) et HP Quick Test Pro (QTP), sont Ă©galement un Ă©lĂ©ment-clĂ© pour l’adoption de la solution par Faurecia.

On le comprend aisĂ©ment : il est indispensable pour une entreprise qui rĂ©alise plus de 70 000 tests avec ces solutions leaders de leurs catĂ©gories que tout nouvel outil apporte une valeur importante et complĂ©mentaire, tout en s’intĂ©grant parfaitement.

Enfin, l’aspect hybride «on-premises/Cloud» de Kalistick est un autre point fort de la solution : les modules «Scan de l’application» et «Empreintes de test» qui sont installĂ©s chez le client sont en effet simples Ă  mettre en oeuvre, et l’analyse et les tableaux de bord sont, eux, hĂ©bergĂ©s sur le Cloud.

«Le fait que Kalistick ne nĂ©cessite pas l’installation d’un serveur en interne est un plus», reconnaĂźt MickaĂ«l Bertrand.

Kalistick, un atout-clé pour passer en mode agile

Mais au-delĂ  de ces considĂ©rations purement techniques, Kalistick pourrait bien ĂȘtre un atout non-nĂ©gligeable dans l’évolution que souhaite entreprendre le dĂ©partement EIT du groupe.

«Nous projetons en effet de passer du traditionnel cycle en V vers des méthodes agiles»,

explique Jean-Noël Gueutal.

«Pour cela, afin de pouvoir livrer de nouvelles releases (versions) du PLM plus souvent. Il nous faudra donc encore optimiser les tests. Et si Kalistick permet en aval de dĂ©tecter des trous de tests pour construire de nouveaux scĂ©narios complĂ©mentaires, il permet aussi en amont de mieux sĂ©lectionner les tests qui doivent ĂȘtre jouĂ©s, et ainsi de les optimiser (Ă©viter de tester plusieurs fois la mĂȘme chose) et de les prioriser, ce qui est capital sur des cycles courts.»

Catégories: Blog Société

Partagez la connaissance

Partagez BlogsdeDeveloppeurs.com sur les réseaux sociaux