Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile...
Transcript of Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile...
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Concilier Agilité, Exigences et Continuous Delivery :
Retour d’expérience PagesJaunes
Paris - 14/04/2015
Fabien Grellier CTO Pagesjaunes.fr
@FabGrellier
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Quelques chiffres
2
5ème 4 301 238
7
50
350 000 12000
JFTL 2015 – Retour d’expérience PagesJaunes.fr
NewPagesjaunes.fr : enjeux
Raccourcir le TTM et le TTR
• Mise en production technique plusieurs fois par jour
Réduire les coûts
• Automatiser tout ce qui peut l’être
• Améliorer l’efficacité et la maintenabilité des tests automatiques
• Mieux cibler les impacts des évolutions sur le patrimoine de tests
Améliorer la qualité globale du service
• Réduire le nombre d’anomalies détectées en production
• Définir une stratégie de tests maximisant la qualité à cout constant
3
TTM : Time To Market
TTR : Time To Repair
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Cycle actuel de mise en production
4
Equipe 1 Développements
MMF1
Mise au
point
MEP
Développements
MMF2
Mise au
point
MEP
Développement
s MMF3
Equipe 2 Développements
MMF1
Mise au
point
Développements
MMF2
Mise au
point
Développement
s MMF3
Equipe 3 Développements
MMF1
Mise au
point
Développements
MMF2
Mise au
point
Développement
s MMF3
Production
6 semaines
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Cycle proposé avec NewPJ
5
Equipe 1 D M
MEP
Equipe 2 Développements
MMF1 M
Equipe 3 Dev MMF1 M
Production
Tests
A/B
D M D M
Tests A/B
D M D M D M D M
MEP MEP MEP MEP MEP MEP
MEP
Développements
MMF1 M
Développements
MMF1 M
MEP MEP
MEP
Dev MMF1 M
Développements M Dév M
MEP MEP
Dev MMF1 M Tests A/B
D M D M D M D M Dev MMF1 M
MEP MEP MEP MEP MEP MEP MEP
D M Développements Mise au point
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Leviers identifiés
6
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Leviers identifiés
7
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Alpha
Scrum Master
Recetteur
Tech Lead
Développeur
Développeur
Développeur
Designer
Dev HTML
PO
Recetteur
Bravo
Scrum Master
Recetteur
Tech Lead
Développeur
Développeur
Développeur
Designer
Dev HTML
PO
Recetteur
Charly
Scrum Master
Recetteur
Tech Lead
Développeur
Développeur
Développeur
Designer
Dev HTML
PO
Recetteur
Delta
Scrum Master
Recetteur
Tech Lead
Développeur
Développeur
Développeur
Designer
Dev HTML
PO
Recetteur
Organisation des équipes : Feature Teams S
èvre
s
Re
nn
es
JFTL 2015 – Retour d’expérience PagesJaunes.fr 9
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Modularité : Définition d’un module
10
Code
• Ecrit par le développeur
• Testé unitairement par le développeur
Exigences (outil Polarion)
• Ecrites par le TechLeader, le PO, le RA
• Exprime l’ensemble des besoins techniques et
fonctionnels de façon pérenne
Tests
• Vérifient la conformité d’un module par rapport
aux exigences
• Techniques : unitaires, intégrations,
performances
• Fonctionnels : sélénium, REST Assured
Automatisation des tests
pour le Continuous
Delivery
Module complet et autonome, qui communique en REST
• Contient du code, des exigences, des tests,
JFTL 2015 – Retour d’expérience PagesJaunes.fr 11
Alpha Bravo
Front-Office
Orchestrateurs
API
Continuous Delivery
Production
Charly Delta
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Leviers identifiés
12
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Pourquoi la GEX ?
13 Tests Exigences
Evolution
Anomalies
• Une description d’un fonctionnel à la cible et en cours d’évolution
Formalisation du fonctionnel
• Une analyse facilité de la complexité du changement, de son impact sur le SI et de la charge induite
Analyse d’impact
• Une gestion facilité de la traçabilité des besoins, des tests et des anomalies
Tracabilité Besoins / Tests / Anomalies
• Une vision de la couverture de test du SI
Couverture de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Leviers identifiés
14
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Vision macro de la chaine de Continuous Delivery
15
Build+
Tests Unitaires
+Qualimét
rie
Etape 1
Tests d’intégr
ation+
Tests de
perfs
Etape 2A
Tests Fonctionnels
Etape 2B
Tests Fonctio
nnels+
Tests de perform
ance
C
B
A
FIFO
ContiPerf
Etape 3
Tests par module Tests globaux
Tests Manuel
s+
Tests Visuels
Etape 3bis
Chaine automatisée
Mo
du
les
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Leviers identifiés
16
Projet NewPJ.fr
Organisation
Modularité
Ingéniériedes
exigences
ContinuousDelivery
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Stratégie de tests : définir, pour chaque type de tests
17
Outils, environnements et types de données
nécessaires
Seuils d’acceptation dans la chaine CD par criticité
d’exigence
Profondeur en fonction de la criticité des exigences
Stratégie de tests
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Profondeur de tests en fonction de la criticité de l’exigence
18
Critique
Majeure
Mineure
Accessoire
Quelques tests minimalistes Quelques tests non fonctionnels Seuil d’acceptation des tests à 90%
Quelques tests sur les exceptions Plus de types de tests non fonctionnels Seuil d’acceptation des tests à 60%
Enrichissement des types et de la profondeur des tests Seuil d’acceptation des tests à 90%
Tous les types de tests mis en place Profondeur maximale (exceptions, limites, etc …) Seuil d’acceptation des tests à 100%
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Lien entre exigences et Continuous Delivery
19
3bis
Test
s d
es m
éth
od
esB
uild
Test
s d
es d
épen
dan
ces
100% 100
%
Test
s fo
nct
ion
nel
s
Test
s fo
nct
ion
nel
s
Test
s d
e p
erfo
rman
ce
<1%err
Test
s fo
nct
ion
nel
s
Test
s d
e p
erfo
rman
ce
<1%err
Test
s fo
nct
ion
nel
s
Test
s d
e p
erfo
rman
ce
<1%err
100%
0
0
0 # mineures
# majeures
# bloquantes
Accessoire
Mineur
Majeur
Taux de réussite attendu
Test
s d
es v
isu
els
Test
s d
es v
isu
els
100%
Co
uve
rtu
re
cod
e
>80%
Test
s d
e p
erfo
rman
ce
Sup
ervi
sio
n
(pro
d)
100%
Sup
ervi
sio
n
Sup
ervi
sio
n
<1%err
Sup
ervi
sio
n (p
ré-p
rod
)
100%
SLA99%
100%
100%
90%
60%
50%
90%
60%
50%
90%
60%
50% 100
%
90%
60%
50%
Critique
0
95
2 0
95
2
0
95
2
0 # accessoires
Exigences Anomalies
Valeurs
dépendantes
de la criticité de
l’exigence
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Typologie des tests
Tests Parcours
Tests Fonctionnels
Front
Tests Fonctionnels API
Tests Intégration
Tests Unitaires
Tests parcours
Tests Intégratio
nTests
Unitaires
Manuels Tests Manuels (2379)
51
1893
2152
732
471367%
1436
190
320151%
NEWPJ VINTAGE
13
Test
s A
uto
mat
isés
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Activités de tests dans l’équipe Agile
21
Non régression Visuelle
Si le module est validé, NR Visuelle pour vérifier la conformité
Commit
Tests exécutés dans la chaine CD
Exécution
En environnement de développement
Implémentation
Automatisation Personne différente de celui qui a préparé
Préparation
Ecriture des cas de tests dans Polarion Est il automatisable ?
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Tests et recette : qui fait quoi ?
15
Préparation
Implémentation
Exécution
Equipe Agile 1
Tests Transverses
Delivery Management
Non régression
Chaine Continuous Delivery
AuditContrôle Indicateurs
QualitéStratégie de tests
globale
Préparation
Implémentation
Exécution
Equipe Agile 2
Non régression
Préparation
Implémentation
Exécution
Equipe Agile 3
Non régression
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Difficultés rencontrées
23
Ventilation des exigences sur les
APIs
Formalisation des exigences
techniques
Concilier référentiel d’exigences et
maquettes Ergo-design
Recette non automatisable
Gestion des branches
Sur-qualité
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Conclusion
Passage de 1 version par mois à 1 version par semaine
Amélioration de la qualité à cout constant
• Meilleur ciblage des tests et une maitrise de la couverture des exigences par les
tests
Amélioration de la productivité globale
• Automatisation complète du processus de construction et d’exécution
Tracabilité du besoin et maitrise des impacts des évolutions
fonctionnelles sur les exigences, les tests, le code
24
JFTL 2015 – Retour d’expérience PagesJaunes.fr
Vers l’infini, et au-delà !
25
DevOps Automatisation jusqu’à la
production
Delivery
quotidien
Responsive
Design
Coverity
JFTL 2015 – Retour d’expérience PagesJaunes.fr
QUESTIONS ?
@FabGrellier
26