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