Test et cycle logiciel

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

Download "Test et cycle logiciel"

Transcription

1 Test et cycle logiciel Fabrice Bouquet JDEV septembre 2013 INRIA / CNRS Université de Franche-Comté Fabrice Bouquet Test 1 / 59

2 Plan 1 Test 2 Test Structurel 3 Test fonctionnel 4 Calcul de données de tests 5 Synthèse Fabrice Bouquet Test 2 / 59

3 Plan Test Test Structurel Test fonctionnel Données Synthèse... Introduction 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 3 / 59

4 ... Introduction Validation & Vérification Qui/Pourquoi? Validation : Est-ce que le logiciel réalise les fonctions attendues? Vérification : Est-ce que le logiciel fonctionne correctement? Exemple de méthodes de V & V Test statique : Revue de code, de spécifications, de documents de design Test dynamique : Exécuter le code pour s assurer d un fonctionnement correct Vérification symbolique : Run-time checking, Exécution symbolique Vérification formelle : Preuve ou model-checking d un modèle formel, raffinement et génération de code Fabrice Bouquet Test 4 / 59

5 ... Introduction Pourquoi tester Motivation Ariane 5, Carte à puce en Allemagne, Réseau Orange... Complexité des comportements Erreur dans les spécifications, la conception, ou le programme Défaut (faute) dans le logiciel Défaillance (anomalie de fonctionnement) du programme Quelques chiffres Coût des bogues informatiques : 60 Milliards e/ an 22 Milliards économisés si processus tests Fabrice Bouquet Test 5 / 59

6 Test? Test Test Structurel Test fonctionnel Données Synthèse... Introduction IEEE (Standard Glossary of Software Engineering Terminology) "Le test est l exécution ou l évaluation d un système ou d un composant par des moyens automatiques ou manuels, pour vérifier qu il répond à ses spécifications ou identifier les différences entre les résultats attendus et les résultats obtenus". G. Myers (The Art of Software testing) "Tester, c est exécuter le programme dans l intention d y trouver des anomalies ou des défauts". Edsgar W. Dijkstra. Notes on structured programming. Academic Press, 1972 "Tester peut révéler la présence d une anomalie mais jamais son absence". Fabrice Bouquet Test 6 / 59

7 Plan Test Test Structurel Test fonctionnel Données Synthèse... Dans les faits 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 7 / 59

8 ... Dans les faits Réalité du test Le test est une activité de validation du logiciel Est-ce que le logiciel a été développé correctement en fonction des différentes exigences? Test est une activité pas très populaire Difficultés d ordre psychologique ou culturel : Le développement est constructif car on cherche à établir des résultats corrects Le test est destructif car un bon test est un test qui trouve une anomalie Cependant, le test est une activité centrale : C est un élément principal d amélioration de la qualité logiciel Il peut représenter jusqu à 60% du coût complet du logiciel : 1/3 durant le développement du logiciel 2/3 durant la maintenance du logiciel Fabrice Bouquet Test 8 / 59

9 ... Dans les faits Test dans les technologies de l information Maturité fonction QA/Test : passer d?une approche ad hoc vers une approche réfléchie et cohérente 1 : Top 4 des points d amélioration Europe de l ouest Choisir une méthodologie s intégrant dans un développement agile/composant. Fournir une couverture automatisée de test automatique pour permettre l agilité dans le test Plus se concentrer sur les aspects non-fonctionnels comme la performance, la disponibilité, la sécurité, etc Avoir une stratégie de test qui optimise l usage de services de tests (traditionnel ou cloud). 1. Source IDC European Services, Enterprise Application Testing Survey, March 2011 Fabrice Bouquet Test 9 / 59

10 Plan Test Test Structurel Test fonctionnel Données Synthèse... Dans le cycle de vie 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 10 / 59

11 ... Dans le cycle de vie Développement logiciel et Niveau de test Besoin%client% Test%d accepta)on% Exigences% Test%Système% Concep)on% Test%d intégra)on% Code% Test%unitaire% Fabrice Bouquet Test 11 / 59

12 ... Dans le cycle de vie Cycle de développement en V Fabrice Bouquet Test 12 / 59

13 ... Dans le cycle de vie Méthode Scrum Fabrice Bouquet Test 13 / 59

14 Coût Test Test Structurel Test fonctionnel Données Synthèse... Dans le cycle de vie Mise(en( produc'on( Mise(en( Prod.(1( Mise(en( Prod.(2( Mise(en( Prod.(3( Mise(en( Prod.(n( Coût( Concep'on( Développement( Test( Maintenance( Coût( Concep'on( Développement( Test( Etape(du(projet( Etape(du(projet( Fabrice Bouquet Test 14 / 59

15 ... Dans le cycle de vie Développement Guidé par les Tests (TDD) Développement Dirigé par les Tests Méthode de développement dans les méthodes agiles Préconise l écriture des tests avant le développement du code Début& Ajout&(test)& Refactoring& Exécu/on& Exécu/on& Codage& Fabrice Bouquet Test 15 / 59

16 Plan Test Test Structurel Test fonctionnel Données Synthèse... Bilan 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 16 / 59

17 ... Bilan Acteurs du test Deux situations : 1. Je teste un programme que j ai écrit 2. Je teste un programme que quelqu un d autre a écrit Trois questions : 1. Comment choisir la technique de test? boite blanche ou boite noire? 2. Comment obtenir le résultat attendu? problème de l oracle du test 3. Comment savoir quand arrêter la phase de test? problème de l arrêt Fabrice Bouquet Test 17 / 59

18 ... Bilan Test dynamique Cas(de( tests( Données( de(tests( Résultats( de(tests( Rapport( de(tests( Concep'on( des(tests( Prépara'on( des(données( de(tests( Exécu'on(du( programme( avec(tests( Comparaison( résultats( Fabrice Bouquet Test 18 / 59

19 ... Bilan Type de tests [J. Tretmans] Niveau de détail (situation dans le cycle de vie) système intégration unitaire fonctionnel robustesse performance ergonomie sûreté sécurité Bout en bout module Boite blanche Boite noire Caractéristiques (ce que l on veut tester) Niveau d accessibilité Fabrice Bouquet Test 19 / 59

20 Plan Test Test Structurel Test fonctionnel Données Synthèse... Principe 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 20 / 59

21 ... Couverture Test structurel - Exemple Algorithme 1: short prog3(i) A j = 1 Input : short i 1 short j, r ; B j = 1; while ( i> 0 ) do j = j * i; i = i - 1; if ( j > 1 ) then r = j; else if ( i < 0 ) then r = 0; else r = 1; return r; i > 0 C j = i*j i = i -1 i E R = j j > 1 D i < 0 G r = 0 j F i H r = 1 I return r Fabrice Bouquet Test 21 / 59

22 ... Couverture Test structurel - Tous-les-nœuds A j = 1 B i > 0 i C j = i*j i = i -1 j > 1 D j Données de tests : E R = j F i < 0 i G r = 0 H r = 1 I return r Fabrice Bouquet Test 22 / 59

23 ... Couverture Test structurel - Tous-les-nœuds A j = 1 B i > 0 i C j = i*j i = i -1 j > 1 D j Données de tests : DT1 : [i=1] A B C B D F H I E R = j F i < 0 i G r = 0 H r = 1 I return r Fabrice Bouquet Test 22 / 59

24 ... Couverture Test structurel - Tous-les-nœuds A j = 1 B i > 0 i C j = i*j i = i -1 j > 1 D j Données de tests : DT1 : [i=1] A B C B D F H I E R = j F DT2 : [i=-1] A B D F G I i < 0 i G r = 0 H r = 1 I return r Fabrice Bouquet Test 22 / 59

25 ... Couverture Test structurel - Tous-les-nœuds A j = 1 B i > 0 i C j = i*j i = i -1 j > 1 D j Données de tests : DT1 : [i=1] A B C B D F H I DT2 : [i=-1] A B D F G I E R = j F DT3 : [i=2] A B C B C B D E I i < 0 i G r = 0 H r = 1 I return r Fabrice Bouquet Test 22 / 59

26 ... Couverture Test structurel - Tous-les-arcs A j = 1 B i > 0 i C j = i*j i = i -1 j > 1 D j Données de tests : DT1 : [i=1] A B C B D F H I DT2 : [i=-1] A B D F G I E R = j F DT3 : [i=2] A B C B C B D E I i < 0 i G r = 0 H r = 1 I return r Fabrice Bouquet Test 23 / 59

27 ... Couverture Test structurel - Ts-chemins-indépendants A j = 1 B i > 0 C j = i*j i = i -1 i E R = j j > 1 D j F Nombre de McCabe ν(g) : nbre d arcs - nbre de nœuds + 2 ν(g) = = 4 DT1 : [i=1] A B C B D F H I DT2 : [i=-1] A B D F G I DT3 : [i=2] A B C B C B D E I i < 0 i DT4 : [i=0] A B D F H I G r = 0 H r = 1 I return r Fabrice Bouquet Test 24 / 59

28 ... Couverture Test structurel hiérarchie Tous les chemins Tous les DU-chemins Tous les i-chemins Tous les chemins indépendants Toutes les utilisations Toutes les définitions Toutes les P-Utilisations Tous les arcs (TER2) Tous les nœuds (TER1) Fabrice Bouquet Test 25 / 59

29 Plan Test Test Structurel Test fonctionnel Données Synthèse... Bilan 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 26 / 59

30 Bilan Test Test Structurel Test fonctionnel Données Synthèse... Bilan Bonne Pratique Une classe de code / Une classe de tests Test et classe dans le même "package" Les cas nominaux Les cas tordus / catastrophes Mauvaise Pratique Répertoire(s) mélangeant les sources et les tests Tests triviaux Effets de bord (ordre des tests, états dégradés) Fabrice Bouquet Test 27 / 59

31 Bilan Test Test Structurel Test fonctionnel Données Synthèse... Bilan En résumé, écrire des tests permet : Analyse fine ; Réduction des bogues ; Non-régression du code (refactoring) ; Documentation de votre code ; Développement plus serein ; Efficacité. = Si les tests sont écrits au fur et à mesure Fabrice Bouquet Test 28 / 59

32 ... Bilan Jenkins / Cobertura Fabrice Bouquet Test 29 / 59

33 Plan Test Test Structurel Test fonctionnel Données Synthèse... Exemple 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 30 / 59

34 ... Exemple Test fonctionnel - Exemple Spécification : "Formulaire d enregistrement pour un site web." Fabrice Bouquet Test 31 / 59

35 ... Exemple Test fonctionnel - Exemple Spécification : "Formulaire d enregistrement pour un site web." Login:'!ouquet' Password:' ******' Verifica7on:' ******' Register' Cancel' 5 Cases : 10 tests Login (non) vide (2) Login (n ) existe (pas) (2) Password (non) vide (2) Password et Verification (password réécrit) (ne) sont (pas) les mêmes (2) Protocole http(s) (2) Fabrice Bouquet Test 31 / 59

36 ... Exemple Test fonctionnel - Exemple Spécification : "Formulaire d enregistrement pour un site web." Login:'!ouquet' Password:' ******' Quality( Verifica7on:' ******' Register' Cancel' 6 Cases : 13 tests Login (non) vide (2) Login (n ) existe (pas) (2) Password (non) vide (2) Password et Verification (password réécrit) (ne) sont (pas) les mêmes (2) Protocole http(s) (2) Vérifier qualité / Résistance du password (1 par niveau) : poor, average, good Fabrice Bouquet Test 31 / 59

37 ... Exemple Test fonctionnel - Exemple Spécification : "Formulaire d enregistrement pour un site web." Login:'!ouquet' Password:' ******' Quality( Type'the'word:' Verifica7on:' ******' Register' Cancel' 7 Cases : 15 tests Login (non) vide (2) Login (n ) existe (pas) (2) Password (non) vide (2) Password et Verification (password réécrit) (ne) sont (pas) les mêmes (2) Protocole http(s) (2) Vérifier qualité / Résistance du password (3) Vérifier si enregistrement (non) humain (2) Fabrice Bouquet Test 31 / 59

38 ... Comment? Test fonctionnel Définition Le test fonctionnel vise à examiner le comportement fonctionnel d un logiciel et sa conformité avec la spécification ou les exigences du logiciel. Trois questions sous-jacentes Comment sélectionner des données de test (DT)? Comment construire des cas de tests (CT)? Comment savoir si le test réussit ou échoue? (problème de l oracle) Fabrice Bouquet Test 32 / 59

39 ... Comment? Test fonctionnel Définition Le test fonctionnel vise à examiner le comportement fonctionnel d un logiciel et sa conformité avec la spécification ou les exigences du logiciel. Techniques de calcul des données de test Analyse partitionnelle des domaines des données d entrée et test aux limites Test combinatoire Génération aléatoire Fabrice Bouquet Test 32 / 59

40 ... Comment? Test fonctionnel Définition Le test fonctionnel vise à examiner le comportement fonctionnel d un logiciel et sa conformité avec la spécification ou les exigences du logiciel. Techniques de génération de cas de test Test à partir de modèles : Formels : Automate, B, Z, UML/OCL, SysML.. Contrats : Acsl, Eiffel, JML, Praspel, Spec#... Schéma / scénario : Logique, Exp. régulière, Diag. de Seq... Couverture (exigence) Test combinatoire Génération aléatoire Fabrice Bouquet Test 32 / 59

41 Plan Test Test Structurel Test fonctionnel Données Synthèse... Principe 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 33 / 59

42 ... Principe Produire des données pour le test Données de test = entrées du programme La production de données de test est essentielle, car elle permet de fournir les entrées utilisées pour tester le programme. La couverture exhaustive des entrées d un programme ou d un système à tester est trop complexe pour permettre une couverture exhaustive. Techniques possibles Diverses techniques vont permettre de sélectionner des données de test pertinentes (susceptibles de détecter des erreurs) : données (semi-)réelles (benerator, jailer) analyse partitionnelle approche combinatoire sélection aléatoire Fabrice Bouquet Test 34 / 59

43 Plan Test Test Structurel Test fonctionnel Données Synthèse... Partition / Limite 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 35 / 59

44 ... Partition / Limite Analyse partitionnelle Principe de l analyse partitionnelle L analyse partitionnelle est une technique mathématique issue de l algèbre linéaire qui vise à limiter le nombre de cas de tests. Pour l analyse partitionnelle, on ne considère plus l ensemble des valeurs possibles, mais l ensemble des classes de valeurs possibles (classes d équivalence). Postulats de l analyse partitionnelle le domaine des données d entrée d une fonction se distinguent en classes d équivalence : classes de valeurs valides, et classes de valeurs invalides les classes d équivalence sont mutuellement exclusives C i, C j.c i C j C i C j = l union des classes de valeurs recouvre l ensemble du domaine des valeurs ( C i = E) Fabrice Bouquet Test 36 / 59

45 ... Partition / Limite Les classes d équivalence Illustration des classes d équivalence Test d un ascenceur On souhaite tester un ascenceur. Les fonctionnalités sont les suivantes : Il est borné par un étage minimum : le rez-de-chaussée, il ne descend donc pas plus bas Il est borné par un étage maximum : N, il ne monte donc pas plus haut Fabrice Bouquet Test 37 / 59

46 ... Partition / Limite Les classes d équivalence Illustration des classes d équivalence Test d un ascenceur On souhaite tester un ascenceur. Les fonctionnalités sont les suivantes : Il est borné par un étage minimum : le rez-de-chaussée, il ne descend donc pas plus bas Il est borné par un étage maximum : N, il ne monte donc pas plus haut Partitionnement On considérera les comportements : où l étage est 0 (rez-de-chaussée) où l étage est N (le dernier étage) où l étage est entre les 2 (intervalle de valeurs 1..(N 1)) Fabrice Bouquet Test 37 / 59

47 ... Partition / Limite Les classes d équivalence Définition d une classe d équivalence Une classe d équivalence correspond à un ensemble de données de tests supposés tester le même comportement, c est-à-dire activer le même défaut. Pour effectuer l analyse partitionnelle, on utilise trois phases : 1 Pour chaque donnée d entrée, calcul de classes d équivalence sur les domaines de valeurs, 2 Choix d un représentant de chaque classe d équivalence, 3 Composition par produit cartésien sur l ensemble des données d entrée pour établir les DT. Fabrice Bouquet Test 38 / 59

48 ... Partition / Limite Le test aux limites Principes Le test aux limites est une technique permettant de choisir une valeur précise parmi une classe d équivalence donnée. Principe On s intéresse aux bornes des intervalles partitionnant les domaines des variables d entrées : pour chaque intervalle, on garde les 2 valeurs correspondant aux 2 limites, et les 4 valeurs correspondant aux valeurs des limites ± le plus petit delta possible n v 1 = 3, v 2 = 15, v 3 = 2, v 4 = 4, v 5 = 14, v 6 = 16 si la variable appartient à un ensemble ordonnés de valeurs, on choisit le premier, le second, l avant dernier et le dernier n { 7, 2, 3, 157, 200} v 1 = 7, v 2 = 2, v 3 = 157, v 4 = 200 Fabrice Bouquet Test 39 / 59

49 ... Partition / Limite Le test aux limites Principes Le test aux limites est une technique permettant de choisir une valeur précise parmi une classe d équivalence donnée. Principe On s intéresse aux bornes des intervalles partitionnant les domaines des variables d entrées : si une condition d entrée spécifie un nombre de valeurs, définir les cas de test à partir du nombre minimum et maximum de valeurs, et des tests pour des nombres de valeurs hors limites invalides. Un fichier d entrée contient records, produire un cas de test pour 0, 1, 255 et 256 Fabrice Bouquet Test 39 / 59

50 ... Partition / Limite Types de données aux limites Les données d entrée ne sont pas seulement des valeurs numériques : caractères, booléens, images, son,... des objets. Ces catégories peuvent, en général, se prêter à une analyse partitionnelle et à l examen des conditions aux limites : True / False Fichier plein / Fichier vide Trame pleine / Trame vide Nuances de couleurs Plus grand / plus petit null, this, type hérité... En général, on essaie dans la mesure du possible de jouer sur une caractéristique numérique des données (taille de fichiers, dimensions d une image, etc.) ou de viser des valeurs spécifiques (caractères non affichables, etc.). Fabrice Bouquet Test 40 / 59

51 ... Partition / Limite Valeur limite sur l exemple Login:'!ouquet' Password:' ******' Quality( Type'the'word:' Verifica7on:' ******' Register' Cancel' Variables du formulaire Login : vide, très longue chaine (+256c), login existant, invalide login Password : vide, très longue chaine, même login, poor, average, good Password verification : différent du Password, identique Captcha : la bonne chaine, pas la bonne Fabrice Bouquet Test 41 / 59

52 ... Partition / Limite Synthèse sur l analyse partitionnelle L analyse partitionnelle est une méthode qui vise à diminuer le nombre de cas de tests par calcul de classes d équivalence. Il est important dans la réalisation du choix de classes d équivalence car sinon on risque de ne pas révéler un défaut. Le choix de conditions d entrée aux limites est une heuristique solide de choix de données d entrée au sein des classes d équivalence. Mais cette heuristique n est utilisable qu en présence d une relation d ordre sur la donnée d entrée considérée. Le test aux limites produit à la fois des cas de test nominaux (dans l intervalle) et de robustesse (hors intervalle). Fabrice Bouquet Test 42 / 59

53 ... Partition / Limite Synthèse sur l analyse partitionnelle Pour une variable x i, on considère les données de test DT xi = {di 1,..., di n}. Fabrice Bouquet Test 43 / 59

54 ... Partition / Limite Synthèse sur l analyse partitionnelle Pour une variable x i, on considère les données de test DT xi = {di 1,..., di n}. Qu en est-il lorsqu il y a plusieurs variables en entrée aux systèmes? Fabrice Bouquet Test 43 / 59

55 ... Partition / Limite Synthèse sur l analyse partitionnelle Pour une variable x i, on considère les données de test DT xi = {di 1,..., di n}. Qu en est-il lorsqu il y a plusieurs variables en entrée aux systèmes? Si on veut effectuer la même approche pour n variables, on va construire le produit cartésien des données de test : DT x1 DT x2 DT xn Risque est d avoir un nombre de cas de test qui explose. Pour éviter cela, il faut travailler sur des classes d équivalence portant sur l ensemble des données d entrée. Fabrice Bouquet Test 43 / 59

56 ... Partition / Limite Évaluation du test aux limites Méthode de test très productive en particulier dans les approches fonctionnelles. Le comportement du programme aux valeurs limites n est souvent pas ou insuffisamment examiné. Couvre l ensemble des phases de test (unitaires, d intégration, de conformité et de régression). Inconvénient Caractère parfois intuitif ou subjectif de la notion de limite rend difficile la caractérisation de la couverture de test. Fabrice Bouquet Test 44 / 59

57 Plan Test Test Structurel Test fonctionnel Données Synthèse... Approche combinatoire 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 45 / 59

58 ... Approche combinatoire Approche combinatoire Comment faire lorsque l on a des combinaisons de valeurs de domaines d entrée qui donne lieu à une explosion combinatoire? Options d une boite de dialogue MS Word On a 12 cases à cocher et un menu déroulant pouvant prendre 3 valeurs. Avec 3 valeurs pour la liste déroulante, ceci fait = valeurs possibles. Fabrice Bouquet Test 46 / 59

59 ... Approche combinatoire Approche PairWise Pour réduire la combinatoire entre l ensemble des paramètres, on va chercher à tester un fragment des combinaisons de valeurs. Le choix des valeurs va être guidé pour garantir que chaque combinaison de 2 variables est testé. L idée sous-jacente est que dans la majorité des fautes, elles sont détectées par des combinaisons de 2 valeurs de variables. Fabrice Bouquet Test 47 / 59

60 ... Approche combinatoire Approche PairWise Approche PairWise Soient 4 variables représentant respectivement un système d exploitation, un type de réseau, une imprimante et un type d application bureautique. Chacune possède 3 valeurs possibles. Ceci, nous donne : OS = {XP, Linux, MAC OSX} Réseau = {ATM, Wifi, Bluetooth} Imprimante = {HP35, Canon900, CanonEX} Application = {Word, Excel, Pwpoint} Fabrice Bouquet Test 48 / 59

61 ... Approche combinatoire Approche PairWise Approche PairWise L ensemble des combinaisons donne 81 possibilités alors que seulement 9 cas suffisent pour couvrir toutes les paires. Ceci donne : # Cas OS Réseau Imprimante Application Cas 1 XP ATM Canon-EX Pwpoint Cas 2 XP Bluetooth Canon900 Word Cas 3 XP Wifi HP35 Excel Cas 4 Linux ATM HP35 Word Cas 5 Linux Bluetooth Canon-EX Excel Cas 6 Linux Wifi Canon900 Pwpoint Cas 7 Mac OS X ATM Canon900 Excel Cas 8 Mac OS X Bluetooth HP35 Pwpoint Cas 9 Mac OS X Wifi Canon-EX Word Fabrice Bouquet Test 49 / 59

62 ... Approche combinatoire Approche PairWise Bilan Avantage du PairWise : Permet la réduction du nombre de cas possibles (maîtrise de l explosion combinatoire) Problème du Pairwise : Le choix de la combinaison de valeurs n est peut-être pas celle qui détecte le bogue... Référence Fabrice Bouquet Test 50 / 59

63 Plan Test Test Structurel Test fonctionnel Données Synthèse... Test aléatoire/statistique 1 Test Introduction Dans les faits Dans le cycle de vie Bilan 2 Test Structurel Principe Couverture Bilan 3 Test fonctionnel Exemple Comment? 4 Calcul de données de tests Principe Analyse partitionnelle et test aux limites Approche combinatoire Test aléatoire/statistique 5 Synthèse Fabrice Bouquet Test 51 / 59

64 ... Test aléatoire/statistique Le test aléatoire Principe Il s agit d une approche basée sur la génération des tests d une manière probabiliste. Ainsi, on va utiliser une fonction (aléatoire) de calcul, qui va sélectionner une valeur aléatoire dans le domaine de la donnée d entrée. Uniformité ou pas? Il faut ainsi faire et vérifier des hypothèses d uniformité sur les valeurs des domaines, sinon il faut pouvoir établir des lois statistiques sur le domaine, basées sur les fréquences d apparitions de certaines valeurs, vis-à-vis de la sémantique de la donnée. Exemple : utilisation d une loi de Gauss pour une donnée représentant la taille des individus. Fabrice Bouquet Test 52 / 59

65 ... Test aléatoire/statistique Synthèse test aléatoire Avantages : Processus peu coûteux qui permet de générer les tests. Retire l aspect subjectif du choix des DT par le valideur Inconvénient : Leur qualité dépend du niveau des tests : plus le test est poussé, plus on a de chance d avoir choisi au moins un représentant parmi toutes les classes d équivalence fonctionnelle ou structurelle du programme. Cette automatisation doit être complété par un oracle, qui n est pas toujours facile a établir et encore moins de façon automatique. Fabrice Bouquet Test 53 / 59

66 ... Test aléatoire/statistique Limites du test aléatoire Dans le cas d application de grande taille, avec un grand nombre de variables, il est quasi impossible de produire au hasard des combinaisons d entrée qui sensibilisent des comportements très spécifiques. Algorithme 2: public int methodeimprobable(int x, int y) if (x == 600 && y == 500) then thrown new Exception("Bonne chance pour me trouver"); return (x+y); Limitation du test aléatoire Il est quasiment impossible qu un générateur aléatoire soit capable de sortir les deux valeurs de x et y (type int 2 64 valeurs possibles, 1 chance sur (= 3.4e + 38)) permettant de déclencher l exception. Fabrice Bouquet Test 54 / 59

67 ... Test aléatoire/statistique Bilan du test aléatoire, en pratique Intérêts de l approche aléatoire : Permettre facilement l automatisation pour la sélection des cas de test. Rendre les DT plus objectives car non assujettis aux choix du testeur. % couverture objectif Test déterministe Test aléatoire Effort Tendance : Evolution dans la détection / à l effort (le nombre de test produit). Les études montrent que le test statistique permet d atteindre rapidement 50% de l objectif de test mais qu il a tendance à plafonner ensuite. Fabrice Bouquet Test 55 / 59

68 Plan 1 Test 2 Test Structurel 3 Test fonctionnel 4 Calcul de données de tests 5 Synthèse Fabrice Bouquet Test 56 / 59

69 Plan de test Questions pour le testeur : Comment construire des cas de tests? Comment sélectionner des données de test? Comment savoir si le test réussit ou échoue? Questions pour le développeur : Quel est la testabilité de l application (points de contrôle et d observation)? Comment maintenir la stabilité des interfaces? Livraison est-elle fonctionnelle? Fabrice Bouquet Test 57 / 59

70 Outils Tableur,)Doors,)) HP)ALM,)IBM)Rat.) Requier.)Composer) Exigences) Conformiq,)SmartesGng,) Test)opGmal,)BenderRBT),) Praspel,)JML ) Artéfacts) de)tests) HP,)IBM,)salomeFTM)) Squash)TM,)Testlink) Référen3el) de)tests) Tableur,)Sonar,)) Cobertura,)jenkins) ) ) Rapports) Anomalies) Bugzlla,)Jira,)ManGs,) )Tableur,)Redmine) Scripts) de)tests) IBM)RFT,)Selenium,) HP)QuickTestPro,)Sahi,) XxUnit) Fabrice Bouquet Test 58 / 59

71 Questions Source - Est-ce que vous préférez utiliser un système prouvé ou testé?... cf. les artéfacts utilisés. Fabrice Bouquet Test 59 / 59

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Test et Validation du Logiciel

Test et Validation du Logiciel Test et Validation du Logiciel McInfo4_ASR Tests Janvier 2009 Patrick FELIX patrick.felix@labri.fr IUT Bordeaux 1 Plan Introduction : Pourquoi de la VVT? 1 Introduction au test de logiciels 2 Le test fonctionnel

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

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

Test de logiciel dans les méthodes agiles

Test de logiciel dans les méthodes agiles Test de logiciel dans les méthodes agiles Appliqué au contexte objet (Java) 1 Aspects «théoriques» 2 Aspects pratiques le développement dirigé par les tests en partie inspiré d un cours de Laurie Williams

Plus en détail

Agilitéet qualité logicielle: une mutation enmarche

Agilitéet qualité logicielle: une mutation enmarche Agilitéet qualité logicielle: une mutation enmarche Jean-Paul SUBRA Introduction : le manifeste Agile Manifeste pour le développement Agile de logiciels Nous découvrons comment mieux développer des logiciels

Plus en détail

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,

Plus en détail

Les Bonnes PRATIQUES DU TEST LOGICIEL

Les Bonnes PRATIQUES DU TEST LOGICIEL Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce

Plus en détail

Bruno Legeard Fabrice Bouquet Laboratoire d Informatique de l Université de Franche-Comté

Bruno Legeard Fabrice Bouquet Laboratoire d Informatique de l Université de Franche-Comté Cours Test de Logiciels Bruno Legeard Fabrice Bouquet Laboratoire d Informatique de l Université de Franche-Comté Plan du cours Test de logiciels 1 - Introduction au test de logiciels Définition du test

Plus en détail

Testeur Agile Niveau Fondation 2014 - Bertrand Cornanguer, Vice-chair Agile tester WG

Testeur Agile Niveau Fondation 2014 - Bertrand Cornanguer, Vice-chair Agile tester WG Testeur Niveau Fondation 2014 - Bertrand Cornanguer, Vice-chair tester WG Enquêtes 2013 sur l Agilité Seriez-vous interessé par la certification Testeur? Enquête ISTQB (70 pays juin octobre 2013) Ingénieurs

Plus en détail

La mémorisation des mots de passe dans les navigateurs web modernes

La mémorisation des mots de passe dans les navigateurs web modernes 1 La mémorisation des mots de passe dans les navigateurs web modernes Didier Chassignol Frédéric Giquel 6 décembre 2005 - Congrès JRES 2 La problématique Multiplication des applications web nécessitant

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

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Approche de modélisation des tests de logiciels complexes par un système multi-agents

Approche de modélisation des tests de logiciels complexes par un système multi-agents Ministère de l Enseignement Supérieur et de la Recherche Scientifique Institut National de Formation en Informatique (INI) Oued Smar MEMOIRE Pour l'obtention du diplôme de MAGISTER EN INFORMATIQUE (Option

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

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality Intervenants Thomas d'erceville Project Manager Christian NGUYEN Practice Manager IT Quality 2 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels 1. Contexte général des tests mobiles

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) Travaux soutenus par l ANR Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) 03 Avril 2012 1. Test de sécurité et génération de tests à partir de modèle 2. Le projet SecurTest à DGA Maîtrise de l

Plus en détail

Extrait des Exploitations Pédagogiques

Extrait des Exploitations Pédagogiques Pédagogiques Module : Compétitivité et créativité CI Première : Compétitivité et créativité CI institutionnel : Développement durable et compétitivité des produits Support : Robot - O : Caractériser les

Plus en détail

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE Retour d expérience Benjamin Boutin QA Manager S2E www.s2e-services-epargne-entreprise.com Marc Rambert Director Dynamic Testing Solution Coverity/Synopsys

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Plan. Tests. 1. Introduction. 1. Introduction

Plan. Tests. 1. Introduction. 1. Introduction Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille Lionel.Seinturier@lifl.fr 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter

Plus en détail

CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région de Montpellier 7 ans d expérience

CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région de Montpellier 7 ans d expérience Kévin FISCHER 78, cour Jacques Thibaud 34000 MONTPELLIER Téléphone portable : 06 71 82 46 70 Adresse E-mail : kevinfischer@live.fr 31 ans CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région

Plus en détail

Agile @ Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

Agile @ Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille Agile @ Germe Grenoble 4 22/06/2012 Intervenant: Bruno Sbille 1 Agile @ Germe 2 Bruno Sbille Blog Agile: http://brunosbille.com Coach & Formateur Blog Coaching Personnel: http://brunosbille.com/coachdevie

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

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

Publier dans la Base Documentaire

Publier dans la Base Documentaire Site Web de l association des ingénieurs INSA de Lyon Publier dans la Base Documentaire Remarque : la suppression des contributions n est pas possible depuis le Front-Office. lbuisset Page 1 18/09/2008

Plus en détail

Centre hospitalier Sainte croix

Centre hospitalier Sainte croix Projet Personnel encadré semestre 1 BTS SIO 1 ère année Centre hospitalier Sainte croix 2 nd mission Installation des chercheurs UNIS POUR SOIGNER La nouvelle équipe arrive dans deux mois et la nouvelle

Plus en détail

Séance 1 Méthodologies du génie logiciel

Séance 1 Méthodologies du génie logiciel Séance 1 Méthodologies du génie logiciel Objectifs : Histoire du développement du logiciel. La crise du logiciel. Explorer les différentes méthodologies de développement. Comprendre l importance d adopter

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 SOMMAIRE 1. LE CONSTAT... 2 2. L EXPLICATION... 2 3.

Plus en détail

DEMANDE D INFORMATION RFI (Request for information)

DEMANDE D INFORMATION RFI (Request for information) DOD SEICAM RFI Demande d information EVDEC Réf. : RFI_EVDEC- GT5_Outil_reporting_BI_v4.doc Page 1/11 DEMANDE D INFORMATION RFI (Request for information) OUTIL INTÉGRÉ DE REPORTING ET D ANALYSE DÉCISIONNELLE

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Retour d expérience implémentation Scrum / XP

Retour d expérience implémentation Scrum / XP Retour d expérience implémentation Scrum / XP Bruno Orsier Octobre 2008 p.1 Bruno Orsier, Agile Tour 2008 Grenoble Plan Qui sommes nous? Pourquoi Scrum/XP? Historique de la mise en œuvre Bilan Sondage

Plus en détail

Sauvegarde des fichiers

Sauvegarde des fichiers Sauvegarde des fichiers 1 Hiérarchie des fichiers Stockage à la racine d un disque. Stockage dans un dossier. Stockage dans un dossier utilisateur : problématique de l accès aux fichiers. Stockage sur

Plus en détail

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Conduite de projets SI Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Agilité : de quoi parle-t-on? Agilité de l entreprise Urbanisme Architectures SOA Agilité du SI ERP Plateformes applicatives agiles

Plus en détail

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours IFT3913 Qualité du logiciel et métriques Chapitre 2 Modèles de processus du développement du logiciel Plan du cours Introduction Modèles de processus du développement du logiciel Qualité du logiciel Théorie

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger. Cet ouvrage est fondé sur les notes d un cours dispensé pendant quelques années à l Institut universitaire de technologie de Grenoble 2, au sein du Département statistique et informatique décisionnelle

Plus en détail

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé :

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé : En résumé : Phase I : collecte des besoins I - Expression des besoins II - Étude de faisabilité III - Définition des priorités IV - Rédaction puis validation du cahier des charges Phase II : implémentation

Plus en détail

Bertrand Cornanguer Sogeti

Bertrand Cornanguer Sogeti JFIE 2014 Bertrand Cornanguer Sogeti Trésorier du CFTL Chair du groupe Audit de l ISTQB Vice-chair du groupe Agile Tester de l ISTQB 14/10/2014 Introduction Comme beaucoup de sujets, l ingénierie des exigences

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE Épreuve de cas pratique dans la spécialité correspondant à l'option choisie par le candidat Option D Durée de préparation

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Gestion Projet. Cours 3. Le cycle de vie

Gestion Projet. Cours 3. Le cycle de vie Gestion Projet Cours 3 Le cycle de vie Sommaire Généralités 3 Séquentiel 7 Itératif/Incrémental 17 Extreme Programming 22 Que choisir? 29 Etats Transverse 33 Cours 3 2006-2007 2 Généralités Cours 3 2006-2007

Plus en détail

Solution IT Power Management Gérer la consommation électrique de toute votre infrastructure IT

Solution IT Power Management Gérer la consommation électrique de toute votre infrastructure IT Solution IT Power Management Gérer la consommation électrique de toute votre infrastructure IT Executive Summary Contenu Introduction à JouleX Energy Manager... 3 Contexte client et enjeux... 4 Un enjeu

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

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM Méthodes agiles & SCRUM 1/ Pourquoi les méthodes agiles? Définition d une méthode agile. Fondamentaux. Quand les utiliser? 2/ SCRUM En quoi est-ce une méthode agile? Sprints et releases. Le Product Owner.

Plus en détail

MANUEL DE L UTILISATEUR

MANUEL DE L UTILISATEUR MANUEL DE L UTILISATEUR COMPAS DYNAMIQUE Page 1 / 81 Page 2 / 81 SOMMAIRE PREAMBULE... 7 CHAPITRE 1 :... 9 PRESENTATION DU COMPAS DYNAMIQUE... 9 1 INTRODUCTION... 11 1.1 QU EST-CE QUE LE COMPAS DYNAMIQUE?...

Plus en détail

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 19/04/2007

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 19/04/2007 1 Génie Logiciel (d'après A.-M. Hugues) Gestion de Projet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/0/007 Est-ce bien nécessaire? Principes de gestion = beaucoup d'évidences Pourtant

Plus en détail

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML. Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique Soyez agile Dans l industrie du logiciel, la gestion de projet est confrontée à de nombreux défis. Le principal est de pouvoir assurer l adéquation d un produit et de ses fonctionnalités avec les besoins

Plus en détail

Méthodes Agiles et gestion de projets

Méthodes Agiles et gestion de projets Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact ericleleu@nordnet.fr Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La

Plus en détail

Concilier mobilité et sécurité pour les postes nomades

Concilier mobilité et sécurité pour les postes nomades Concilier mobilité et sécurité pour les postes nomades Gérard Péliks Responsable Marketing Solutions de Sécurité EADS TELECOM 01 34 60 88 82 gerard.peliks@eads-telecom.com Pouvoir utiliser son poste de

Plus en détail

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

Plus en détail

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5 Noël NOVELLI ; Université d Aix-Marseille; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Génie Logiciel LA QUALITE 1/5 La gestion de la qualité Enjeux de la

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

aalto Collaborative Pour le gestionnaire,

aalto Collaborative Pour le gestionnaire, www.ged-web.com aalto Collaborative aalto est une solution collaborative full web, regroupant tous les aspects de la gestion de documents et des process dans l'entreprise, développée avec la technologie

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

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

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

VI. Tests non paramétriques sur un échantillon

VI. Tests non paramétriques sur un échantillon VI. Tests non paramétriques sur un échantillon Le modèle n est pas un modèle paramétrique «TESTS du CHI-DEUX» : VI.1. Test d ajustement à une loi donnée VI.. Test d indépendance de deux facteurs 96 Différentes

Plus en détail

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg. vers plus d agilité F. Miller francois.miller@inpg.fr FC INPG Octobre 2008 - version 1.0 Introduction Contexte Le monde bouge économie des moyens (humains, financier,...) ; recherche de plus d efficacité

Plus en détail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and

Plus en détail

WIFI sécurisé en entreprise (sur un Active Directory 2008)

WIFI sécurisé en entreprise (sur un Active Directory 2008) Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Pas d'utilisation Commerciale 3.0 non transposé. Le document est librement diffusable dans le contexte de

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Exercices sur le chapitre «Probabilités»

Exercices sur le chapitre «Probabilités» Arnaud de Saint Julien - MPSI Lycée La Merci 2014-2015 1 Pour démarrer Exercices sur le chapitre «Probabilités» Exercice 1 (Modélisation d un dé non cubique) On considère un parallélépipède rectangle de

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Développement spécifique d'un système d information

Développement spécifique d'un système d information Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Procédure Qualité Développement spécifique d'un système d information Référence : CNRS/DSI/conduite-proj/developpement/proc-developpement-si

Plus en détail

Le test automatisé des applications web modernes

Le test automatisé des applications web modernes Le test automatisé des applications web modernes Résumé : Aujourd hui, les applications Web sont développées au moyen de différentes technologies AJAX et Web 2.0. Des outils nouveaux et puissants offrent

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

Système de contrôle du trafic d une ligne de métro Dossier de tests

Système de contrôle du trafic d une ligne de métro Dossier de tests Système de contrôle du trafic d une ligne de métro Dossier de tests Tests NI557/STL/M2/INFO/UPMC Action Date Auteur Statut Création 05/03/2012 P.Manoury En cours 1 Description et exigences fonctionnelles

Plus en détail

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1 AOLbox Partage de disque dur Guide d utilisation Partage de disque dur Guide d utilisation 1 Sommaire 1. L AOLbox et le partage de disque dur... 3 1.1 Le partage de disque dur sans l AOLbox... 3 1.1.1

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Scrum Une méthode agile pour vos projets

Scrum Une méthode agile pour vos projets Avant-propos 1. Objectif du livre 17 2. Notre démarche 17 3. Structure du livre 18 4. Remerciements 20 Scrum, une méthode agile avant tout 1. Le grand départ 21 2. La gestion de projet informatique 22

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Les mécanismes d'assurance et de contrôle de la qualité dans un

Les mécanismes d'assurance et de contrôle de la qualité dans un Les mécanismes d'assurance et de contrôle de la qualité dans un projet Agile SPIN de Montréal - ETS 5 mars 2012 Qui sommes nous? mathieu boisvert Coach Agile Chargé de cours Co auteur d un livre avec Sylvie

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail