Logo ÉTS
Session
Cours
Responsable(s) Sègla Jean-Luc Kpodjedo, Alain April

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sègla Jean-Luc Kpodjedo, Alain April


PLAN DE COURS

Automne 2025
LOG240 : Tests et maintenance (3 crédits)





Préalables
Programme(s) : 7065,7084,7365
             
  Profils(s) : Tous profils  
             
    LOG100    
             
Unités d'agrément




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Ce cours présente et applique les concepts du cycle de vie de la maintenance d'un logiciel, la validation et la vérification d'un logiciel, et les différents types de tests selon les principes du génie logiciel.

Gestion de la configuration, transition d'un logiciel du développement à la maintenance, éléments de maintenance de logiciel, types de maintenance, activités de maintenance, gestion des problèmes et amélioration de la maintenance du logiciel, principes de tests, conception de tests boite noire et boite blanche, niveaux de tests (unitaire, intégration, système, acceptation), développement dirigé par les tests, modèles de maturité et normes de tests.

À la fin de ce cours, l’étudiante ou l'étudiant sera en mesure:
• d’instaurer un processus et un environnement de maintenance du logiciel;
• d'effectuer une analyse d’impact et de gérer les rapports de problèmes et demandes de changements;
• de concevoir, implémenter et exécuter des tests basés sur les principales approches de tests boîte noire et boîte blanche à divers niveaux.



Objectifs du cours

À la fin de ce cours, l’étudiant sera en mesure d’instaurer un processus et un environnement d'évolution continue du logiciel. Il comprendra comment effectuer une analyse d’impact, gérer les rapports de problèmes et demandes de changements, effectuer de la rétro-ingénierie, concevoir et exécuter des tests unitaires, d'intégration, de système, fonctionnels et de régression.




Stratégies pédagogiques

Les objectifs seront atteints par un enseignement hebdomadaire sous la forme d’un cours magistral (exposé formel, exposé informel, exercices) de trois (3) heures et de deux (2) heures de travaux pratiques.

POUR LE GROUPE 2 SEULEMENT : Il est à noter que les séances de cours ainsi que les séances de laboratoire seront tenues virtuellement à distance pour toute la session.




Utilisation d’appareils électroniques

Il est interdit de capter le cours ou des portions du cours (enregistrement vidéo, enregistrement audio,  photographie) en salle de classe réelle et/ou virtuelle ou en salle de laboratoire réelle et/ou virtuelle à moins d’avoir obtenu au préalable la permission de l'enseignant.

Utilisation d'ordinateurs, (et potentiellement VM) et logiciels divers pour effectuer les activités de mise en oeuvre de l'environnement de maintenance et test ainsi qu'effectuer la maintenance et les tests d'un logiciel existant.

 

 

Pour les examens, vous avez besoin d'un ordinateur portable avec Windows ou Macos (en natif, pas dans une machine virtuelle) pour Safe Exam Browser. Les tablettes ne sont pas autorisées.

 

Installation de SEB requise : Les étudiants sont tenus d'installer le logiciel Safe Exam Browser (SEB) avant les contrôles. Cette installation est de leur responsabilité. Aucune assistance technique ne sera disponible le jour du contrôle, et aucune dérogation à cette exigence ne sera possible.

Les étudiants doivent installer ce logiciel à partir de ce lien: https://safeexambrowser.org/download_en.html

 

 

Pour plus d'informations sur Safe Exam Browser:

Service informatique de l'école - Onglet Safe Exam Browser:
https://www.etsmtl.ca/experience-etudiante/services-informatiques

Aide à l'utilisation de Safe Exam Browser:
https://gus.etsmtl.ca/c2atom/LoginAzure?landingPage=/portal-KB-details/9fc1c590-f1e9-4e7d-bb65-4edc8f38f0ab

 

 




Horaire
Groupe Jour Heure Activité
01 Lundi 13:30 - 17:00 Activité de cours
Mardi 08:30 - 10:30 Laboratoire (Groupe A)
Mardi 10:30 - 12:30 Laboratoire (Groupe B)
02 Lundi 18:00 - 20:00 Laboratoire (Groupe A)
Lundi 20:00 - 22:00 Laboratoire (Groupe B)
Mercredi 18:00 - 21:30 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Francis Cardinal Activité de cours cc-Francis.Cardinal@etsmtl.ca A-4526 flexible ‐ s.v.p. prendre rendez‐vous par courriel
02 Francis Cardinal Activité de cours cc-Francis.Cardinal@etsmtl.ca A-4526 flexible ‐ s.v.p. prendre rendez‐vous par courriel
02 Laboratoire (Groupe A)



Cours

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)

  1. Présentation du cours
  2. Vue globale du domaine du test et de la maintenance logicielle
  3. Terminologie de base
  4. Mise en contexte

 

Connaissances fondamentales de maintenance logicielle (3 heures)

  1. Connaissances fondamentales de la maintenance logicielle
  2. Représentation du SWEBOK de la maintenance
  3. Différence entre opérations, développement et maintenance
  4. Vue globale des normes et processus de maintenance
  5. 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)

  1. Perceptions externes des utilisateurs
  2. Perceptions internes des employés de la maintenance
  3. Mesures de la maintenance: processus, produits et services

 

Compréhension du logiciel (3 heures)

  1. Rôle de la compréhension d'un logiciel en maintenance
  2. Objectifs de la compréhension du mainteneur
  3. Modèles de compréhension
  4. Stratégies de compréhension
  5. Effets de chaque stratégie sur les activités de maintenance
  6. Facteurs qui ont un impact sur la compréhension du logiciel
  7. Exemples d'outils pouvant aider à la compréhension d'un logiciel

 

Maintenance et agilité (2 heures)

  1. Modèle de cycle de vie agile (SCRUM)
  2. Quelle organisation effectue la maintenance du logiciel
  3. Modèle DevOps
  4. La maintenance dans un cadre agile
  5. Exemples et mises en situation

 

Réingénierie du logiciel (3 heures)

  1. Niveaux d'abstraction du logiciel
  2. Buts et les objectifs de la réingénierie du logiciel
  3. Techniques de réingénierie du logiciel
  4. Exemples de réussites / échecs

 

Sujets à déterminer (2 heures)

  1. Révision de la matière / préparation à l'examen intra
  2. (Possibilité) de visite de conférencier selon disponibilités
  3. Activités en classe
  4. Etc.

 

 

 

 

 

DEUXIÈME MOITIÉ – Les tests logiciels (18 heures)

 

Introduction au domaine et connaissances fondamentales du test logiciel  (2 heures)

  1. Vue globale du domaine du test
  2. Généralités
  3. Historique de cas
  4. Définitions et objectifs
  5. Principes fondamentaux
  6. Aspects pratiques
  7. Activités de test
  8. Présentation de la partie test du cours

 

Tests boîte noire (fonctionnels) (4 heures)

  1. Principes de bases
  2. Tests intuitifs (ad-hoc)
  3. Partitionnement en classes d'équivalence
  4. Analyse de la valeur limite
  5. Graphes cause-effet
  6. Tests de transition d'états
  7. Fonctions logiques
  8. Tests boîte noire et produits commerciaux (COTS)
  9. Conception de cas de tests selon les règles de l'art
  10. Revues de cas de tests, code et de documents
  11. Exemples d'application

 

Tests boîte blanche (4 heures)

  1. Principes de bases
  2. Critères de suffisance de tests
  3. Couverture et graphes de flux de contrôle
  4. Couverture de la logique
  5. Chemins: rôle dans la conception des tests boite blanche
  6. Complexité cyclomatique
  7. Graphes de flux de données
  8. Tests basés sur le flux de données
  9. Tests de mutation
  10. Autres approches boite blanche
  11. Conception de cas de tests selon les règles de l'art
  12. Revues de cas de tests, code et de documents
  13. Exemples d'application

 

Niveaux (phases) de tests (3 heures)

  1. Architecture et niveaux de tests
  2. Harnais de tests
  3. Tests système
  4. Tests d'intégration
  5. Tests unitaires
  6. Tests de (non)régression
  7. Tests alpha, beta et d'acceptation
  8. Exemples d'application

 

Développement dirigé par les tests et outils (1 heure)

  1. Principes de bases
  2. Extreme Programming (XP) et tests
  3. Test Driven Development (TDD) et test
  4. Outils

 

Processus de tests (1 heure)

  1. Exploration du modèle de maturité de tests (TMMi)
  2. Centre d'expertise de test
  3. Estimation de l'effort de test

 

Documentation des tests (1 heure)

  1. Processus de classification des défauts
  2. Explication des différents documents à produire lors de l'organisation, la conception, et l'exécution des tests
  3. Exemples d'application

 

Sujets à déterminer (2 heures)

  1. Révision de la matière / préparation à l'examen final
  2. (Possibilité) de visite de conférencier selon disponibilités
  3. Activités en classe
  4. Etc.

 

 

* La matière ne sera pas nécessairement présentée dans cet ordre.

** Les durées sont approximatives.




Laboratoires et travaux pratiques

 

Partie maintenance des laboratoires (2 laboratoires, 12 heures*)

1.   Familiarisation et prise en charge d’un logiciel existant pour en effectuer la maintenance

2.   Rétro-ingénierie, Rapports de Problèmes et demandes de changements

 

Partie tests des laboratoires (2 laboratoires, 12 heures*)

3.   Tests unitaires, d'intégration et système et test boîte noire

4.   Réingénierie dirigée par les tests et test boîte blanche

 

*Les détails sur la pondération de chaque travail de laboratoire ainsi que les échéanciers vous seront présentés par vos chargés de laboratoire lors des séances de laboratoires.

 

Les étudiant(e)s effectuent les travaux pratiques en équipe. La composition des équipes sera déterminée au début du trimestre. Un projet de trimestre sera réalisé. Le projet consistera à mettre en œuvre les pratiques de tests et maintenance enseignées en classe au travers de différents laboratoires.

 

NOTE : Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème à support-logti@etsmtl.ca. Consultez le site de cours pour les contenus pour chaque cours.




Utilisation d'outils d'ingénierie

Utilisation possible de divers logiciels dont: VMWare, IntelliJ IDEA, Vscode, Eclipse, QALab, Maven, Wiki, Jira, TRAC, GitLab, GitHub Wiki, GitHub Issues, UIspec4j, Playwright, Junit, Githooks, Scripts cross-platforms pour pipeline CI/CD, Visual Paradigm, PlantUML, Eclipse Luna UML generators, Java RoundTrip et Cobertura.




Évaluation
Laboratoires (20 % maintenance et 20 % tests) 40 %

Examen intra * – Maintenance seulement

30 %
Examen final * – Tests seulement 30 %

*L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels (examens intra et final) afin de réussir le cours. Cette condition est nécessaire mais non suffisante.

 

Examens (GROUPE 1 et GROUPE 2)

  • L'examen intra et final est à réaliser en présence à l'ÉTS.  Les modalités vous seront mentionnés en cours par votre enseignant.

Laboratoires

  • Les laboratoires sont à faire en équipe.  Toutes les modalités par rapport aux laboratoires en général et par rapport à chacun des laboratoires vous sera expliqué lors des séances de laboratoire par votre chargé de laboratoire.
  • Les séances de laboratoires sont en présence pour le groupe 1
  • Les séances de laboratoires sont virtuelles à distance pour le groupe 2



Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 27 octobre 2025
2 29 octobre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.



Documentation obligatoire

Aucune documentation obligatoire autre que les diapositives du cours fournies sur le site Moodle.




Ouvrages de références

Aucun ouvrage autre que les diapositives du cours fournies sur le site Moodle.




Adresse internet du site de cours et autres liens utiles

Site Moodle du cours LOG240 accessible via votre portail MonETS.