UE Techniques avancées de validation/tests

Diplômes intégrant cet élément pédagogique :

Descriptif

Un extrait des thématiques et outils qui seront abordés est le suivant :
*    Spécification par contrats comme oracle de test avec JML
*    Tests unitaires avec JUnit
*    Couverture des test avec Emma et EclEmma
*    Test en isolation/test d’intégration avec Mockito
*    Analyse mutationnelle avec PIT
*    Test aléatoire
*    Vérification à l’exécution et programmation par aspects

L'enseignement est organisé en des séances de cours, destinées à présenter diverses techniques applicables pour les diverses activités du test (spécification, génération, exécution, oracle et arrêt du test). Ces séances sont complétées par des séances de travaux dirigés, sur machine, qui permettront aux étudiants de se familiariser avec des outils de test.
Le contrôle continu prendra la forme de devoirs ou de mini-projets associés aux séances de travaux dirigés

Pré-requis

Notions de base du test logiciel, du langage de programmation Java et de la logique des prédicats.

Compétences visées

Le test des logiciels devient aujourd’hui un métier à part entière parmi les métiers du développement logiciel. De plus, le développement de grands logiciels fait largement appel à la sous-traitance, à la réutilisation, ou à l’intégration de composants. Dans ce contexte, il est essentiel de valider ces composants ainsi que leur assemblage.
L'objectif de ce cours est de donner aux étudiants les outils et techniques qui leur permettront de mettre en oeuvre les diverses activités du test au cours d'un développement logiciel basé sur une spécification.
Il s’agit dans un premier temps d’exprimer une spécification qui puisse être vérifiée à l’exécution, comme oracle d’une activité de test. Dans un deuxième temps, il s’agit de mettre en œuvre des techniques avancées de test pour générer si possible automatiquement des tests,  évaluer la qualité d’une suite de test (couverture, analyse mutationnelle) , mettre en œuvre le test d’intégration, coupler l’activité de test avec un oracle, et optimiser l’exécution des tests.

Informations complémentaires

Lieu(x) : Grenoble - Domaine universitaire
Langue(s) : Français