Sampling & Testing all configurations: The JHipster case study

  • Axel Halin
  • Alexandre Nuttinck

Thèse de l'étudiant: Master typesMaster en sciences informatiques

Résumé

De nombreuses approches de test de systèmes logiciels configurables partent du même
postulat: il est impossible de tester toutes les configurations. Cette hypothèse a motivé
la définition de techniques d'échantillonnage et d'abstraction de la variabilité pour faire
face aux grands espaces de configuration. Il n'existe cependant pas de barrière théorique
empêchant le test exhaustif de toutes les configurations en les énumérant, pour autant
que l'effort requis reste raisonnable. Nous pensons d'ailleurs que beaucoup peut être
appris d'un test exhaustif d'un système configurable. Nous présentons notre effort pour
tester toutes les configurations de JHipster, un générateur d'applications Web. Nous
avons construit une infrastructure de test pour ses +26.000 configurations en utilisant
un cluster de 80 machines pour un total de 4376 heure-machine. Nous identifions les
interactions de fonctionnalités provoquant l'échec de 34.37% des configurations. Nous
montrons que les stratégies d'échantillonnage (dissimilarité, 2-wise) sont (1) plus efficaces
pour trouver des fautes que les 12 configurations utilisées dans l'intégration continue de
JHipster; (2) trop co^uteuses et dépasser le budget de test. Nous croisons cette analyse
quantitative avec l'évaluation qualitative des développeurs principaux de JHipster.
Mots clés: Cas d'étude; Applications Web; Analyses de la varabilité logicielle; JHipster; Lignes
de produits logiciels; Test de Lignes de Produits Logiciels; Test combinatoire d'interaction;
Date de réussite26 juin 2017
langueFrançais
Institution diplomante
  • Université de Namur
SuperviseurAnthony Cleve (Président), Patrick Heymans (Promoteur), Gilles Perrouin (Copromoteur) & Xavier Devroey (Copromoteur)

Citer ceci

Sampling & Testing all configurations: The JHipster case study
Halin, A. (Auteur), Nuttinck, A. (Auteur). 26 juin 2017

Thèse de l'étudiant: Master typesMaster en sciences informatiques