Les tests de différences visuelles constituent un moyen efficace pour se prémunir des régressions au sein des applications web. Cette présentation décrit les types d’application pour lesquelles ces tests présentent de l’intérêt, les outils que nous avons adoptés, et des retours d’expérience sur les avantages et inconvénients de ces outils.
Après avoir écrit des tests unitaires pour les parties métier de notre code, nous avons souhaité ajouter un autre niveau de vérifications automatisées : les tests de différences visuelles. Ce vieux rêve des développeurs web consiste à comparer visuellement les pages web d'une source reconnue comme fiable (baseline) avec la version que l'on s'apprête à déployer. Il est ainsi possible de vérifier l'impact des nouvelles fonctionnalités sur une nouvelle version, s'assurer de la non régression, et une fois l'impact visuel éventuel accepté, établir une nouvelle baseline pour non régression future. Cette présentation décrit des cas concrets dans lesquels ces types de vérifications présentent de l’intérêt. Nous verrons ensuite l’architecture et le workflow que nous avons adoptés afin de relever le défi, à l’aide d’une librairie python nommée dpxdt développée chez Google. Nous terminerons par un retour d’expérience sur les interactions avec notre système d’intégration continue, des pistes d'amélioration, et les limites du procédé.