Non regression

Amélioration pour le contrôle de non regression

Analyse automatique des surcouches

HTML

Lancer une analyse des sites contenants des surcouches qui pourraient être impacté par la release : Des fichiers modifiés dans la release sont écrasés par une surcouche Des fichiers modifiés sont appelés (partial) dans une surcouche

Style

Trouver un système de suivi qui pourrait remonter les sélecteurs CSS modifiés ? Actuellement, s’il y a une modification d’un sélecteur, on recherche manuellement dans l’organisation github (https://github.com/osunyorg) si un site ou un thème utilise un sélecteur qui deviendrait obsolète.

Non régression visuelle

Le système de non régression visuelle compare les pages de la version précédente à la version de la release. Ils remontent les différences dans un canal slack dédié aux sites suivis (par exemple l’équipe front Ecedi veut suivre uniquement les sites de Rennes).

Objectifs de contrôle

  • Responsivité dans tous les contextes
  • Compatibilité navigateurs
  • Régression visuelle suite à évolution du thème

https://fr.wikipedia.org/wiki/Test_de_Jo%C3%ABl

1. Responsivité

Écrire une liste des tailles ?

Très grands écrans ?

2. Compatibilité navigateurs

Écrire une liste des contextes ?

Utiliser cross-browser testing ?

Utiliser BackstopJS ?

3. Non régression visuelle
  • Github action

  • Pre-release du thème

  • Dans l’action de pre-release, screenshot d’une série de pages définies en amont

  • Screenshot avec la release précédente

  • Mise à jour du thème

  • Screenshot post-release

  • Envoi des paires de screenshots à un service tiers

  • Service tiers

  • App Rails à fabriquer

  • A la réception de paires de screenshots :

  • Analyse des diffs d’image

  • Si diff, notif Slack et Issue Github

Dans la notif, lien vers une page listant les diffs suite à la release https://github.com/instantink/image_compare ?