Sujet de leadership

Amélioration des tests fronts à la BPI

🧑‍💻

La DevX n'est pas "bonne"

(lisibilité / écriture)

Problème

🛡️

Tests peu efficaces pour empêcher certaines régressions

🛡️

Tests peu efficaces pour empêcher certaines régressions

Pourquoi ?

On ne teste pas les interactions utilisateurs

On ne teste les composants qu' unitairement

🧑‍💻

La DevX n'est pas "bonne"

Pourquoi ?

Les tests sont plutôt longs à écrire

Une refacto sans changement métier impose des changements dans les tests

Compliqué de comprendre ce que fait un composant en lisant les tests

Pourquoi on ne fait pas mieux ?

On utilise Jasmine

permet de tester unitairement l'implémentation de chaque composant

Conséquence : outil qui n'est pas adapté pour tester les interactions utilisateurs

Exemples

MR du 07/10/2022

Tester la présence / l'absence d'éléments sur la page

Très difficile à faire avec Jasmine, qui n'est pas fait pour

ATL est fait pour ça

Bug

Bug du 10/10/2022

Tester des comportements de composants complexes

On en est où ?

Sur mon projet (Aldrin)

Jasmine

Jest

Angular Testing  Library

⏳️

On en est où ?

Sur mon projet (Aldrin) - Stratégie

  • 1800 tests répartis sur 180 fichiers
  • Tout nouveau fichier de composant doit être testé avec ATL (pokayoke : blocage CI)

  • Migration des anciens fichiers de tests pendant les journées qualité

On en est où ?

A la BPI

25 août

20 septembre

12 octobre

Ecritures de standards ATL

Formation des autres équipes travaillant sur BRI

jasmine & ATL sur frontend-main

jest et ATL sur

frontend-boost (migration)

jest et ATL sur frontend-imc (new)

Migration vers Jest

1800 tests

~ 11 JH

En comparaison, pour boost 300 tests pour 2 JH

Migration vers Jest

stratégie brute force

REX

stratégie progressive

Perte de temps (nombreux conflits)

Démotivation

Moins de conflits

Petit coût à l'entrée

Migration vers Jest

REX

Migration vers Jest a des avantages

  • Utilisation de librairies compatibles
  • Standard à Theodo

Coût est important pour un gros projet (+ de 500 tests)

Migration vers Jest

Gros projets

Petit projets

Migration vers ATL depuis Jasmine

Migration vers Jest puis ATL

frontend-main

frontend-boost

frontend-imc

up-expert

By Théo Dollé

up-expert

  • 180