Yinoussa Adagolodjo

Tests et Maintenance

Méthodologies de test logiciel et maintenance des systèmes

Tests et Maintenance

Méthodologies de test logiciel et maintenance des systèmes

Niveau Graduate 8h TP + 21.1h TD Tests logiciels En développement
Statut : Cours en développement
Ce cours est actuellement en phase de développement. Le contenu et les modalités peuvent évoluer.

Présentation du cours

Ce cours aborde les méthodologies de test logiciel et les pratiques de maintenance des systèmes informatiques. Les étudiants apprendront à concevoir et implémenter des stratégies de test efficaces, à automatiser les processus de validation et à maintenir la qualité des systèmes en production. Une approche pratique couvre les outils modernes et les bonnes pratiques de l'industrie.

Informations générales

Durée : 8h de travaux pratiques + 21.1h de travaux dirigés
Volume de travail personnel estimé : 35-40 heures
Langue d'enseignement : Français
Évaluation : Note de rapport
Statut : En développement

Prérequis

Programmation orientée objet

Java, C#, Python ou équivalent, concepts d'architecture logicielle

Génie logiciel

Cycle de développement, méthodologies Agile, gestion de versions

Systèmes d'information

Bases de données, architectures distribuées, services web

Tests unitaires Tests d'intégration Automatisation CI/CD Maintenance prédictive Quality Assurance

Objectifs pédagogiques

À l'issue de ce cours, les étudiants seront capables de :

Concevoir des stratégies de test

Élaborer des plans de test complets couvrant les différents niveaux (unitaire, intégration, système).

Automatiser les tests

Mettre en place des pipelines d'intégration continue avec tests automatisés.

Analyser la qualité logicielle

Utiliser des métriques de qualité et des outils d'analyse statique du code.

Maintenir les systèmes

Appliquer les bonnes pratiques de maintenance préventive et corrective.

Déboguer efficacement

Maîtriser les techniques de débogage et d'analyse des défauts logiciels.

Optimiser les performances

Identifier et résoudre les problèmes de performance et de scalabilité.

Planning du cours

Module 1

Fondements des tests logiciels

Introduction aux tests, types de tests, pyramide des tests, stratégies de validation.
Module 2

Tests unitaires et frameworks

JUnit, pytest, mocking, test-driven development (TDD).
Module 3

Tests d'intégration et système

API testing, tests end-to-end, tests de charge et performance.
Module 4

Automatisation et CI/CD

Jenkins, GitLab CI, GitHub Actions, déploiement automatisé.
Module 5

Maintenance et évolution

Refactoring, gestion de la dette technique, monitoring en production.

Modalités d'évaluation

100%
Note de rapport
Projet complet incluant stratégie de test, implémentation, automatisation et documentation.

Ressources et outils

Outils de test

  • JUnit, pytest, Jest
  • Selenium, Cypress
  • JMeter, k6

Plateformes CI/CD

  • Jenkins, GitLab CI
  • GitHub Actions
  • Docker, Kubernetes

Contact & encadrement

Responsable du cours : Dr. Yinoussa Adagolodjo
Email : Remplir formulaire de contact sur la page d'accueil
Bureau : Bâtiment Polytech, Université de Lille
Permanence : Sur rendez-vous (contact par email)