PREMIÈRE MOITIÉ – La maintenance du logiciel (21 heures incluant l'examen intra)
Introduction au domaine du test et de la maintenance logicielle (2 heures)
- Présentation du cours
- Vue globale du domaine du test et de la maintenance logicielle
- Terminologie de base
- Mise en contexte
Connaissances fondamentales de maintenance logicielle (3 heures)
- Connaissances fondamentales de la maintenance logicielle
- Représentation du SWEBOK de la maintenance
- Différence entre opérations, développement et maintenance
- Vue globale des normes et processus de maintenance
- Vue détaillée de la norme ISO14764 sur la maintenance logicielle
Problématiques de la maintenance continue du logiciel et la mesure (3 heures)
- Perceptions externes des utilisateurs
- Perceptions internes des employés de la maintenance
- Mesures de la maintenance: processus, produits et services
Compréhension du logiciel (3 heures)
- Rôle de la compréhension d'un logiciel en maintenance
- Objectifs de la compréhension du mainteneur
- Modèles de compréhension
- Stratégies de compréhension
- Effets de chaque stratégie sur les activités de maintenance
- Facteurs qui ont un impact sur la compréhension du logiciel
- Exemples d'outils pouvant aider à la compréhension d'un logiciel
Maintenance et agilité (2 heures)
- Modèle de cycle de vie agile (SCRUM)
- Quelle organisation effectue la maintenance du logiciel
- Modèle DevOps
- La maintenance dans un cadre agile
- Exemples et mises en situation
Réingénierie du logiciel (3 heures)
- Niveaux d'abstraction du logiciel
- Buts et les objectifs de la réingénierie du logiciel
- Techniques de réingénierie du logiciel
- Exemples de réussites / échecs
Sujets à déterminer (2 heures)
- Révision de la matière / préparation à l'examen intra
- (Possibilité) de visite de conférencier selon disponibilités
- Activités en classe
- Etc.
DEUXIÈME MOITIÉ – Les tests logiciels (18 heures)
Introduction au domaine et connaissances fondamentales du test logiciel (2 heures)
- Vue globale du domaine du test
- Généralités
- Historique de cas
- Définitions et objectifs
- Principes fondamentaux
- Aspects pratiques
- Activités de test
- Présentation de la partie test du cours
Tests boîte noire (fonctionnels) (4 heures)
- Principes de bases
- Tests intuitifs (ad-hoc)
- Partitionnement en classes d'équivalence
- Analyse de la valeur limite
- Graphes cause-effet
- Tests de transition d'états
- Fonctions logiques
- Tests boîte noire et produits commerciaux (COTS)
- Conception de cas de tests selon les règles de l'art
- Revues de cas de tests, code et de documents
- Exemples d'application
Tests boîte blanche (4 heures)
- Principes de bases
- Critères de suffisance de tests
- Couverture et graphes de flux de contrôle
- Couverture de la logique
- Chemins: rôle dans la conception des tests boite blanche
- Complexité cyclomatique
- Graphes de flux de données
- Tests basés sur le flux de données
- Tests de mutation
- Autres approches boite blanche
- Conception de cas de tests selon les règles de l'art
- Revues de cas de tests, code et de documents
- Exemples d'application
Niveaux (phases) de tests (3 heures)
- Architecture et niveaux de tests
- Harnais de tests
- Tests système
- Tests d'intégration
- Tests unitaires
- Tests de (non)régression
- Tests alpha, beta et d'acceptation
- Exemples d'application
Développement dirigé par les tests et outils (1 heure)
- Principes de bases
- Extreme Programming (XP) et tests
- Test Driven Development (TDD) et test
- Outils
Processus de tests (1 heure)
- Exploration du modèle de maturité de tests (TMMi)
- Centre d'expertise de test
- Estimation de l'effort de test
Documentation des tests (1 heure)
- Processus de classification des défauts
- Explication des différents documents à produire lors de l'organisation, la conception, et l'exécution des tests
- Exemples d'application
Sujets à déterminer (2 heures)
- Révision de la matière / préparation à l'examen final
- (Possibilité) de visite de conférencier selon disponibilités
- Activités en classe
- Etc.
* La matière ne sera pas nécessairement présentée dans cet ordre.
** Les durées sont approximatives.