Plan. Tests. 1. Introduction. 1. Introduction

Dimension: px
Commencer à balayer dès la page:

Download "Plan. Tests. 1. Introduction. 1. Introduction"

Transcription

1 Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter des erreurs dans un programme "Testing is the process of executing a program with the intent of finding errors" [Myers: The Art of Software Testing. 1979] Autres techniques pour valider un programme preuve : modélisation formelle + établissement de théorèmes vérification : ex model-checking Tests : + facile à appréhender, + proche du code, - coûteux à mettre en oeuvre Mais ne garantît pas que le programme est exempt d'erreur on ne teste que ce à quoi on a pensé "Program testing can be used to show the presence of bugs, but never to show their absence!" [Edsger Dijkstra] Tests 3 Lionel Seinturier Objectifs du test de programmes Les tests sont importants ( monde d'accord) mais les tests tendent à être répoussés à la fin d'un projet plus une erreur est découverte tard, plus elle coûte cher L'écriture de test n'est une tâche dévolue ni aux utilisateurs, ni aux managers, ni aux chefs de projet c'est vraiment une activité de programmeur Tests 4 Lionel Seinturier

2 Différentes catégories de tests boîte blanche boîte noire Tests boîte blanche on a accès à la structure du code ex. : calcul de tous les chemins d'exécution possibles (branches, instructions, ) tests sur chacun de ces chemins Différentes catégories de tests boîte blanche boîte noire Tests boîte noire les + courants aucune connaissance des détails d'implémentation n'est nécessaire on s'en remet à la spécification on vérifie que l'implémentation fournit bien le résultat attendu par la spéc avantage : on peut détecter des situations extrèmes qui ne se manifestent que dans certaines branches inconvénients calcul des chemins souvent long il faut avoir accès au code source Tests 5 Lionel Seinturier Tests 6 Lionel Seinturier Différentes granularités de tests unitaire, intégration, système, recettes Tests unitaires test d'une "unité logicielle" procédural procédure OO méthode test indépendant des autres unités les + faciles à mettre en oeuvre les + fréquents nombreux frameworks disponibles Java : JUnit, Cactus, TestNG, JTiger, wikipedia : +90 frameworks!! dans 35 langages Différentes granularités de tests Tests d'intégration test du comportement d'un ensemble d'unités principales techniques : bouchon de tests, mock objects frameworks : Easy Mock, jmock, Mocquer s'utilisent en complément/avec les frameworks de tests unitaires Tests système tests de l'intégration d'une application complète avec son env. d'exécution (OS, VM, librairies, serveurs, ) Tests de recettes tests effectués en présence du client afin de valider l'application complète Tests 7 Lionel Seinturier Tests 8 Lionel Seinturier

3 Éventail de tests possibles Différentes techniques d'écriture de tests Écriture manuelle par le programmeur, ou celui qui connaît la spécification cas le plus fréquent Génération automatique "force brute" ex: JCrasher outil d'évaluation de la robustesse d'un prog. génère des séquences aléatoires d'appels de méthodes dans le but de détecter celles qui font planter le programme par mutation de tests existants on fait varier les paramètres des tests existants afin de détecter les conditions non couvertes par les tests à partir de spécifications formelles du programme Tests 9 Lionel Seinturier Tests 10 Lionel Seinturier Écriture de programmes testables Pour qu'un programme soit "facilement" testable il faut (souvent) prévoir l'accès à l'état ajout de setter/getter il faut éviter au maximum les effets de bord ex. : lecture au clavier, écriture à l'écran, dans un fichier séparer en 2 parties une méthode avec la fonctionnalité à tester une méthode avec les effets de bord qui appelle la précédente souvent refactorisation de l'application pour accéder éléments à tester mieux : penser à la testabilité en écrivant le programme Sélection du code à tester tester les conditions aux limites paramètre null, tableau vide, valeurs max, min, tester les "grandes catégories" (classes d'équivalence) de comportements dans tels cas, la méthode lève une exception dans tels cas, la méthode retourne null dans tels cas, la méthode retourne une valeur particulière tester les invariants du programme propriété à conserver après chaque opération de modification catégories structurels : ex. : index d'une liste [0..taille_liste] sémantiques : ex. : une liste (auto)-triée doit rester triée cohérence de données ex.: dépôts + retraits = solde ex. : prix TTC = prix HT * TVA Tests 11 Lionel Seinturier Tests 12 Lionel Seinturier

4 Sélection du code à tester tester les invariants du programme cohérence de données ex. : même donnée stockée à endroits du programme dans la même unité ou des unités (cm, inch) intégrité référentielle ex. : vérifier que la bidirectionalité dans une association est conservée tester que les préconditions des méthodes sont respectées tester que les postconditions des méthodes sont respectées Tests 13 Lionel Seinturier Sélection du code à tester lien avec la notion d'assertion / contrat notion introduite dans le langage Eiffel [Meyer 85] programming / design by contract mises en oeuvre en Java instruction assert (à partir JDK 1.4) frameworks Contract4J, Jass, jcontractor, JML, Contrats vs tests contrats intrusifs (certes débraillables) : vérifier sur une application qui s'exécute utiles si les conditions d'exécution sont difficilement reproductibles tests off-line ne modifient pas l'application prise en compte + facile de nombreux scenarii d'exécution Tests 14 Lionel Seinturier Sélection du code à tester on n'écrit pas forcément 1 test / méthode du programme pas de test pour setter/getter méthode de 2 lignes, ce que l'on cherche à tester les "services" rendus par une classe Mesure de la qualité des tests Notion de couverture de code (coverage) % de code couvert par des tests (unitaires, intégration, ) on cherche à vérifier que chaque ligne d'un programme est couvert par au moins un test ne garantît pas la correction indicateur sur le "sérieux" d'un ensemble de tests formes % de méthodes, branches, lignes, instructions outils Cobertura, EMMA, Patchwork, Quilt, Tests 15 Lionel Seinturier Tests 16 Lionel Seinturier

5 Test unitaire Test unitaire Code qui évalue le comportement d'une fonctionnalité la fonctionnalité testée est souvent de granularité fine accumulation de tests de "petites portions" d'un programme Exemples fonctionnalité : ajouter une valeur à une liste (auto)-triée test : vérifier qu'une "grande" valeur est bien placée à la fin fonctionnalité : supprimer un pattern dans une chaîne de caractères test : vérifier que le pattern n'y est plus comportement test : code : code Code du test plus petit que le code du comportement à tester ne contient pas de complexité algorithmique (source d'erreurs) souvent de la forme appel méthode + paramètres d'entrées vérification résultat attendu est bien le bon "prouve" que la fonctionnalité fait ce qu'elle est censée faire augmente la confiance dans la correction de la fonctionnalité on est plus enclin à la réutiliser facilite l'intégration Tests 17 Lionel Seinturier Tests 18 Lionel Seinturier Questions auxquelles permettent de répondre des tests unitaires est-ce que mon code fait ce que je veux qu'il fasse? est-ce qu'il le fait dans toutes les conditions? pas seulement dans le cas nominal standard mais aussi en présence d'exception, de buffer overflow, aux conditions limites (valeurs, charge, ) avantage collatéral des tests ils traduisent l'intention du programmeur spécification light Plan Tests 19 Lionel Seinturier Tests 20 Lionel Seinturier

6 Que tester? Right "tout ce qui est susceptible de provoquer un plantage" principe Right-BICEP Right : est-ce que les résultats sont corrects? B (Boundary) : est-ce que les conditions aux limites sont correctes? I (Inverse) : est-ce que l'on peut vérifier la relation inverse? C (Cross-check) : est-ce que l'on peut vérifier le résultat autrement? E (Error condition) : est-ce que l'on peut forcer l'occurrence d'erreurs? P (Performance) : est-ce que les performances sont prévisibles? validation des résultats en fonction de ce que définit la spécification on doit pouvoir répondre à la question comment sait-on que le programme s'est exécuté correctemment? si pas de réponse spécifications certainement vagues, incomplètes la notion de correction peut évoluer au cours du temps en fonction de l'évolution des besoins, des spécifications, tests = traduction des spécifications Tests 21 Lionel Seinturier Tests 22 Lionel Seinturier Boundary conditions identifier les conditions aux limites de la spécification que se passe-t-il lorsque les données sont anachroniques ex. non correctement formattées ex. : vides ou nulles ex. : 0, 0.0, "", null extraordinaires ex. : pour l'age d'une personne dupliquées ex. : doublon dans un Set non conformes ex. : listes ordonnées qui ne le sont pas désordonnées ex. : imprimer avant de se connecter principe "CORRECT" conformance, ordering, range, reference, existence, cardinality, time Tests 23 Lionel Seinturier Boundary conditions Conformance données doivent souvent respecter un format bien particulier format de fichier, (voir RFC 822), URL, tester les cas où les données ne respectent pas le format Ordering l'ordre des données dans une structure peut avoir de l'importance tester les cas où l'ordre n'est pas respecté Range situation où une donnée a moins de valeurs légales que son type ex. int angle invariants : le # de données dans un buffer fini tjrs à [0..max] tester les valeurs qui sont en dehors de l'intervalle Tests 24 Lionel Seinturier

7 Boundary conditions Reference les dépendances de la méthode à tester avec le reste de l'application pré et post-conditions ex. : ne pouvoir faire pop() sur une pile vide cf. les diagrammes états/transitions tester ce qui n'est pas dans le diagramme Boundary conditions Time les cas où l'ordre dans le temps à de l'importance ex. : pas de logout() avant login() Existence que se passe-t-il lorsque la valeur attendue n'existe pas? pas de Client associé à une Facture Cardinality que se passe-t-il avec les valeurs "remarquables"? 0, 1, -1, Integer.MAX_VALUE, Integer.MIN_VALUE, Tests 25 Lionel Seinturier Tests 26 Lionel Seinturier Inverse Cross-check Identifier les relations inverses les algorithmes équivalents (cross-check) qui permettent de vérifier le comportement public void testsquarerootusinginverse() { double x = mysquareroot(4.0); assertequals( 4.0, x*x, ); public void testsquarerootusingstd() { double x1 = mysquareroot(4.0); double x2 = Math.sqrt(4.0); assertequals( x2, x1, ); Error condition Performance Que se passe-t-il en cas de disque, mémoire, plein perte de connexion réseau Est-ce que le système réagit de façon non exponentielle à une montée en charge? ex. : vérifier qu'un élément n'est pas dans une liste vérifier que le temps est linéaire avec la taille de la liste application continue de répondre en présence d'une surcharge du système? quasiment un domaine à part entière nombreux frameworks d'injection de charge et d'identification des parties d'application coûteuses (Eclipse TPTP, ObjectWeb, CLIF, ) Tests 27 Lionel Seinturier Tests 28 Lionel Seinturier

8 Plan Anti-pattern le contraire d'un pattern les mauvaises pratiques à éviter assert manquant asserts multiples utilisation du mauvais assert test trop compliqué dépendances externes récupération d'exceptions non prévues Tests 29 Lionel Seinturier Tests 30 Lionel Seinturier Assert manquant un test qui ne teste rien inutile dans 99% des cas 1% : pas de résultat attendu, mais vérification qu'il n'y a pas d'exception utilité : non regression par rapport à un bug précédent Asserts multiples pas une bonne idée les tests doivent rester courts + facile à comprendre + facile d'identifier les causes des erreurs détectées par les tests - de risque d'erreur dans les tests si besoin de partage de code entre parties à tester setup Asserts multiples public void testsomething() { //... asserttrue(condition1); asserttrue(condition2); asserttrue(condition3); public void setup() { //... public void testsomething1() { asserttrue(condition1); public void testsomething2() { asserttrue(condition2); public void testsomething3() { asserttrue(condition3); Tests 31 Lionel Seinturier Tests 32 Lionel Seinturier

9 Utilisation du mauvais assert appel à asserttrue avec un true codé en dur : non asserttrue( "Object must be the same", expected == actual ); asserttrue( "Objects must be equals", expected.equals(actual) ); asserttrue( "Object must be null", actual == null ); asserttrue( "Object must be non null", actual!= null ); utiliser l'assert correspondant assertsame( "Object must be the same", expected, actual ); assertequals( "Objects must be equals", expected, actual ); assertnull( "Object must be null", actual ); assertnotnull( "Object must be non null", actual ); plus clair précise l'intention du testeur Test trop compliqué il ne faut pas avoir à tester le test pour se convaincre qu'il est bon Dépendances externes éviter les dépendances vers l'environnement SGBD, fichiers, librairies, socket, il ne faut qu'il y ait des éléments trop compliqués à mettre en place sinon les tests ne seront pas exécutés utiliser des mocks pour remplacer les librairies faire en sorte d'inclure toutes les données nécessaires avec les tests s'il faut vraiment un SGBD, envisager l'emploi de SGBD en mémoire (par ex. HSQLDB) Tests 33 Lionel Seinturier Tests 34 Lionel Seinturier Récupération d'exceptions code "normal" récupérer les exceptions tests non public void testcalculation() { try { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); catch(calculationexception ex) { Log.error("Calculation caused exception", ex); raté! JUnit ne détectera pas que le test a échoué Récupération d'exceptions 2ème essai public void testcalculation() { try { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); catch(calculationexception ex) { Log.error("Calculation caused exception", ex); fail("calculation caused exception"); encore raté! test échoue effectivement mais on perd la source de l'erreur (StackTrace) Tests 35 Lionel Seinturier Tests 36 Lionel Seinturier

10 Récupération d'exceptions la bonne solution public void testcalculation() throws CalculationException { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); les exceptions sont ce qui est recherché par les tests Plan Tests 37 Lionel Seinturier Tests 38 Lionel Seinturier Concevoir/refactoriser en vue du test Séparer les préoccupations Concevoir/refactoriser en vue du test Séparer les préoccupations Une préoccupation un ensemble de fonctionnalités ayant un lien logique entre elles notion floue : plus un principe, une "idée" qu'une définition formelle variable : en fonction des développeurs, des besoins, de l'évolution Exemple application de gestion de clientèle ajouter/supprimer clients gérer données client affichage graphique GUI sauver/restaurer les données dans un fichier Tests 39 Lionel Seinturier Tests 40 Lionel Seinturier

11 Concevoir/refactoriser en vue du test Séparer les préoccupations pouvoir tester les différentes parties sans avoir à se préoccuper du reste plus le programme est modulaire plus il est facile à appréhender, concevoir, tester plus les erreurs sont facilement identifiables écriture des tests occasion de refactoriser bénéficie aussi en terme de conception S'organiser pour faciliter la testabilité 1 classe de test par classe à tester nom des classes de test le même que la classe à tester préfixé par Test les classes de test dans le même package mais dans des hiérarchies de répertoire // src/org/foo/maclasse.java test/org/foo/testmaclasse.java fréquence d'exécution des tests chaque fois qu'une nouvelle classe / méthode significative est ajoutée à chaque résolution de bug en cas de travail collabortif (CVS/SVN, ) à chaque récupération des mises à jour à partir du référentiel éventuellement périodiquement (gros projets) Tests 41 Lionel Seinturier Tests 42 Lionel Seinturier Tests dits de non régression chaque découverte de bug doit donner lieu à l'écriture d'un test caractérisant le bug objectif : faire en sorte que le bug ne réapparaisse pas ultérieurement (non régression) Tests et logiciels patrimoniaux (legacy) Bibliographie A. Hunt, D. Thomas. Pragmatic Unit Testing G. Myers, C. Sandler, T. Badgett, T. Thoma. The Art of Software Testing. 2nd Edition. a priori non conçus pour les tests écrire des tests pour les fonctionnalités critiques pour les fonctionnalités dont on sait qu'elles sont mal écrites (donc les + susceptibles de provoquer des erreurs) en fonction des bugs découverts (non regression) Tests 43 Lionel Seinturier Tests 44 Lionel Seinturier

Anti-Pattern de test

Anti-Pattern de test Anti-Pattern de test Anti-pattern : Assert manquant Pas d'assert : un test qui ne teste rien : très souvent inutile "test" affichant le résultat illisible par les autres perte d'automaticité Utilité possible

Plus en détail

Tests orientés objets JUnit

Tests orientés objets JUnit Plan Tests orientés objets JUnit Philippe Collet Retour sur V&V JUnit 4 Rapide tour de JUnit 3 Alternatives à JUnit Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl P. Collet

Plus en détail

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme? Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que

Plus en détail

JUnit 3.8 / JUnit 4. P. Graffion

JUnit 3.8 / JUnit 4. P. Graffion JUnit 3.8 / JUnit 4 P. Graffion février 2015 Objectifs Framework de tests écrit pour faciliter : l écriture de tests tests unitaires tests de recette l exécution de ces tests l exploitation de ces tests

Plus en détail

Cours de Test Logiciel

Cours de Test Logiciel S.Bardin Test Logiciel 1/ 31 Cours de Test Logiciel Leçon 4 : Tests de régression Sébastien Bardin CEA-LIST, Laboratoire de Sûreté Logicielle sebastien.bardin@cea.fr http://sebastien.bardin.free.fr Tests

Plus en détail

Tests unitaires avec JUnit

Tests unitaires avec JUnit Tests unitaires avec JUnit Olivier Mangez Cross Systems o.mangez@cross-systems.com Les tests unitaires : menés par les développeurs au niveau de la classe, de la méthode ils répondent à la question : «est-ce

Plus en détail

JUnit 3.8 / JUnit 4. P. Grafion / Junit v1.4 1

JUnit 3.8 / JUnit 4. P. Grafion / Junit v1.4 1 JUnit 3.8 / JUnit 4 P. Grafion / Junit v1.4 1 Objectifs Framework de tests écrit pour faciliter : l écriture de tests tests unitaires tests de recette l exécution de ces tests l exploitation de ces tests

Plus en détail

Gestion des tests avec JUnit

Gestion des tests avec JUnit Gestion des tests avec JUnit JUnit Outil de gestion des tests unitaires pour les programmes Java, JUnit fait partie d un cadre plus général pour le test unitaire des programmes, le modèle de conception

Plus en détail

Eléments pratiques de test des Hiérarchies et Frameworks

Eléments pratiques de test des Hiérarchies et Frameworks Eléments pratiques de test des Hiérarchies et Frameworks Notes de cours Christophe Dony Master Info Pro - Université Montpellier-II 1 Introduction 1.1 Définitions Génie Logiciel No 18, Mars 1990. EC2.

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30 Examen final 24 avril 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Qu'est-ce qu'un test de régression? Question #2 5% Selon extreme Programming,

Plus en détail

TP JUnit 4.12. Première partie Le premier test d'une classe

TP JUnit 4.12. Première partie Le premier test d'une classe TP JUnit 4.12 Récupérez les deux fichiers junit.jar et hamcrest-core.jar à partir de l'url https://github.com/junit-team/junit/wiki/download-and-install (plus précisément à partir de l'url http://junit.org).

Plus en détail

Méthodes de test. Mihaela Sighireanu

Méthodes de test. Mihaela Sighireanu UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/methtest/ Partie I 1 Propriétés 2 Un peu de génie logiciel de test 3 Eléments Problèmes Point

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011 1 / 29 Développement Web - Unit Testing - JUnit Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 29 Plan Plan 1 Introduction

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

Première partie I. Principe des tests. Tests. Notre problème. Notre problème. Comment s assurer qu un programme «marche»?

Première partie I. Principe des tests. Tests. Notre problème. Notre problème. Comment s assurer qu un programme «marche»? Tests Première partie I Guillaume Wisniewski Principe des tests guillaume.wisniewski@limsi.fr LIMSI Université Paris Sud Septembre 2014 Notre problème Notre problème Comment s assurer qu un programme «marche»?

Plus en détail

Cours JAVA : La fiabilité en Java

Cours JAVA : La fiabilité en Java Cours JAVA : La fiabilité en Java Version 1.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle DANT - 2015/2016

Plus en détail

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs CGI Group Inc. 2013 Agenda 1 2 3 4 5 6 7 Problématiques et enjeux Solutions et fonctionnalités Concepts Exécution et rapport

Plus en détail

Gestion Camping Analyse

Gestion Camping Analyse Gestion de Camping - Analyse 1/27 Projet Cobol Première Partie Gestion Camping Analyse Damien Bironneau Titouan Alasseur Thomas Bechepay Jordane Goffin Le Guillou Thibaud Gestion de Camping - Analyse 2/27

Plus en détail

Gestion de stock facturation : openstock 1.02 juin 2006

Gestion de stock facturation : openstock 1.02 juin 2006 Introduction Gestion de stock facturation : openstock 1.02 juin 2006 Le rapport de stage de Laurent POUCHOULOU décrivant son travail sur la période d Avril à Juin 2006 a été transformé en documentation

Plus en détail

Automatisation en génie logiciel

Automatisation en génie logiciel Automatisation en génie logiciel Plan: Pourquoi et quoi automatiser? Gestion de configuration logicielle. Intégration continue. Traçabilité des changements. Tests unitaires automatisés. 1 Automatisation

Plus en détail

Eléments de génie logiciel. Pratique de la programmation orientée-objet Michel Schinz 2014-02-17

Eléments de génie logiciel. Pratique de la programmation orientée-objet Michel Schinz 2014-02-17 Eléments de génie logiciel Pratique de la programmation orientée-objet Michel Schinz 2014-02-17 1 Génie logiciel Le développement de programmes conséquents comme le projet requiert des techniques d organisation

Plus en détail

Eléments de génie logiciel. Paquetages. Génie logiciel. Nom unique des entités. Pratique de la programmation orientée-objet Michel Schinz 2014-02-17

Eléments de génie logiciel. Paquetages. Génie logiciel. Nom unique des entités. Pratique de la programmation orientée-objet Michel Schinz 2014-02-17 Génie logiciel Eléments de génie logiciel Pratique de la programmation orientée-objet Michel Schinz 2014-02-17 Le développement de programmes conséquents comme le projet requiert des techniques d organisation

Plus en détail

Test et cycle logiciel

Test et cycle logiciel Test et cycle logiciel Fabrice Bouquet JDEV 2013 5 septembre 2013 INRIA / CNRS Université de Franche-Comté Fabrice Bouquet Test 1 / 59 Plan 1 Test 2 Test Structurel 3 Test fonctionnel 4 Calcul de données

Plus en détail

Test et couverture de code Java avec JUnit et SonarQube

Test et couverture de code Java avec JUnit et SonarQube avec JUnit et SonarQube Test en Java avec JUnit 4.x Application au programme Graphab Intégration dans la chaîne de développement Couverture de code avec JaCoCo et SonarQube Test en Java avec JUnit 4.x

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

Vérification et Validation

Vérification et Validation Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

Plus en détail

Environnement de programmation

Environnement de programmation Environnement de programmation 1.La programmation Les ordinateurs sont stupides! à un point dont on n'a pas idée. Ils ne réagissent ni ne répondent qu'à des situations ou à des données anticipées par le

Plus en détail

Programmation Par Objets et Langage Java

Programmation Par Objets et Langage Java Programmation Par Objets et Langage Java Partie I. Fondement de la POO (Modularité/Abstraction) Najib Tounsi Ecole Mohammadia d'ingénieurs, Rabat Année 2011/2012 1ère année Génie Informatique http://www.emi.ac.ma/ntounsi/cours/java/poojavapart-1.pdf

Plus en détail

NFP121, Cnam/Paris JUnit tests pour Android Cnam Paris jean-michel Douin, douin au cnam point fr version en cours

NFP121, Cnam/Paris JUnit tests pour Android Cnam Paris jean-michel Douin, douin au cnam point fr version en cours , Cnam/Paris JUnit tests pour Android Cnam Paris jean-michel Douin, douin au cnam point fr version en cours Notes sur l usage de JUnit3 sous Android Le lecteur intéressé par un cours sur les tests pourra

Plus en détail

Automatisation du Test Logiciel

Automatisation du Test Logiciel S.Bardin Test Logiciel 1/ 54 Automatisation du Test Logiciel Sébastien Bardin CEA-LIST, Laboratoire de Sûreté Logicielle sebastien.bardin@cea.fr http://sebastien.bardin.free.fr Plan S.Bardin Test Logiciel

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Projet M1 : Application P2P Hybride avec RMI

Projet M1 : Application P2P Hybride avec RMI Projet M1 : Application P2P Hybride avec RMI Applications Réparties 2008-2009 Université Paris VIII / Parcours SRM / M1 Sujet : Le but de ce projet est d'implémenter une application de partage de fichiers

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Typage et Analyse Statique

Typage et Analyse Statique Typage et Analyse Statique Cours 1 Emmanuel Chailloux Spécialité Science et Technologie du Logiciel Master mention Informatique Université Pierre et Marie Curie année 2015-2016 Cours 1 - Typage et Analyse

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Erreurs d'exécution (1/3)

Erreurs d'exécution (1/3) Erreurs d'exécution (1/3) Dans tout programme, il peut y avoir des erreurs d'exécution non critiques Exemple : le programme est en train de lire un fichier et il y a un problème d'accès au disque dur.

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

Plus en détail

Tamago: Une plateforme pour des comportements

Tamago: Une plateforme pour des comportements Tamago: Une plateforme pour des comportements d agent sûre Séminaire DESIR Hakim Belhaouari Encadrant: Frederic Peschanski Laboratoire d Informatique de Paris 6 & UMPC Paris Universitas Equipe SMA 18 février

Plus en détail

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

Céline LAURENT Responsable Recette Décisionnel / SI. 28/02/07 Céline LAURENT Décisionnel Projet TEST Page 1 sur 27

Céline LAURENT Responsable Recette Décisionnel / SI. 28/02/07 Céline LAURENT Décisionnel Projet TEST Page 1 sur 27 Céline LAURENT Responsable Recette Décisionnel / SI 28/02/07 Céline LAURENT Décisionnel Projet TEST Page 1 sur 27 LES TESTS Définitions Intérêt Difficultés Les différents tests dans le cycle de vie du

Plus en détail

Mise en œuvre des tests logiciels

Mise en œuvre des tests logiciels Mise en œuvre des tests logiciels support du cours de «Techniques de Développement» Sébastien Faucou Université de Nantes 2007-2008 Plan 1 Introduction 2 Concepts de base Les cibles Les objectifs Les techniques

Plus en détail

Dossier de conception

Dossier de conception Dossier de conception Sujet : Gestion de Stock-Pharma Réaliser par : FADIL Ghizlane ECH CHARFAOUY Abdelouahad Encadré par : M. LACHGAR Mohammed Développement d une application JAVA EE Cadre réservé à l

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Périmètre de la solution

Périmètre de la solution Périmètre de la solution Tests unitaires : Pouvoir créer rapidement un nouveau cas de test à la suite de l ajout ou de l évolution d une règle de gestion. Ne pas avoir à coder chaque nouveau cas de test.

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Tests unitaires avec Visual Studio

Tests unitaires avec Visual Studio Tests unitaires avec Visual Studio (source MSDN) Rappels (initiation aux tests unitaires SI6 Tp6) Les tests unitaires offrent aux développeurs une méthode rapide pour rechercher des erreurs de logique

Plus en détail

Pourquoi et comment tester aujourd hui?

Pourquoi et comment tester aujourd hui? Pourquoi et comment tester aujourd hui??"?"?" ("?"?" Fabrice Bouquet Séminaire "Informatique Scientifique de Besançon" 3 Décembre 2015 INRIA / CNRS Université de Franche-Comté Fabrice Bouquet Test 1 /

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

1 Allée d'enghien CS 90172 54602 VILLERS LES NANCY CEDEX Téléphone 03 83 44 81 81 Fax 03 83 44 38 40 micro6@micro6.fr www.micro6.fr.

1 Allée d'enghien CS 90172 54602 VILLERS LES NANCY CEDEX Téléphone 03 83 44 81 81 Fax 03 83 44 38 40 micro6@micro6.fr www.micro6.fr. 1 Allée d'enghien CS 90172 54602 VILLERS LES NANCY CEDEX Téléphone 03 83 44 81 81 Fax 03 83 44 38 40 micro6@micro6.fr www.micro6.fr Documentation VIII Résolution de problèmes 2006 SOMMAIRE CHAPITRE 1 INTRODUCTION

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech INF380-2013! Sylvie.Vignes@telecomParistech.fr Département INFRES, groupe S3 Cadre du processus 2! q Basé sur un processus incrémental:

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Introduction Delphine Longuet delphine.longuet@lri.fr Logiciel : définitions Ensemble d'entités nécessaires au fonctionnement

Plus en détail

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Web (Persistance) Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2014 1 CM - Séance 8 Organisation logicielle d'une

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Analyse de programme

Analyse de programme Analyse de programme À quoi ça sert? Comment ça marche? Bertrand Jeannet et Alain Girault INRIA Rhône-Alpes 25 janvier 2012 A. Girault et B. Jeannet (INRIA) Analyse de programme 25 janvier 2012 1 / 41

Plus en détail

Tutorat C/Unix : Un Rapido Client/Serveur

Tutorat C/Unix : Un Rapido Client/Serveur Tutorat C/Unix : Un Rapido Client/Serveur Nouredine Melab 1 Description générale du projet 1.1 Objectif L'objectif du projet est de concevoir et de réaliser un jeu de hasard dénommé Rapido. Un serveur

Plus en détail

Typologie du logiciel. Typologie du logiciel. Ordinateur? ORDINATEUR. Computer = Hardware + Software. Ordinateur = Matériel + Logiciel

Typologie du logiciel. Typologie du logiciel. Ordinateur? ORDINATEUR. Computer = Hardware + Software. Ordinateur = Matériel + Logiciel Architecture Logicielle des Systèmes d Information (ALSI) Ordinateur? ORDINATEUR MATERIEL Computer = Hardware + Software Septembre 2010 Sources: GJL, Wikipédia,, Internet Ordinateur = Matériel + Logiciel

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

Java Modeling Language

Java Modeling Language Java Modeling Language Benoit Darties ESIREM ITR4 benoit.darties@u bourgogne.fr Bibliographie Documents références sur JML : http://www.eecs.ucf.edu/~leavens/jml/ http://kalysto.org/~nono/teaching/jml/

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

Plus en détail

Guichet automatique de banque

Guichet automatique de banque Guichet automatique de banque Mastère 2004 1 Guichet automatique de banque : GAB Objectif : Illustrer la vue fonctionnelle et particulièrement la définition des cas d utilisation. 1. Spécification du problème

Plus en détail

Installation de IBM SPSS Modeler Server Adapter

Installation de IBM SPSS Modeler Server Adapter Installation de IBM SPSS Modeler Server Adapter Table des matières Avis aux lecteurs canadiens...... v IBM SPSS Modeler Server Installation de l'adaptateur............ 1 A propos de l'installation de

Plus en détail

Manuel d'utilisation Android

Manuel d'utilisation Android Projet de fin d'année BTS IRIS version 1.7 Manuel d'utilisation Android Réalisé par: Romain Gaillard Version numérique Promo 2014 Lycée Alfred Kastler Tables des matières INSTALLATION :... 3 I. IHM CONNEXION

Plus en détail

Formation UML 2 le diagramme de cas d utilisation

Formation UML 2 le diagramme de cas d utilisation Formation UML 2 le diagramme de cas d utilisation Travaux dirigés 11 au 13 février 2014 Hervé DOMALAIN CPII/DOSO/ED FORMATION UML 2 LE DIAGRAMME DE CAS D UTILISATION Travaux dirigés 1. Enoncé du cahier

Plus en détail

Plan. Initiation au Génie Logiciel. Cours 4. Quelques outils pour le Génie Logiciel

Plan. Initiation au Génie Logiciel. Cours 4. Quelques outils pour le Génie Logiciel Plan Initiation au Génie Logiciel Cours 4 Quelques outils pour le Génie Logiciel 1 Gestion de version 2 Tests unitaires 3 Couverture de tests 4 Génération de documentation T. Genet (genet@irisa.fr) (ISTIC/IRISA)

Plus en détail

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1 L2 Informatique - gr A HLIN406-25 mars 2015 Nom : Prénom : Numéro d étudiant : Contrôle continu 1 Tous documents sur support papier autorisés. Durée : 1h00. L ensemble des réponses sera à donner sur les

Plus en détail

Programmation Orientée Objet. Exceptions et assertions

Programmation Orientée Objet. Exceptions et assertions Programmation Orientée Objet Exceptions et assertions Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Robustesse et Exceptions Error, RuntimeException Exceptions (non)

Plus en détail

Gestion des élections. Aide à l'utilisateur

Gestion des élections. Aide à l'utilisateur Gestion des élections Aide à l'utilisateur Le produit Trois modules distincts : Un module d'administration permettant de définir les élections et de gérer les informations ayant un rapport avec celles-ci.

Plus en détail

Chapitre 4. Le langage PROMELA. (PROcess Meta LAnguage)

Chapitre 4. Le langage PROMELA. (PROcess Meta LAnguage) Chapitre 4 Le langage PROMELA (PROcess Meta LAnguage) PROcess MEta Language [Holzmann] Spécification et vérification de protocoles Abstraction de l'implémentation (niveau conceptuel) Modèle de validation

Plus en détail

XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0

XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0 XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0 Dernière mise à jour : 01/05/2007 Ce plugin a pour but de : Créer la database de vos photos pour XLOBBY, Créer, dans le répertoire "Cache" de Xlobby,

Plus en détail

Principes de Paquetage. Packaging et Marketing

Principes de Paquetage. Packaging et Marketing Génie Logiciel Conception Principes de Paquetage Packaging et Marketing La conception Définition Générale : Activité créatrice qui consiste à élaborer un projet, ou une partie des éléments le constituant,

Plus en détail

Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn

Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn Journée SEE "Certification et méthodes formelles" Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn ONERA Toulouse, 3 février 2004 Jean Gassino (jean.gassino@irsn.fr).

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Introduction à Maven dimanche 29 janvier 2012 10:13

Introduction à Maven dimanche 29 janvier 2012 10:13 Introduction à Maven dimanche 29 janvier 2012 10:13 Vous avez certainement entendu parler de maven, beaucoup ont une idée vague de ce que c'est et d'autres bien qu'ayant une idée claire n'ont jamais expérimenté

Plus en détail

Cours de Test Logiciel

Cours de Test Logiciel S.Bardin Test Logiciel 1/ 41 Cours de Test Logiciel Leçon 2 : Sélection de Tests Sébastien Bardin CEA-LIST, Laboratoire de Sûreté Logicielle Rappels S.Bardin Test Logiciel 2/ 41 Vérification et Validation

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les exceptions Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction Supposez que vous écrivez un programme qui accède

Plus en détail

U.E. Outils et Méthodes Java sous Eclipse, prise en main

U.E. Outils et Méthodes Java sous Eclipse, prise en main U.E. Outils et Méthodes Java sous Eclipse, prise en main Franck Sajous - CLLE-ERSS Ce document est disponible à l'adresse : http://fsajous.free.fr/sdl/sl02358x/4/ 1 Eclipse : prise en main Démarrez Eclipse

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

Vanilla. Installation

Vanilla. Installation Vanilla Installation Guide d'installation de la plateforme Vanilla Charles Martin, Côme Moyne et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com, come.moyne@bpm-conseil.com, patrick.beaucamp@bpm-conseil.com

Plus en détail

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes

Plus en détail

ULCO-L3Info-Projets-CM2

ULCO-L3Info-Projets-CM2 ULCO-L3Info-Projets-CM2 Arnaud Lewandowski, Eric Ramat, Julien Dehos Université du Littoral Côte d Opale 18 juin 2015 A Lewandowski, E Ramat, J Dehos ULCO-L3Info-Projets-CM2 1/44 Sommaire 1 Conception

Plus en détail

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11 Axel Menu Publier facilement et rapidement des applications sous Windows TSE Novembre 2008 - Réf. : axmenuf-11 La reproduction et la traduction de ce manuel, ou d'une partie de ce manuel, sont interdites.

Plus en détail

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP Microsoft Dynamics Installation de Management Reporter for Microsoft Dynamics ERP Date : mai 2010 Table des matières Introduction... 3 Présentation... 3 Configuration requise... 3 Installation de Management

Plus en détail

Exemple de projet. «Gestion de contacts»

Exemple de projet. «Gestion de contacts» Université Paul Valéry Montpellier 3 Antenne universitaire de Béziers L3 AES parcours MISASHS ECUE «Logiciels spécialisés» Exemple de projet «Gestion de contacts» G. Richomme Table des matières 1. Introduction...

Plus en détail

Qualité logicielle, tests, débogage

Qualité logicielle, tests, débogage Qualité logicielle, tests, débogage A. Accro aux tests? Une introduction au test logiciel................ 4 Pourquoi le test logiciel? Des tests, pour gagner du temps! Pour aller plus loin Les objectifs

Plus en détail