Diplômes intégrant cet élément pédagogique :
Descriptif
Objectifs : sensibilisation à la conception logicielle (architecture) et la validation (tests)
Compétences visées :
- représenter une architecture logicielle cohérente (dans un formalisme donné)
- connaitre, savoir utiliser (en justifiant) des styles architecturaux
- sensibilisation à la validation d'une architecture par rapport à des exigences
- resituer le test dans un cycle de développement par rapport aux exigences
- connaitre et savoir des techniques élémentaires de constructions de tests (structurelles et fonctionnelles)
Le cours se découpe en 2 parties : architecture et test.
1. Architecture
- introduction : de l'importance de l'architecture dans la conception
- représentation : différentes vues pour capturer l'architecture
- conception : notion de style/patron et de techniques
- validation : lien exigences-architecture; cohérences de vues.
2. Test
- notion de faute, erreur, défaillance
- notion de données de test vs oracle
- méthodes de "test fonctionnel" (catégorie et partition)
- méthodes de "test structurel" (notion de couverture du graphe de contrôle, def-use, ...)
- outils de tests (couverture et drivers d'exécution)
Objectives: awareness of software design (architecture) and validation (tests)
Targeted skills :
- represent a coherent software architecture (in a given formalism)
- know, know how to use (justifying) architectural styles
- awareness of the validation of an architecture with respect to requirements
- put the test back into a development cycle in relation to the requirements
- know and know basic techniques of test construction (structural and functional)
It is composed of two parts concerning both architectural design and validation by test.
1. Architecture
- introduction
- representation
- design
- validation
2. Test
- fault/error/failure
- test data and oracle
- "black-box" testing methods
- "white-box" testing methods
- tools for testing
Pré-requis recommandés
Bon niveau en algorithmique-programmation. Premières expériences de projets de développement.
Good level in algorithmics and programming. First experiences in development projects.
Bibliographie
- "Introduction to Software Testing" - Paul Ammann, Jeff Offutt
- "Software Architecture in Practice" - Len Bass, Paul Clements and Rick Kazman
- "Pattern-Oriented Software Architecture Volume 1: A System of Patterns" - Frank Buschmann, Regine Meunier, Hans Rohnert and Peter Sommerlad
Informations complémentaires
Lieu(x) : GrenobleLangue(s) : Français