La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 MAG-MOD.PPT-GEN-158-v1.0 COMPIL 3 expériences du Scripting.

Présentations similaires


Présentation au sujet: "1 MAG-MOD.PPT-GEN-158-v1.0 COMPIL 3 expériences du Scripting."— Transcription de la présentation:

1 1 MAG-MOD.PPT-GEN-158-v1.0 COMPIL 3 expériences du Scripting

2 Sommaire 25 novembre 2010 COMPIL2 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

3 Sommaire 25 novembre 2010 COMPIL3 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

4 COMPIL4 25 novembre 2010 Magellium SAS créé en : Reprise de la branche Défense de Générale dInfographie Création de Magellium Limited (UK) Reprise de GeoTexel Aujourdhui : Capital : euros Détenu par les fondateurs Fonds propres : euros CA 2009 : 7,4 M 130 personnes Habilitation Défense Agrément Recherche (R&D interne > 15%) Organisme agréé de formation Statut Gazelle (PME de croissance) Espace Environnement & Transport Santé Défense & Sécurité Ingénierie, systèmes & Services Notre marché

5 Sommaire 25 novembre 2010 COMPIL5 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

6 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL6 25 novembre 2010 Problématique Validation dun produit Garantie de la cohérence entre le produit et les spécifications Évaluation de la robustesse du produit (tests en erreurs) Performance et qualité des résultats 1 ère étape : Rédaction dun plan de validation Éléments à contrôler Type de test (nominal, en erreur, cas limite,...) 2 ème étape : Mise en œuvre des tests Environnement des tests Actions (exécutables, paramètres) Données en entrée Données produites 3 ème étape : Rédaction dun rapport dexécution n ème étape : Gestion des évolutions du logiciel (non régression)

7 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL7 25 novembre 2010 Difficultés rencontrées 1 ère étape : Rédaction dun plan de validation Beaucoup de répétitions Changement de qualification 2 ème étape : Mise en œuvre des tests Répétition des actions qui demande beaucoup de concentration Trop de temps à attendre la fin du déroulement des tests Analyse complexe des résultats 3 ème étape : Rédaction dun rapport dexécution Doublons des définitions de tests avec le plan de validation n ème étape : Évolutions du logiciel (non régression) Reprise des tests de la version précédente, sans oubli Vérification de labsence de donnée parasite Comparaison des résultats avec ceux de la version précédente Maintien de la cohérence entre les tests déroulés et les documents

8 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL8 25 novembre 2010 Objectifs de MagVALID Fonctionnalités : Automatisation du déroulement des tests Vérification et comparaison automatique des résultats Génération dun rapport détaillé (HTML, XML, Word, PDF) Rédaction des plan de validation et rapport dexécution Avantages : Gain de temps Pas doubli de tests Ajout dun maximum de tests Lopérateur focalise son attention sur : La préparation des fiches magVALID lors de la 1 ère validation Lanalyse des résultats incorrects La correction des bugs

9 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL9 25 novembre 2010 Caractéristiques techniques Ensemble de modules Python avec des tests types prédéfinis Fonctions dexécution Fonctions de comparaison Fonctions daccès et daffichage Utilisable sur les environnements UNIX, UNIX-like (Linux, Cygwin) et Windows Analyse aisée des déroulements des tests par le biais d'un rapport Html Utilisation possible de magLaTeX pour la génération des rapports au format PDF via LaTeX Export au format RTF pour Word

10 Fonctionnement global COMPIL10 25 novembre 2010 Données en entrée Données de référence magVALID [python] Rapport [RTF] Rapport [PDF] Rapport [HTML] Fiches [XML] Exécution des fiches de tests Génération des rapports À préparer

11 Génération du rapport COMPIL11 25 novembre 2010 MagVALID [python] Plan de validation [PDF] Cahier de validation [PDF] Rapport dexécution [RTF] Rapport dexécution [PDF] Rapport dexécution [HTML] Avec exécution Sans exécution Description des tests avec leurs résultats dexécution (OK, Non OK) Description des tests Même document que le rapport dexécution, sans les résultats (à remplir lors des recettes) Fiches [XML]

12 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau Exemple de rapport COMPIL12 25 novembre 2010 Prise en compte de modèle de document (Word, Latex)

13 Sommaire 25 novembre 2010 COMPIL13 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

14 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL14 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue Les processus dINTEGRATION CONTINUE nécessitent la mise en œuvre de moyens permettant lautomatisation des tâches de génération dun produit logiciel. Exemple des tâches de génération dun produit : Rapatriement des codes sources, Compilation des modules, Exécution des tests unitaires, Analyse qualité des sources, Packaging produits, Génération de la documentation, Emission de rapports dexécution, …

15 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL15 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue Le processus est complexe car : Il met en œuvre un très grand nombre doutils logiciels : cvs, snv, sourcesafe, java, make, gcc, maven, javadoc… Dans des configurations extrêmement variées Dépendant des types de projets, des technologies utilisées, des habitudes dusage de la société, des plateformes de développements de destination… Solutions possibles Uniformiser les méthodologies de production Ok mais que faire de lexistant ? Comment sassurer que la solution sappliquera aux besoins futurs ? Développer un outil IHM « extensible » prenant en compte lensemble des paramètres de configuration possible Chaque cas particulier nécessiterait une mise à jour de loutil… Prise en main des différentes IHM délicate Ensemble de scripts à déclencher. Chacun des scripts décrivant des procédures particulières, adaptées à des besoins propres, à partir de fonctions génériques Prise en compte des erreurs ? Affichages des rapports dexécution ? Problèmes dergonomie

16 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL16 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue La solution adaptée est mixte : Un logiciel daccueil extensible (CruiseControl, Hudson, …) permettant : De définir les étapes du processus De déclencher à échéance régulières la chaîne de génération Daccéder aux rapports dexécutions De définir quelques tâches génériques Des langages de scripts plus ou moins spécifiques à la générations de logiciels : make, shell, ant, … permettant de spécialiser lexécution des tâches de générations Focus sur la solution HUDSON / ANT

17 Le SCRIPTING comme outil indispensable de lIntégration Continue HUDSON Application WEB (facilité de déploiement) Définition de « JOBS » Configuration des étapes du jobs Définition du type détape, du chaînage,.. Plug-in adaptés aux outils les plus utilisés Séquencement des jobs COMPIL17 25 novembre 2010

18 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL18 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue

19 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL19 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue ANT Cest le « Make » des projets JAVA Le « script » ANT utilise le formalisme XML Le « script » est exécuté dans un environnement JAVA Exemple dun script ANT de génération : build.xml

20 Le SCRIPTING comme outil indispensable de lIntégration Continue ANT … Utilisation de variables (properties JAVA) déclarées et initialisées en interne du script ou sous la forme de fichiers de propriétés java Les variables ANT peuvent être surchargées au lancement de lexécution du script COMPIL20 25 novembre 2010 my-file.properties

21 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL21 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue ANT … La bibliothèque native est extrêmement riche et couvre : Des fonctions de gestion darchivages (zip,jar,tar,war …) Des fonctions daudit de sources (jdepend, …) Des fonctions de compilations (javac, depend, apt, …) Des fonctions de déploiements JEE, Des fonctions de documentation (javadoc) Des fonctions de gestion dexécution de tâches (exec, parallel, sleep, waitfor …) Des fonctions de gestion de fichiers (copy, checksum, …) Des fonctions de pré-processing (xslt, import, include, macrodef, …) Des fonctions de gestion de propriétés, Des fonctions dexécution à distance (Rexec, ftp, SShexec, Telnet) Des fonctions daccès aux outils de gestion de conf (cvs, clearcase, visual sourcesafe …) Des fonctions de déclenchement de tests unitaires (junit …) Il existe un grand nombre de librairies dextension : Fonctions « Qualités » : Checkstyle, AntCount,EMMA Documentation : Doxygen, Latex Image Intégration : JNI, … Compilation : C,C++, fortran, CPPtasks

22 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL22 25 novembre 2010 Le SCRIPTING comme outil indispensable de lIntégration Continue Quelques liens https://hudson.dev.java.net/

23 Sommaire 25 novembre 2010 COMPIL23 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

24 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID COMPIL24 25 novembre 2010

25 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL25 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID INGRID : Plateforme de conception, test, expérimentation et capitalisation de traitements et chaines de traitements dédiés à lexploitation et la valorisation dimages Principe général Intégration de composants logiciels (exe, dll, java … ) Exemple : librairie GDAL Identification et description des traitements implémentés par les composants Exemple : Conversion de format dimage, reprojection dune donnée Connexion technique permettant au système INGRID de lancer lexécution dun traitement particulier fourni par un composant Edition de chaîne de traitements par assemblage de traitements successifs Définition de règles facilitant linteropérabilité entre les composants Formats images, type de données, …

26 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL26 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Les règles dinteropérabilité présentent les principes généraux permettant de faire cohabiter les composants dans le système essentiellement dun point de vue technique et préconisent des formats déchanges pivots pour les données usuellement manipulées : images, géométrie.. Les règles ne peuvent pas tout exprimer concernant le formatage des données échangées : Définition dune ROI : Centre + Taille / Points HG + BD, Rapport exprimés en pourcentage ou sur une échelle de 0 à 1, … Travaux dintégration fastidieux nécessitant : Une couches supplémentaire dadaptation pour tous les traitements existants … Un nombre important de petits traitements dadaptation (jetables) ?

27 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL27 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Besoin de maquettage : réaliser de façon quick and dirty des traitements jetables (accès bd, analyse dun répertoire, …) pour un besoin temporaire danalyse sans pour autant mettre en œuvre toutes les procédures dintégration. Méthode légère. Mise en œuvre dune fonction de scripting sous la forme dun traitement générique :

28 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL28 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Implémentation Technique Basé sur la capacité du langage JAVA a exécuter dynamiquement des scripts Moteur dexécution basée sur une interface standardisée (JSR- 223), il existe de nombreux moteurs dexécution prenant en compte des langages de script divers tels que : le javascript (RHINO), Python, Ruby, Tcl … Le Script est exécuté au sein de même la JVM que celle de lapplication appelante Possibilité de partager des données entre lapplication et le script Possibilité dutiliser les services et api proposées par JAVA (y compris les fonctions IHM (awt …)

29 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL29 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Contexte dexécution du Script dans INGRID Lien entre paramètres du traitement et variables du script : Au déclenchement du script: pour chaque paramètre dentrée INGRID renseigné (in_*), une variable portant le nom du paramètre est instanciée. A la fin du script ou lors dun appel à la notification intermédiaire: un paramètre INGRID est généré en sortie du traitement pour chaque variable (out_*) déclarée dans le script. Types gérés actuellement : boolean, int, double, string Des classes de services permettant daccéder aux API INGRID standards ingridCallbackServices : classe des services de log & notification ingridContextServices : classe daccès aux informations du contexte dexécution du traitement

30 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Exemples de script COMPIL30 25 novembre 2010

31 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL31 25 novembre 2010 Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID Quelques liens : Documentation technique sur le « scripting java » op/scripting/ /scripting/programmer_guide/index.html Javacscript RHINO JavaDoc JAVA JRE 1.6

32 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau COMPIL32 25 novembre 2010 Les pièges du SCRIPTING Oui, mais attention : ANT : Logiques récursives pas évidentes, « ticket dentrée » non négligeable Possibilité de créer de véritables usines à gaz difficilement maintenables Certaine fragilité des Scripts face aux programmes compilés (possibilité dédition en phase de runtime, pas de phase de compilation …) Nécessite une gestion en configuration

33 Sommaire 25 novembre 2010 COMPIL33 Exemples dusage du scripting à Magellium 1)Présentation de la société MAGELLIUM 2)Le Scripting comme outil dexécution et de rédaction de plan de test et de validation (MAGVALID) 3)Le Scripting comme outil indispensable des processus dintégration continue 4)Lutilisation du Scripting dans loutil de modélisation de chaînes de traitements INGRID 5)Questions?

34 Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau QUESTIONS? En vous remerciant pour votre attention COMPIL34 25 novembre 2010


Télécharger ppt "1 MAG-MOD.PPT-GEN-158-v1.0 COMPIL 3 expériences du Scripting."

Présentations similaires


Annonces Google