SOUTENANCE : thèse de Gerardo Morales

Mardi 13 juillet à 14h30 salle C06

« A Test Methodology for the Validation of Web Applications »

Jury

– Abdelhamid MELLOUK, Université de Paris XII, Président
– Ismael RODRIGUEZ, Universidad Complutense de Madrid, Rapporteur
– Eliane MARTINS, Universidade Estadual de Campinas, Rapporteur
– Kequin LI, SAP France, Examinateur
– Stéphane Maag, Télécom SudParis, Examinateur
– Ana Cavalli, Télécom SudParis, Directrice de thèse

Résumé

« De nos jours, les systèmes basés sur le Web sont devenus de plus en plus importants en tant que éléments de base pour la collaboration synchrone ou asynchrone entre utilisateurs distants. D’une part, les applications Web (e.g. e-government ou e-banking) ont évolué en complexité pour devenir un moyen de communication puissant entre les petites/grandes institutions et les internautes, et entre les internautes eux-mêmes. D’autre part, ces dernières années, les applications Web et plus généralement, toutes les applications, ont évolué vers une nouvelle architecture qui substitue un seul grand système par des systèmes multiples qui collaborent entre eux. Cette architecture est orientée services et se nomme SOA pour  » Service Oriented Architecture « . Elle permet la réutilisation de services existants pour construire de nouveaux services Web plus complexes en moins de temps.

Certains institutions utilisent des systèmes basés sur le Web pour administrer des tâches critiques relatives à leurs métiers ou pour gérer des données sensibles et confidentielles (e.g. des données utilisateurs, des données bancaires etc.). Un comportement erroné de ce type de système peut être exploitable par des actions malveillantes ou des attaques pour l’accès à ces données, par des utilisateurs ou des systèmes internes ou externes.

L’objectif de cette thèse est d’assurer le bon comportement des aspects fonctionnels des systèmes basés sur le Web. Pour atteindre cet objectif, nous nous basons dans ce manuscrit, sur deux approches différentes de test: l’approche active et l’approche passive. Le principe du test actif consiste à générer automatiquement une suite de scénarios de tests qui sera appliquée sur un système sous test pour en étudier sa conformité par rapport à ses besoins fonctionnels. Quand au test passif, il consiste à observer passivement le système sous test, sans interrompre le flux normal de ses opérations.

Pour l’approche active, nous proposons une méthodologie qui permet de générer automatiquement des séquences de test afin de valider la conformité d’un système par rapport à la description formel du comportement du système. Le comportement est spécifié en utilisant un modèle formel basé sur des machines à états finis étendues temporisées (TEFSM). La génération automatique des tests est ensuite effectuée en utilisant des outils développés dans notre laboratoire et permet d’obtenir des cas de tests exécutables qui permettent au moteur de test d’interagir avec une application Web réel.

Dans l’approche passive, nous spécifions des propriétés fonctionnelles à tester sous la forme d’invariants temporisées. Nous analysons ensuite les traces d’exécution d’un Web service composé afin d’élaborer un verdict sur sa conformité par rapport au comportement souhaité du système.

Plusieurs algorithmes et outils sont fournis dans ce manuscrit pour effectuer le test actif et passif des systèmes Web. Nous avons appliqué nos méthodologies à divers systèmes (le Mission Handler et le Travel Reservation Service) pour illustrer les approches proposées sur des systèmes réels. »