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

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

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


PLAN DE COURS

Hiver 2024
LOG240 : Tests et maintenance (3 crédits)





Préalables
Programme(s) : 7065,7084,7365
             
  Profils(s) : Tous profils  
             
    LOG100    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 50,0 % 50,0 %




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’étudiant ou l'étudiante 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. L’étudiant devra compléter sa formation par des lectures.

 

 




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, 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.




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Francis Cardinal Activité de cours cc-Francis.CARDINAL@etsmtl.ca A-4526 <- n'allez pas à ce bureau il est utilisé par le département à d'autres fins pour la session H24. Communiquez avec moi par courriel pour un rendez-vous.
01 Bilal Alchalabi Laboratoire (Groupe A) bilal.alchalabi@lassena.etsmtl.ca
02 Francis Cardinal Activité de cours cc-Francis.CARDINAL@etsmtl.ca A-4526 <- n'allez pas à ce bureau il est utilisé par le département à d'autres fins pour la session H24. Communiquez avec moi par courriel pour un rendez-vous.
02 Bilal Alchalabi Laboratoire (Groupe A) bilal.alchalabi@lassena.etsmtl.ca



Cours

PARTIE 1 – L'évolution continue du logiciel (21 heures)

1. L'ingénieur de maintenance/support et les tests (4 heures)

  1.  La structure et le modèle du cours LOG240
  2.  Les laboratoires
  3.  Les normes utilisées dans ce cours
  4. La maintenance et l'agileté
    1. Introduction
    2. Modeèle de cycle de vie agile
    3. Quelle organisation effectue la maintenance du logiciel
    4. La maintenance dans un cadre agile

2. Les connaissances fondamentales en maintenance du logiciel (4 heures)

  1.  La définition de la maintenance du logiciel
  2.  La différence entre opérations, développement et maintenance
  3.  Les normes et les processus de la maintenance du logiciel
  4. L'activité de maintenance continue du logiciel

3. Les problématiques de la maintenance continue du logiciel (4 heures)

  1.  Les problèmes de la maintenance du logiciel
    • Perception externe (c.-à-d. vos utilisateurs et clients) des problèmes de la maintenance du logiciel
    • Perception interve (c.-à-d. vous, les mainteneurs) des problèmes de la maintenance du logiciel
  2.  Le modèle de mesure
    1. La mesure du processus de la maintenance
    2.  La mesure du produit logiciel maintenu
    3.  La mesure du service de maintenance
      • l'entente de service interne (SLA),
      • le contrat de service avec un tiers,
      • l'entente d'impartition, et
      • l'étalonnage (benchmarking) de la maintenance.

4. La compréhension du logiciel (4 heures)

  1. Introduction
  2. Les objectifs de la compréhension du logiciel:
    • la connaissance du domaine d'affaire, l'effet de l'exécution du logiciel et la relation cause à effet, la relation entre le logiciel et son environnement, et le support à la décision
  3. Le mainteneur et ses besoins d'information:
    • le gestionnaire, les analystes, les concepteurs et les programmeurs
  4. Les modèles de compréhension du logiciel et la notion de modèle mental
  5. Les stratégies de compréhension
    • stratégie descendante, ascendante et opportuniste
  6. Les techniques de lecture du logiciel
  7. Les facteurs qui ont un impact sur la compréhension du logiciel
    • l'expertise du domaine,
    • les questions de mise en oeuvre de la programmation,
    • la documentation,
    • l'organisation et la présentation du code source, et
    • les outils mis à la disposition du mainteneur

5. La réingénierie (5 heures)

  1. Introduction
  2. Les niveaux d'abstraction du logiciel
    • l'abstraction des fonctionalités, des données et des processus
  3.  Les buts et objectifs de la réingénierie du logiciel
  4.  Les techniques de la réingénierie du logiciel
    • les fondements de la réingénierie du logiciel, la redocumentation, la rétro-ingénirerie (recouvrement de la conception et des spécifications), la restructuration et l'optimisation
  5.  La stratégie de mise en oeuvre et les bénéfices (étude de cas)

 

PARTIE 2 – Les tests du logiciel (18 heures)

1. Les connaissances fondamentales en tests logiciels (4 heures)

  1. Introduction
  2. Vue d'ensemble du contrôle de la qualité du logiciel (incluant le SWEBOK)
  3.  Les connaissance fondamentales de tests
    • les questions clés que se posent les testeurs
    • les relations entre les tests et les autres activités de développement logiciel
  4.  Buts et objectifs de tests
    • le but du test
    • l'objectif de test
  5. Les techniques de tests
    • Les techniques qui utilisent les spécifications
    • Les techniques qui utilisent la structure du code
    • Les techniques selon l'expérience
    • Les techniques de test de mutation
    • Les techniques selon l'utilisation du logiciel
    • Les techniques combinées
  6. Les mesures de tests
  7. Tests applicatifs et domaines d'applications spécifiques
  8. Survol des outils de test
  9. Sommaire des apprentissages

2. Les tests boîte noire (5 heures)

  •  Tests aléatoires
  •  Séparation en classes d'équivalence
  •  Analyse de valeurs limites
  •  Graphes cause-effet
  •  Tests de transition d'états
  •  Tests boîte noire et produits commerciaux (COTS)

3. Les tests boîte blanche (5 heures)

  • Critères de tests
  • Graphes de flux de commande (contrôle)
  • Tests basés sur le flux de données
  • Tests de mutation
  • Les revues de code et de documents

4.  Développement dirigé par les tests et outils (3 heures)

  •  Introduction aux outils de tests populaires
  •  Introduction au développement dirigé par les tests (de l'anglais Test-Driven Development -TDD)
  • Introduction au langage Gherkin pour la technique BDD
  • Les outils pour les tests automatisés
  • Préoccupations pour bien réussir en tests automatisés
  • Des outils d'évaluation de la qualité du code source

5. Documentation et processus de tests (1 heure)

  • Présentation sommaire du modèle de maturité de tests (TMMi)
  • Centre d'expertise de test
  • Estimation de l'effort de test
  • Processus de classification des défauts
  • Plan de tests et spécification de cas de tests
  • Rapport d'exécution de tests

 

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




Laboratoires et travaux pratiques

1.   Familiarisation et prise en charge d’un logiciel (VMWARE, GitHub, JIRA, MAVEN, QALab) – (4 heures)

2.   Rétro-ingénierie, Rapports de Problèmes et demandes de changements  (Eclipse Luna UML generators, Java RoundTrip) – (8 heures)

3.   Tests unitaires, d'intégration et système (UIspec4j et Junit) (6 heures)

4.   Réingénierie dirigée par les tests (6 heures)

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.

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 de divers logiciels dont: IntelliJ IDEA, QALab, Maven, Wiki, Jira, UIspec4j, Junit, Visual Paradigm 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

  • 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.



Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 21 février 2024
2 19 février 2024



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/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.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page "Citer, pas plagier !" (https://www.etsmtl.ca/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique) pour identifier les actes qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

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’enseignant(e) du cours.



Documentation obligatoire

Alain April et Alain Abran, L'évolution Contôlée du Logiciel. édition 30 août 2023, YuPub. Votre accès à la version électronique est temporaire et se terminera après l'intra.

April, A., Gemmoche, Y, et Abran A., Les Tests Logiciels, édition 30 août 2023, YuPub. Votre accès à la version électronique est temporaire et se terminera à la fin de la session.




Ouvrages de références

Grubb, P., Takang, A.A., Software Maintenance: Concepts and Practice. International Thompson Computer Press, 1996.

Amman, P., Offutt, J. Introduction to Software Testing, Cambridge University Press (2nd Ed), 2017

Myers, G. J., The Art of Software Testing. John Wiley & Sons, (2nd Ed.), ISBN 0471469122, 2004, 256 p. (première édition disponible sur ITPro).




Adresse internet du site de cours et autres liens utiles

Site Moodle du cours LOG240 accessible via votre portail MonETS.