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

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

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

Transcription

1 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 Systèmes d'informations) Approche de modélisation des tests de logiciels complexes par un système multi-agents Réalisé par : M me HADJ-BOUAZZA née M RAOUI Kamila Devant le jury composé de : Président : Mme H. DRIAS Professeur à l'usthb Rapporteur : Mr M. AHMED NACER Professeur à l'usthb Examinateur : Mme Z. ALIMAZIGHI Maître de conférence à l'usthb Examinateur : Mr D.E. ZEGOUR Professeur à l'ini INI, 2006

2 Remerciements Je tiens à exprimer toute ma gratitude à mon directeur de thèse le professeur M. Ahmed Nacer qui m a fait confiance en acceptant de m encadrer, m a transmis la motivation nécessaire pour mener à bien ce travail ; merci pour votre disponibilité, vos précieux enseignements et vos conseils avisés. Pour m avoir fait l honneur de présider mon jury, je tiens à remercier Mme H. Drias. Je remercie également Mme Z. Alimazighi et Mr D.E. Zegour de me faire l'honneur de faire partie du jury pour juger mon travail.,je remercie : - Les membres de l équipe de la Division Systèmes d'informations (DSI) du Cerist, en particulier Mme F. Admane, Melles Hamida, Lydia, Safia,... - Le personnel de la DPGR et de la bibliothèque de l INI. - Le personnel de la bibliothèque du Cerist en particulier Mr Meftouh. Je tiens à exprimer ma reconnaissance à Mme H. Mellah et Melle L. Mohand-Oussaid pour toute l aide et le soutien qu elles m ont apportés. Je tiens à dire un grand MERCI à toute ma famille, du plus petit au plus grand, pour leurs encouragements, leur soutien, leur patience et leur aide considérable. A Aziz pour sa patience et sa disponibilité, A ma petite Mellina, à ma grande Hafso, A ma mère, pour avoir suscité ma vocation, A mon père, pour ses conseils avisés qui m ont permis d acquérir un esprit de synthèse.

3 Résumé Le test logiciel représente un des moyens les plus efficaces permettant de s assurer du bon fonctionnement des logiciels particulièrement complexes. Mais, le processus de test logiciel en lui-même est assez complexe dans la mesure où un certain nombre de problèmes complexes se posent. Ces problèmes requièrent des solutions adaptées où le temps et l efficacité jouent un rôle important. L automatisation partielle ou globale du processus de test est donc primordiale voir déterminante. Dans cette optique, nous proposons une approche de modélisation du processus de test logiciel par un système multi-agents qui vise à automatiser ce processus. Le système proposé est constitué d agents capables de mener aussi bien les tests dynamiques que les tests statiques d un logiciel. Ces agents sont conçus pour conduire les tests de différents niveaux (unitaires, intégration et système), ainsi que les tests de régression. Les agents de notre système fonctionnent de façon autonome afin d atteindre le taux de détection d erreurs et les délais fixés par le testeur (humain) au départ. Mots-clés : Tests logiciels, agent, système multi-agents, modélisation.

4 SOMMAIRE INTRODUCTION GÉNÉRALE... 1 CHAPITRE I : LES TESTS LOGICIELS... 3 I.1 INTRODUCTION... 3 I.2 DEFINITIONS... 4 I.3 LES NIVEAUX DE TESTS... 5 I.3.1 Les tests unitaires... 6 I.3.2 Les tests d intégration... 7 I.3.3 Les tests système... 9 I.3.4 Les tests d acceptation I.4 LES TYPES DE TESTS I.4.1 Classification des techniques de test I.4.2 Comparaison des techniques de test I.5 LE PROCESSUS DE TEST I.5.1 Phase 1 : modélisation de l environnement du logiciel I.5.2 Phase 2 : sélection des scénarios de tests I.5.3 Phase 3 : exécution et évaluation des scénarios de tests I.5.4 Phase 4 : mesure de la progression des tests I.6 CONCLUSION CHAPITRE II : LES SYSTEMES MULTI-AGENTS II.1 INTRODUCTION PARTIE 1 : ETAT DE L ART II.2 LES AGENTS II.2.1 Définition d un agent II.2.2 Modèle d agent [BON94] II.2.3 Les types d agents II.3 SYSTÈME MULTI-AGENT (SMA) II.3.1 Définition d un SMA II.3.2 Environnement d un système multi-agent II.3.3 L organisation dans un système multiagent II.3.4 Coopération entre agents i

5 II.3.5 Résolution de conflits II Coordination II Négociation II.3.6 Communication entre agents II.3.7 Contrôle et prise de décision II.3.8 Conception d un système multi-agent II Spécification d un agent II Spécification des interactions PARTIE 2 : LES SMA ET LES TESTS LOGICIELS II.4 Travaux sur la modélisation des tests logiciels par les SMA II.5 Discussions II.6 CONCLUSION CHAPITRE III : CONCEPTION III.1 INTRODUCTION III.2 Découpage du problème global en sous-problèmes III.3 Architecture du SMA pour la modélisation du processus global de test III.3.1 Spécification des agents III.3.2 Modélisation globale du processus de test III Modélisation du processus de tests unitaires III Modélisation du processus de tests d intégration III Modélisation du processus de tests système III Modélisation du processus de tests statiques III Modélisation du processus de tests de régression III Modélisation du processus de mesure de la progression des tests III.4 CONCLUSION CONCLUSION GÉNÉRALE BIBLIOGRAPHIE ii

6 Liste des figures : Figure 1 : Niveaux de tests... 5 Figure 2 : Processus de test unitaire...7 Figure 3 : Graphe d appels entre unités (exemple)... 8 Figure 4 : Classification des tests Figure 5 : Les étapes du processus d inspection Figure 6 : Tests «boite noire» Figure 7 : Tests «boite blanche» Figure 8 : Processus de test dynamique Figure 9 : Aperçu externe et général d un agent [MAN02] Figure 10 : Représentation d un agent Figure 11 : Modèle d agent [BON94] Figure 12 : Structure interne d un agent Figure 13 : Architecture fonctionnelle d un agent cognitif Figure 14 : Fonctionnement d un agent réactif Figure 15 : Vue canonique d un système multiagent [JEN00] Figure 16 : Système multi-agent Figure 17 : Architecture du modèle de tableau noir Figure 18 : communication par envoi de messages Figure 19 : Les agents du TAS Figure 20 : représentation du système multi-agent de Dhavachelvan et al. [DHA06] Figure 21 : Découpage du problème global en sous-problèmes Figure 22 : Processus global de test Figure 23 : Architecture globale du système multi-agents pour le processus de test logiciel.. 61 Figure 24 : Représentation graphique de l architecture de communication du processus tests unitaires Figure 25 : Diagramme d activité du processus de tests unitaires Figure 26 : Diagramme de séquence du scénario «parallélisation des tests unitaires» Figure 27 : Représentation graphique de l architecture de communication du processus de tests d intégration Figure 28 : Diagramme d activité du processus de tests d intégration Figure 29 : Diagramme de séquence du scénario «attente d une unité non disponible» iii

7 Figure 30 : Représentation graphique de l architecture de communication du processus tests système Figure 31 : Diagramme d activité du processus de tests système Figure 32 : Représentation graphique de l architecture de communication du processus de tests statiques Figure 33 : Diagramme d activité du processus de tests statiques Figure 34 : Diagramme de séquence du scénario «analyse statique formelle» Figure 35 : Représentation graphique de l architecture de communication du processus tests de régression Figure 36 : Diagramme d activité du processus de tests de régression Figure 37 : Diagramme de séquence du scénario «non adéquation des cas de tests» Figure 38 : Représentation graphique de l architecture de communication du processus de mesure de la progression des tests Figure 39: Diagramme d activité du processus de mesure de la progression des tests Figure 40 : Diagramme de séquence du processus «mesure de la progression des tests» iv

8 Liste des tableaux : Tableau 1 : Comparaison entre les tests «boite noire» et les tests «boite blanche» Tableau 2 : Comparatif entre Agents cognitifs et Agents réactifs [REI90] Tableau 3 : Interdépendances entre sous-problèmes v

9 Introduction générale INTRODUCTION GÉNÉRALE La complexité des logiciels devient de plus en plus importante de nos jours. Les tests logiciels sont le moyen de s assurer du bon fonctionnement des logiciels particulièrement complexes. Par exemple dans le cas de logiciels critiques, les conséquences d une erreur peuvent être très graves (pertes humaines). C est pourquoi des chercheurs, comme des industriels, travaillent au développement de méthodes et d outils efficaces pour automatiser les tests logiciels [GOU04]. D un autre coté, le coût élevé des tests logiciels a lui aussi montré que la nécessité d automatiser les tests devient donc impérative. En effet, l étude menée pour le NIST en 2002 [NIS02] sur l impact de l insuffisance d infrastructure de test dans les développements de logiciels a montré le coût excessif de cette insuffisance qui a été estimé à 60 milliards de dollars pour l économie américaine. Ces aspects importants liés aux tests logiciels nous ont particulièrement motivés dans notre travail. L étude du processus de test logiciel nous a mené au constat qu un certain nombre de problèmes assez complexes existent et sont à résoudre comme par exemple l automatisation des tests statiques, la mesure de la progression des tests, ou la conduite des tests de régression. L approche de résolution par un système multiagents paraît donc appropriée. Les systèmes multi-agents (SMA) permettent de faire coopérer un ensemble d agents dotés d un comportement intelligent et de coordonner leurs buts et leurs plans d actions pour résoudre un problème. 1

10 Introduction générale Le but de notre travail est de proposer une approche de modélisation du processus de test par un système multi-agents. Notre document est organisé en trois chapitres : Le chapitre 1 est une introduction aux tests logiciels. Nous y détaillons les différentes notions relatives au domaine des tests logiciels telles que les techniques utilisées, le processus de test, les niveaux de tests, Le chapitre 2 est structuré en deux parties. Dans la première partie, nous présentons un état de l art sur les systèmes multi-agents. Nous y présentons les différentes définitions relatives au concept «agent». Dans la deuxième partie, nous présentons un résumé de travaux réalisés dans la modélisation des tests logiciels avec le concept d agent. Le chapitre 3 est consacré à la présentation de notre proposition d approche de modélisation du processus de test par un système multi-agents. Cette approche est basée sur un groupe d agents qui interagissent entre eux pour conduire au mieux les tests statiques et les tests dynamiques à différents niveaux de tests (unitaires, intégration, système). 2

11 Chapitre I : LES TESTS LOGICIELS Chapitre I : Les tests logiciels I.1 INTRODUCTION Afin de savoir si un logiciel ne comporte pas d anomalies et répond aux attentes des utilisateurs, les développeurs doivent le soumettre à des tests. Procéder aux tests de logiciels n est pas un processus visant seulement à détecter les éventuelles anomalies, mais aussi à acquérir la confiance nécessaire avant l utilisation opérationnelle du produit logiciel en vue d atteindre la qualité voulue. Vu les coûts liés aux tests en temps et en budget, les développeurs ne procèdent pas systématiquement aux tests de leurs logiciels. En fait, les tests sont indispensables pour des logiciels soumis à d importantes contraintes de sécurité et de fiabilité. En réalité, le problème réside dans la capacité à mettre au point des tests, qui exigent le moins de temps possible dans leur conception et leur mise en œuvre, pour obtenir les résultats (détection d erreurs) les plus performants possibles. Dans ce chapitre nous allons explorer le domaine des tests de logiciels afin de mieux cerner le processus global de test de logiciel. 3

12 Chapitre I : LES TESTS LOGICIELS I.2 DEFINITIONS Avant toute chose, nous allons tenter de définir ce qu est le test de logiciels ainsi que certaines notions utilisées dans ce domaine. Cette définition est issue de la norme IEEE 729: «Le test est un processus manuel ou automatique, qui vise à établir qu un système vérifie les propriétés exigées par sa spécification, ou à détecter des différences entre les résultats engendrés par le système et ceux qui sont attendus par la spécification». Une autre définition [SWE04]: «le test de logiciel consiste en la vérification dynamique du fonctionnement d'un programme sur un ensemble fini de cas de test, convenablement sélectionné parmi le domaine infini d'exécutions, en fonction des spécifications prévues.». Selon Myers [MYE04] : «Le test de logiciel est un processus, ou une série de processus, conçus pour s assurer que le code du logiciel accomplit ce pour quoi il a été conçu, et qu il n accomplit pas d autres choses inattendues». La vérification est «le processus d évaluation d un produit issu d une des activités du développement logiciel, pour déterminer la correction et la cohérence avec les produits ou les normes fournis comme entrée de cette activité» [DOD88]. La vérification sert à répondre à la question : est-ce un système bien fait, conformément aux règles de l art? La validation est «le processus d évaluation d un logiciel pour déterminer sa conformité avec les besoins spécifiés» [DOD88]. Par la validation nous tentons de répondre à la question : est-ce le bon système, répondant aux besoins réels des utilisateurs? Une erreur (error) est une différence entre une valeur ou une condition calculée, observée ou mesurée et la valeur ou condition spécifiée, qui est vraie ou théoriquement correcte [IEE90]. Une faute ou un défaut (fault) est une collection d états du code source d un programme qui cause une panne. [IEE90] 4

13 Chapitre I : LES TESTS LOGICIELS Une panne ou défaillance (failure) est : «l incapacité d un système ou d un de ses composants d effectuer les fonctions demandées dans les conditions de performance spécifiées» [IEE90]. Un oracle de test est une spécification des résultats attendus par le test, qui permet de décider de l échec ou le succès du test. Remarque : les définitions données ci-dessus sont standards dans le domaine du «test logiciel», elles sont différentes de celles utilisées dans le domaine de la «tolérance aux fautes». On déduit, à partir des définitions précédentes, que pour bien conduire les tests, il faudra d abord formuler les fonctionnalités attendues, les contraintes d environnement, ou encore les situations particulières à considérer. Le principal objectif du test de logiciel est de détecter les erreurs pour garantir : La correspondance entre le produit livré et ses spécifications fonctionnelles, et L absence d anomalies l empêchant de fonctionner. I.3 LES NIVEAUX DE TESTS On distingue 4 niveaux de test : 1. Les tests unitaires, 2. Les tests d intégration, 3. Les tests système et 4. Les tests d acceptation. A chaque niveau de test les buts sont spécifiques. Tests unitaires Tests d intégration Tests système Tests d acceptation Figure 1 : Niveaux de tests 5

14 Chapitre I : LES TESTS LOGICIELS Pour tous les types de systèmes, on commence toujours par tester la plus petite unité ou module afin d identifier les fautes fonctionnelles et structurelles, c est ce qu on appelle les tests unitaires. Une fois les tests unitaires effectués et les corrections nécessaires faites, on doit intégrer les différentes unités pour construire le système et tester l intégration. Au niveau des tests d intégration on s intéresse particulièrement aux interfaces. Le test du système commence lorsque tous les composants ont été intégrés avec succès. A ce niveau l accent est mis sur l évaluation de la performance, l utilisabilité, la fiabilité et d autres spécifications relatives à la qualité. L étape suivante est le test d acceptation, qui doit montrer que le produit logiciel satisfait les besoins des utilisateurs. A l issue de cette étape, on devra obtenir un produit validé. I.3.1 Les tests unitaires Une unité est vue comme une fonction ou une procédure implémentée dans un langage procédural. Dans un système orienté-objet, les méthodes et les classes/objets ont été suggérées par les chercheurs comme un choix d unité [BUR02]. Une unité peut représenter également un composant COTS (Component Off The Shelf) de petite taille acheté de chez un vendeur externe et qui subit l évaluation par l acheteur, ou un simple composant récupéré d une librairie de composants réutilisables interne. Les tests unitaires représentent un niveau de test vital. Plus les unités sont petites et simples, plus il sera facile de les tester. Lorsqu une défaillance est révélée par les tests, il est plus facile de la localiser et de la réparer (débogage) du moment que l on ne considère que l unité sous test. Les tests unitaires introduisent le parallélisme dans le processus de test du fait de la possibilité de tester plusieurs unités simultanément. Le but principal des tests unitaires est de comparer les fonctions d une unité par rapport à certaines spécifications. En fait, on ne cherche pas à montrer qu une unité satisfait ses spécifications mais à montrer le contraire, c est-à-dire qu elle contredise ses spécifications. Les tests unitaires sont menés en se basant sur le plan de tests unitaires conçu à l étape de «conception détaillée» du cycle de vie du logiciel. Ce plan met en évidence les spécifications à tester pour chaque unité. Donc, pour préparer les tests unitaires les développeurs ou les testeurs doivent accomplir un certain nombre de tâches : - planifier l approche générale pour effectuer le test des unités ; - concevoir les cas de test, et les procédures de test ; - définir les relations entre les tests ; 6

15 Chapitre I : LES TESTS LOGICIELS - préparer le code auxiliaire nécessaire pour le test unitaire. La conception des cas de test unitaires : La conception des tests unitaires nécessite deux éléments : une spécification de l unité et son code source. Typiquement, la spécification définit les entrées et les sorties de l unité. Les tests unitaires sont en grande partie orientés «boite blanche». Mais lorsqu on teste de grandes unités comme le programme entier, les tests «boite blanche» deviennent moins efficaces [BUR02]. Les tests unitaires sont également appelés tests de composants. Toutefois, les tests de composants sont parfois classés à un niveau de tests plus élevé que les tests unitaires. Cela peut être le cas des systèmes contenant des composants pouvant être testés individuellement, et qui contiennent eux-mêmes plusieurs unités. Dans d'autres cas, certains font la différence entre tests unitaires et tests de composants en fonction du degré d'isolement des modules. Dans les tests unitaires, les unités appelées sont remplacées par des bouchons (stubs), et les unités appelantes sont remplacées par des pilotes (drivers), de façon à isoler les unités en cours de test. U i (unité à tester) P i (plan de tests de U i ) Cas de Tests pour U i Test unitaire Rapport de test de U i Procédure de test de U i Figure 2 : Processus de test unitaire I.3.2 Les tests d intégration Dans les tests unitaires, le testeur tente de détecter les fautes relatives aux fonctionnalités et la structure de l unité. Quelques tests d interface simples sont réalisés lorsque les unités interagissent avec des pilotes (drivers) et des bouchons (stubs). Par ailleurs, les interfaces sont plus adéquatement testées lors des tests d intégration lorsque chaque unité est connectée aux unités avec lesquelles elle interagit. L assemblage ou le 7

16 Chapitre I : LES TESTS LOGICIELS processus d intégration permet de constituer un système complet prêt à être testé lors de la phase suivante «tests système». Les tests d intégration devraient être exécutés sur des unités qui ont été corrigées et qui ont passé les tests unitaires avec succès. Pour effectuer les tests d intégration, il faudra adopter une stratégie d intégration. Il existe plusieurs stratégies parmi les plus connues : la stratégie top-down, la stratégie bottom-up, et la stratégie big-bang. Les tests d intégration se basent sur le graphe d appel entre les unités. En se basant sur le graphe d appel, il sera plus simple d appliquer la stratégie choisie. U1 U2 U3 U4 U5 Figure 3 : Graphe d appels entre unités (exemple) La stratégie TOP-DOWN (descendante): Le test d intégration «Top-Down» consiste à intégrer les unités en commençant par la racine du graphe (sommet). La première unité est ainsi intégrée aux unités qu elle appelle au fur et à mesure, puis la même procédure est appliquée pour chaque unité intégrée [MYE04]. Dans l exemple de la Figure 3, l intégration Top-Down se fera comme suit : on teste l intégration de U1 avec U2, puis on teste l intégration de (U1+U2) avec U3, puis on teste l intégration de (U1+U2+U3) avec U4, puis on teste l intégration de (U1+U2+U3+U4) avec U5. La stratégie BOTTOM-UP(ascendante) : L intégration «Bottom-Up» consiste à intégrer les unités en commençant par les unités qui sont à la base du graphe (feuilles). Ces unités sont d abord testées (tests unitaires), puis pour 8

17 Chapitre I : LES TESTS LOGICIELS chaque unité on intègre, au fur et à mesure, les unités qui l invoquent. La même procédure est appliquée pour chaque unité intégrée [MYE04]. Dans l exemple de la Figure 3, l intégration Bottom-Up se fera comme suit : on teste l intégration de U5 avec U3, puis on teste l intégration de (U5+U3) avec U4, puis on teste l intégration de (U5+U3+U4) avec U2, puis on teste l intégration de (U5+U3+U4+U2) avec U1. La stratégie BIG-BANG : Le test d intégration «Big-Bang» consiste à assembler toutes les unités en même temps et à exécuter l ensemble. Cette technique n est pas adaptée aux systèmes complexes, car les erreurs sont difficilement localisables. Une intégration big-bang progressive, c est-à-dire l intégration d une ou de quelques unités à la fois, est plus efficace pour la localisation des erreurs [HAN02]. Dans l exemple de la Figure 3, l intégration Big-Bang se fera comme suit : On teste l intégration de (U1+U2+U3+U4+U5). I.3.3 Les tests système Les objectifs des tests système sont de détecter les fautes relatives au comportement du système global, plutôt que le comportement de chacun des éléments, et de tester le logiciel dans son fonctionnement global. Ce niveau d'évaluation implique le système dans sa globalité, et pas seulement les interactions entre unités. Le but des tests système est de s assurer que le système est en accord avec les besoins. A cette étape, les testeurs doivent disposer d un plan de tests système élaboré à l issue de l étape d analyse des besoins. Ce plan doit contenir un plan de tests maître et les tests boite noire à effectuer. Il doit contenir, aussi, les approches de tests à utiliser, les coûts et les délais à respecter, les cas de tests et les procédures de tests. Les tests système permettent d évaluer les caractéristiques de la qualité requises telles que la fiabilité, l utilisabilité, la performance et la sécurité. A ce stade, il sera spécialement utile de pouvoir détecter des défaillances dans les interfaces logicielles et matérielles externes, par exemple, celles qui causent des conditions extrêmes, des verrous, des problèmes d interruption et de traitement des exceptions, et l utilisation inefficace de la mémoire. Afin de tester les différentes caractéristiques de la qualité, il existe plusieurs types de tests système parmi eux [MYE04][JAC03]: 9

18 Chapitre I : LES TESTS LOGICIELS 1. les tests de fonctionnalité : consistent à tester si le système accomplit les fonctions pour lesquelles il a été conçu. 2. les tests de volume : consistent à tester si le système est capable de manipuler un gros volume de données spécifié dans les besoins. 3. les tests de stress : consistent à tester la réaction du système face à une charge de traitements importante dans un temps limité. On teste, ici, s il n y pas de problèmes de manque de ressources ou de concurrence pour l utilisation des ressources. 4. les tests d utilisabilité : ce type de tests s intéresse au facteur humain. Il s agira de sélectionner un sous ensemble représentatif d utilisateurs potentiels afin de tester le système. 5. les tests de sécurité : consistent à tester les propriétés de sécurité que le système doit assurer telles que la disponibilité, l intégrité, la confidentialité des données et des services. Le but de ces tests est de révéler les failles de sécurité. 6. les tests de performance : consistent à tester la performance du système en révélant ses défaillances en terme de temps de réponse ou encore de capacité de traitement sous certaines conditions. 7. les tests de configuration : consistent à tester le système de façon à vérifier s il fonctionne dans les différentes configurations (réseaux, systèmes d exploitation, ) pour lesquelles il a été conçu. 8. les tests de fiabilité : consistent à tester les propriétés de fiabilité du système spécifiées dans les besoins. I.3.4 Les tests d acceptation Une fois les tests système achevés, on passe à l étape des tests d acceptation. Les tests d acceptation consistent à mettre le logiciel à la disposition du client afin que les utilisateurs potentiels puissent l évaluer dans les conditions réelles. Un plan de test est conçu en collaboration avec les clients afin de déterminer les cas de test à considérer lors des tests d acceptation. Pour les logiciels destinés à un client précis, on parle de tests d acceptation. Alors que pour les logiciels complexes destinés à un large marché, on parle de tests Alpha et de tests Béta. Les tests Alpha sont faits sur le site du développeur par les utilisateurs potentiels. Les développeurs relèvent les problèmes rencontrés afin de les corriger. 10

19 Chapitre I : LES TESTS LOGICIELS Les tests Béta sont faits en dehors du site du développeur, les utilisateurs potentiels testeront ainsi le logiciel dans des conditions réelles, et rapportent les problèmes rencontrés aux développeurs. I.4 LES TYPES DE TESTS Les différentes approches de tests (dynamique et statique) sont importantes, car le but est de détecter la présence de fautes ou de prouver leur absence. La première définition du test de logiciels, présentée précédemment, fait ressortir deux types de test : les tests statiques et les tests dynamiques, et donc assimile la vérification au test de logiciel. Alors que la deuxième définition ne considère que la partie dynamique de la vérification comme faisant partie de l activité de test. I.4.1 Classification des techniques de test Les différentes techniques de tests peuvent être classées en fonction de la stratégie de test choisie. Ainsi, Huey-Der Chu [CHU97] propose une classification selon le but des tests : 1. doit-on exécuter le logiciel pour le tester? si oui, le test sera dynamique, sinon le test sera statique. 2. doit-on examiner le code source dans le test dynamique? si oui, on utilisera le test boite blanche, sinon ce sera le test boite noire. 3. doit-on examiner la syntaxe du code source dans le test statique? si oui, on fera un test syntaxique, sinon un test sémantique. 4. comment se fait la sélection des données de test? les données de tests sont sélectionnées selon que la technique utilisée soit un test fonctionnel, un test structurel ou encore un test aléatoire. 5. quel type de données de test doit être généré? dans le test déterministe, les données de test sont prédéterminées par un choix sélectif en fonction du critère adopté. Dans le test aléatoire, les données de test sont générées en fonction d une distribution de probabilité sur l ensemble des données de tests possibles (input domain). 11

20 Chapitre I : LES TESTS LOGICIELS Tests logiciels Statique Dynamique Syntaxique Sémantique Boite noire Boite grise Boite blanche Figure 4 : Classification des tests Dans ce qui suit, nous allons détailler les différentes techniques de tests. Les techniques de test existantes sont divisées en deux catégories : les tests statiques et les tests dynamiques. Les techniques de tests statiques sont utilisées pour examiner le logiciel sans l exécuter ; les techniques de tests dynamiques requièrent la génération de cas de tests pour l exécution du logiciel. I Les tests statiques Les techniques de tests statiques permettent d examiner, de façon manuelle ou automatique, les représentations du système (documents de spécifications, diagrammes de conception, code source du logiciel, ) sans avoir à exécuter le code du logiciel. Le but étant de s assurer qu aucune erreur n a été introduite durant le processus de développement du logiciel, donc la vérification des spécifications est ici très importante. Les tests statiques peuvent porter sur l examen de la syntaxe ou de la sémantique du code source. On peut diviser les techniques de tests statiques en deux groupes, les techniques informelles et les techniques formelles. Dans la pratique, les techniques informelles sont axées sur l examen de la syntaxe, alors que les techniques formelles sont plus axées sur l examen de la sémantique. Parmi les techniques de tests statiques les plus utilisées, il y a les inspections de programmes, l analyse des anomalies, l évaluation symbolique, et la vérification formelle basée sur les mathématiques. 12

21 Chapitre I : LES TESTS LOGICIELS a) Les techniques informelles Parmi les techniques de tests informelles, il y a les inspections, l analyse des anomalies, et l évaluation symbolique. a.1. L inspection de programme : L inspection de programme est une sorte de revue. Les revues sont de trois types [SOM92] : - les revues relatives aux décisions de gestion de projet, - les revues relatives à la stratégie de conception, et - les revues qui visent à vérifier le logiciel, qui sont parfois appelées «inspections de programme». Le but d une inspection est d analyser le code et d indiquer les défauts possibles qui s y trouvent. Les inspections de programme peuvent aussi être utilisées pour l examen statique de tout produit logiciel qui résulte de n importe quel stade du processus de développement logiciel (spécification des besoins, conception, documentation, ). Une inspection suit un processus structuré. En général, une inspection est entreprise par une petite équipe composée d un minimum de quatre personnes. Les rôles des membres de l équipe sont répartis comme suit : L auteur : qui est le programmeur ou le concepteur du ou des composants à inspecter. Le lecteur, dont le rôle est de présenter le code à l équipe lors de l inspection. Le testeur qui inspecte le code du point de vue des tests (dynamiques). Le modérateur qui dirige l inspection et motive les autres membres de l équipe. Planification Panorama Préparation individuelle Inspection de programme Re-travail Ré-inspection Figure 5 : Les étapes du processus d inspection 13

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

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

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Projet Informatique Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Réalisation d'un développement de taille conséquente? r Firefox? Ph.

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1 Génie logiciel Concepts fondamentaux Bruno MERMET, Université du Havre 1 Nécessité du Génie Logiciel Bruno MERMET, Université du Havre 2 Développement d un logiciel Caractéristiques souhaitées : Adéquation

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Informatique Première et seconde années

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

IFT2251 : Génie logiciel

IFT2251 : Génie logiciel Julie Vachon, Hiver 2006 IFT2251 : Génie logiciel Chapitre 5. Conception Section 3. Principes et qualités Conception : principes et qualités 1. L activité de conception 2. Principes de conception 3. Concevoir

Plus en détail

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Les méthodes formelles dans le cycle de vie Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Plan Introduction Différentes utilisations possibles Différentes techniques pour différentes propriétés à différents

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

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

CTE Éditeur de classification arborescente pour spécifications du cas de test

CTE Éditeur de classification arborescente pour spécifications du cas de test Tessy Test d intégration et unitaire dynamique automatisé pour des applications embarquées CTE Éditeur de classification arborescente pour spécifications du cas de test Le meilleur outil de test unitaire

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

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel Test logiciel Objectif et plan du du cours Présenter les concepts de base sur le test logiciel Introduire des techniques simples pour construire des tests A partir de la spécification informelle du programme

Plus en détail

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

Introduction au développement du logiciel

Introduction au développement du logiciel Introduction au développement du logiciel Vers le génie logiciel Université de Nantes Master Miage M1 Plan 1 Introduction 2 Génie logiciel 3 Projet informatique 4 Méthode de développement 5 Qualité Bibliographie

Plus en détail

Analyse et modélisation de tâches

Analyse et modélisation de tâches Analyse et modélisation de tâches 1. Introduction La conception de logiciel interactif (ou conception d'interface homme-machine [IHM], ou conception d'interface) est l'activité qui vise à définir le fonctionnement

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

Mongi TRIKI Docteur en Informatique Université Paris Dauphine

Mongi TRIKI Docteur en Informatique Université Paris Dauphine Université Méditerranéenne Libre de Tunis Faculté Méditerranéenne Privée des Sciences Informatiques, Economiques et de Gestion de Tunis Département d Informatique LICENCE INFORMATIQUE Guide du Stagiaire

Plus en détail

Conduite de projets et architecture logicielle

Conduite de projets et architecture logicielle s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 /

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

II.2 Développement des systèmes logiciels

II.2 Développement des systèmes logiciels II.1 Introduction Dans le domaine de réseaux électriques, on constate que l'application de la MOO (Modélisation orientée objets) à beaucoup d avantages vue que la structure physique d un réseau électrique

Plus en détail

Exemple de développement d une application

Exemple de développement d une application Exemple de développement d une application Département Informatique TELECOM SudParis 1ère année Dépt INF 2009/2010 Table des matières Exemple de développement d une application Département Informatique,,

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

Modélisation des Systèmes d Information Jean-Yves Antoine

Modélisation des Systèmes d Information Jean-Yves Antoine Modélisation des Systèmes d Information Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine Processus de développement logiciel Jean-Yves Antoine U. Bretagne Sud - UFR SSI - IUP Vannes année 2001-2002

Plus en détail

Analyse de l activité

Analyse de l activité Plan et liens avec UE2-15 Fondamentaux des IHM (M2 UE2-6) Valérie Renault valerie.renault@lium.univ-lemans.fr Analyse préalable de l activité [UE2-6] (cours / TP) Spécifications cahier des charges et spécifications

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

6761 Validation de la conformité 21.03.2007

6761 Validation de la conformité 21.03.2007 6761 Validation de la conformité 21.03.2007 Peter DAEHNE 1 Tests de stress Les tests de stress permettent d étudier le comportement du logiciel lorsque celui-ci est mis dans des situations extrêmes, aux

Plus en détail

LES TESTS. Les tests. Organisation d un projet de recette Les types de tests Les outils

LES TESTS. Les tests. Organisation d un projet de recette Les types de tests Les outils Les tests Organisation d un projet de recette Les types de tests Les outils Organiser le déroulement des tests Spécifier Exécuter les Cahiers de tests les Cahiers de tests Analyser les résultats Correction

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

Sémantique des Langages de Programmation

Sémantique des Langages de Programmation Sémantique des Langages de Programmation Introduction Stefano Guerrini stefano.guerrini@univ-paris13.fr LIPN - Institut Galilée, Université Paris Nord 13 Sup Galillée Informatique, 1ère année 2009 2010

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

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

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

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

GÉNIE LOGICIEL (SOFTWARE ENGINEERING)

GÉNIE LOGICIEL (SOFTWARE ENGINEERING) GÉNIE LOGICIEL (SOFTWARE ENGINEERING) 5ÈME PARTIE UML (UNIFIED MODELING LANGUAGE) Faculté des Sciences et Techniques http://labh-curien.univ-st-etienne.fr/~fj/gl Francois.Jacquenet@univ-st-etienne.fr Plan

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Avant de commencer Au sommaire de ce chapitre

Avant de commencer Au sommaire de ce chapitre 1 Avant de commencer Au sommaire de ce chapitre Configuration requise pour utiliser Visual Basic 2010 Les différentes versions de Visual Basic 2010 Installation de Visual Studio 2010 Premier contact avec

Plus en détail

Avec vous, pour vos projets, à chaque instant. Utilisation des réseaux de Pétri avec GRIF

Avec vous, pour vos projets, à chaque instant. Utilisation des réseaux de Pétri avec GRIF Avec vous, pour vos projets, à chaque instant Utilisation des réseaux de Pétri avec GRIF 2010 Projets pour le grand accélérateur de particules GANIL CEA/CNRS Vérification des automatismes de gestion du

Plus en détail

DOCUMENTATION ASSOCIEE A UN PROJET LOGICIEL

DOCUMENTATION ASSOCIEE A UN PROJET LOGICIEL DOCUMENTATION ASSOCIEE A UN PROJET LOGICIEL 31 août 2004 Plate-Forme Opérationnelle de modélisation INRA ACTA ICTA http://www.modelia.org FICHE DU DOCUMENT 10 mai 04 N.Rousse - : Création : version de

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

2. Technique d analyse de la demande

2. Technique d analyse de la demande 1. Recevoir et analyser une requête du client 2. Sommaire 1.... Introduction 2.... Technique d analyse de la demande 2.1.... Classification 2.2.... Test 2.3.... Transmission 2.4.... Rapport 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

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

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

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

Les projets informatiques.

Les projets informatiques. Les projets informatiques. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/20/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/20/ Slide 1 Cours 1. Présentation 2. Librairie

Plus en détail

M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016

M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016 M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016 encadrés par Christian Attiogbé, Amine Aouadhi Cahier

Plus en détail

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe

Plus en détail

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

PRINCIPES et METHODES de SPECIFICATION et de CONCEPTION GLOBALE des SYSTEMES INFORMATISES 10/20/02 1

PRINCIPES et METHODES de SPECIFICATION et de CONCEPTION GLOBALE des SYSTEMES INFORMATISES 10/20/02 1 PRINCIPES et METHODES de SPECIFICATION et de CONCEPTION GLOBALE des SYSTEMES INFORMATISES 10/20/02 1 CYCLE de VIE des SYSTEMES INFORMATISES Expression du besoin Développement du «système» Exploitation

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

IFT3913 Qualité du logiciel et métriques. Chapitre 2

IFT3913 Qualité du logiciel et métriques. Chapitre 2 IFT3913 Qualité du logiciel et métriques Chapitre 2 Qualité du produit logiciel Plan du cours Introduction Qualité du logiciel Théorie de la mesure Mesure de la qualité du logiciel Études empiriques Mesure

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

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

GIND5439 Systèmes Intelligents. Chapitre 2: Systèmes à base de règles

GIND5439 Systèmes Intelligents. Chapitre 2: Systèmes à base de règles GIND5439 Systèmes Intelligents Chapitre 2: Systèmes à base de règles Contenu du chapitre Définition de connaissances Représentation des connaissances Les règles Chaînage avant et arrière Résolution de

Plus en détail

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Notion de méthode de conception de SI Méthodes OO de conception Généralités sur les méthodes

Plus en détail

Modélisation objet Le langage UML

Modélisation objet Le langage UML Modélisation objet Le langage UML Brahim HAMID La base de contrôle Robot Zone à explorer brahim.hamid@irit.fr brahim.hamid@univ-tlse2.fr http://mass-cara.univ-tlse2.fr/~brahimou/ens/uml 1 Les méthodes

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Système d information VERSION : 4.00

Système d information VERSION : 4.00 METHODE ET ORGANISATION VERSION : 4.00 Jean-Michel Grandclément Confidentiel Reproduction Interdite Page 1 sur 21 Auteur Jean-Michel Grandclément Version / Date Version : 4.0 Date : 04/04/04 E-mail jean-michel.grandclement@grandclement.fr

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

Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco

Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco Présentation et portée du cours : CNA Exploration v4.0 Networking Academy Profil des participants Le cours CCNA Exploration s adresse aux participants du programme Cisco diplômés en ingénierie, mathématiques

Plus en détail

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009 GPA 789 : Analyse et Conception Orientées Objet ETS Mickaël Gardoni Bureau A 3588 tel 84 11 Mise en œuvre UML 1/ 25 Introduction Mise en œuvre d UML UML n est pas une méthode 2/ 25 1 UML n est qu un langage

Plus en détail

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population.

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population. Première STMG1 2014-2015 progression. - 1 Table des matières Fil rouge. 3 Axes du programme. 3 Séquence : Proportion d une sous population dans une population. 3 Information chiffrée : connaître et exploiter

Plus en détail

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE Annexe MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE L enseignement des mathématiques au collège et au lycée a pour but de donner à chaque

Plus en détail

Quatrième partie IV. La documentation

Quatrième partie IV. La documentation Quatrième partie IV Les différents types de Constat Il n y a pas de logiciel de qualité sans une documentation de qualité est un outil de communication Les paroles s envolent, les écrits restent Exemple

Plus en détail

L ÉVALUATION DES COMPÉTENCES DISCIPLINAIRES ET LA PLACE DES CONNAISSANCES

L ÉVALUATION DES COMPÉTENCES DISCIPLINAIRES ET LA PLACE DES CONNAISSANCES L ÉVALUATION DES COMPÉTENCES DISCIPLINAIRES ET LA PLACE DES CONNAISSANCES Questions et éléments de réponse Principales références dans les encadrements ministériels Questions Éléments de réponse 1) L

Plus en détail

DOCUMENTATION DU COMPAGNON ASP

DOCUMENTATION DU COMPAGNON ASP DOCUMENTATION DU COMPAGNON ASP MANUEL UTILISATEUR VERSION 1.0 / SEPTEMBRE 2011 Rédacteur Gilles Mankowski 19/09/2011 Chapitre : Pre requis CONTENU Pre requis... 3 Introduction... 3 Comment fonctionne l'asp?...

Plus en détail

Introduction aux Composants Logiciels

Introduction aux Composants Logiciels Introduction aux Composants Logiciels Christian Pérez LIP/INRIA Année 2010-11 Plan Introduction aux composants logiciels Pourquoi des composants logiciels Notions de composants logiciels Conclusion Survol

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é 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

NORME INTERNATIONALE D AUDIT 620 UTILISATION DES TRAVAUX D UN EXPERT DESIGNE PAR L AUDITEUR

NORME INTERNATIONALE D AUDIT 620 UTILISATION DES TRAVAUX D UN EXPERT DESIGNE PAR L AUDITEUR NORME INTERNATIONALE D AUDIT 620 UTILISATION DES TRAVAUX D UN EXPERT DESIGNE PAR L AUDITEUR Introduction (Applicable aux audits d états financiers pour les périodes ouvertes à compter du 15 décembre 2009)

Plus en détail

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation Un peu d'organisation Conception et Programmation par Objets HLIN406 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 Premières semaines Contrôle des connaissances Supports 2015 Sommaire

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

ITIL V3. Objectifs et principes-clés de la conception des services

ITIL V3. Objectifs et principes-clés de la conception des services ITIL V3 Objectifs et principes-clés de la conception des services Création : janvier 2008 Mise à jour : juillet 2011 A propos A propos du document Ce document de référence sur le référentiel ITIL V3 a

Plus en détail

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln. MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.fr Plan Introduction Généralités sur les systèmes de détection d intrusion

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

Apport des Méthodes formelles pour la certification du Falcon 7X Division DÉFENSE

Apport des Méthodes formelles pour la certification du Falcon 7X Division DÉFENSE Apport des Méthodes formelles pour la certification du Falcon 7X février 04 1 Les analyses Sdf utilisées dans le cadre d une certification aéronautique civile; un processus précis et réglementé Normes

Plus en détail

Rid the World of Project Failure

Rid the World of Project Failure La Gestion de Portefeuilles de Projets d Entreprise : Une Visibilité Parfaite, Un Net Avantage Concurrentiel Rid the World of Project Failure Collaboration. Compliance. Control. Qu est-ce que la gestion

Plus en détail

Travaux Pratiques Conception de systèmes Interactifs (Ph. Truillet) septembre 2014 v. 1.7

Travaux Pratiques Conception de systèmes Interactifs (Ph. Truillet) septembre 2014 v. 1.7 http://www.irit.fr/~philippe.truillet Travaux Pratiques Conception de systèmes Interactifs (Ph. Truillet) septembre 2014 v. 1.7 Nota : ces TPs sont inspirés de ceux de Wendy MacKay, utilisés lors de l

Plus en détail

Livre blanc destiné aux professionnels. Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Livre blanc destiné aux professionnels. Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers Livre blanc destiné aux professionnels Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers Table des matières 3 Synthèse 3 Introduction 3 Meilleures pratiques au

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

Le génie Logiciel (suite)

Le génie Logiciel (suite) Le génie Logiciel (suite) Lors du cours précédent, on a étudié différents cycles de vie, dont la cascade, ou la spirale. Analyse des besoins L analyse des besoins est une étape menant à l élaboration de

Plus en détail

Principe et règles d audit

Principe et règles d audit CHAPITRE 2 Principe et règles d audit 2.1. Principe d audit Le principe et les règles d audit suivent logiquement l exposé précédent. D abord, comme dans toute branche de l activité d une entreprise, l

Plus en détail

FICHE JANVIER 2009 THÉMATIQUE. Direction de projets et programmes

FICHE JANVIER 2009 THÉMATIQUE. Direction de projets et programmes FICHE JANVIER 2009 THÉMATIQUE Direction de projets et programmes La représentation par les processus pour les projets Système d Information (SI) La modélisation de l'entreprise par les processus devient

Plus en détail

Les revues de conception et de code source

Les revues de conception et de code source Les revues de conception et de code source Chapitre 8 IFT514 - Gestion des systèmes informatiques Chapitre 8 1 Les revues de conception et de code source - Survol Qu est-ce que les revues de conception

Plus en détail

Le programme de mathématiques Classes de première STI2D STL

Le programme de mathématiques Classes de première STI2D STL Journée de l inspection 15 avril 2011 - Lycée F. BUISSON 18 avril 2011 - Lycée J. ALGOUD 21 avril 2011 - Lycée L. ARMAND Le programme de mathématiques Classes de première STI2D STL Déroulement de la journée

Plus en détail

L application doit être validée et l infrastructure informatique doit être qualifiée.

L application doit être validée et l infrastructure informatique doit être qualifiée. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 Annexe 11: Systèmes informatisés

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

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ?

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ? Chapitre 1 Introduction à LINQ En surfant sur le Web, vous trouverez différentes descriptions de LINQ (Language Integrated Query), et parmi elles : LINQ est un modèle de programmation uniforme de n importe

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail