Dans le contexte des protocoles réseaux, le test d'interopérabilité est utilisé pour vérifier si deux (ou plus) implémentations communiquent correctement tout en fournissant les services décrits dans les spécifications correspondantes. Le but de cet article est de fournir une méthode pour la génération de tests d'interopérabilité basée sur une définition formelle de la notion d'interopérabilité. Contrairement aux travaux précédents, cette étude prend en compte les blocages des implémentations qui peuvent être observés durant un test d'interopérabilité. Ceci est réalisé via la notion de critères d'interopérabilité, qui donnent des définitions formelles des notions d'interopérabilité existantes. Il est tout d'abord prouvé que la gestion des blocages améliore la détection de la non-interopérabilité. L'équivalence de deux des critères est aussi prouvée permettant l'introduction d'une nouvelle méthode de génération de tests d'interopérabilité. Cette méthode permet d'éviter le problème d'explosion combinatoire du nombre d'états que rencontrent les approches classiques.