Au cours de la dernière décennie, il y a eu une appétence croissante pour mieux comprendre les phénomènes liés à l’«hyperconnectivité» de notre société moderne. Cette connectivité se trouve incarnée dans de nombreux systèmes qui caractérisent notre société telle que: l'Internet et le Web, la diffusion rapide d'idées dans les réseaux sociaux, les systèmes financiers complexes, la diffusion rapide de maladie épidémique. Motivé par ces exemples, il a été entrepris dans le domaine des mathématiques appliquées et de l'informatique un développement important de nouvelles techniques qui nous permettent de mieux raisonner sur ses phénomènes complexes et interdépendants. La première partie de ce cours offre une ouverture sur les techniques et les idées qui gouvernent les systèmes complexes qu'ils soient sociaux, économiques, ou technologiques.

Dans une seconde partie de ce cours, nous nous intéresserons plus particulièrement aux mécanismes de tests qui permettent d’atténuer la complexité des grands systèmes d’informations et leurs protocoles sous-jacents, en offrant des outils de validation pour les opérateurs, les fournisseurs et les usagers.

De fait, leur validation à travers différents types de test (conformité, interopérabilité, non-régression, terrain, etc.) est primordiale. Diverses techniques sont aujourd’hui mises en œuvre tout au long du cycle de vie et de production d’un produit (objets intelligents, protocoles, etc.) ou d’un service (applications web, navigateurs, indexation, etc.). Aussi, à travers ces enjeux, le test de leurs fonctionnalités par des méthodes actives et de monitorage (passive) est étudié, appliqué et adopté dans de nombreux domaines industriels et scientifiques.