LAURENT PY
@py_laurent
laurent.py@hiptest.net
https://hiptest.net
1
Equipes Agiles & DevOps :
Testez la valeur d’abord !
PLAN
2
Le match vitesse VS qualité
Étape 1 : Tester l’idée
Étape 2 : Premiers tests en production
Étape 3 : Consolidation des tests
Conclusion : Bénéfices
VITESSE VS QUALITÉ
3
Equipe
Devs/testeurs
Ops
Product manager
Utilisateurs
Marketing
Support
NOTRE EQUIPE DEVOPS
UNE JOURNÉE AVEC UNE ÉQUIPE DEVOPS
5
MATIN
APRÈS-MIDI
Café
Feature
Feature à valider
Stand-up
Correction du bugReport du bug
Surveiller la production
Café
Surveiller la production
Fin de la journée
Notification user
Validation
PO
Feature accessible
RETOUR DE L’UTILISATEUR SUR LE LIVE
CHAT
6
“I like what I've seen so far and I've been very
impressed with the live support. Your team
managed to identify and fix a bug I'd found within
about 12 hours.”
Tom Graham
Product Innovation Software Manager
ET LE CLIENT/UTILISATEUR DANS TOUT
CELA?
7
L’enjeu n’est pas la vitesse de développement,
c’est la rapidité d’apprentissage et la flexibilité
Valeur VS Correct
DÉVELOPPEMENT D’UNE FONCTIONNALITÉ
8
Nous avons structuré notre processus de test autour des 3
questions suivantes:
1) Quelle valeur voulons-nous livrer à l’utilisateur ?
2) La fonctionnalité a-t-elle réellement un impact ?
3) Quelle est la performance du service et la fonctionnalité est-elle
toujours utilisée dans le temps ?
ETAPE 1: TESTER L’IDÉE
9
10
• Utilisation de personae pour créer une première “intimité” client
• Définir des hypothèses business
• Behavior Driven Development (BDD) pour capturer la discussion
Bénéfice attendu
QUELLE VALEUR VOULONS NOUS LIVRER?
Support
Devs/testeurs
Marketing
Ops
Product
manager
11
• Une compréhension partagée du système avec des
exemples
• Basé sur un langage métier commun
• Définition du stop
• Lorsque que les tests/exemples sont automatisés, ils
deviennent la documentation vivante.
BDD EN UN CLIN D’OEIL
12
Création d’un ou plusieurs
scénarios Gherkin
Parfois
interview
client+
CAPTURE DU COMPORTEMENT ATTENDU
13
• Utiliser la syntaxe Gherkin (style déclaratif)
• Etre cohérent dans la terminologie métier utilisée
• Refactoring continu des tests
QUELQUES BONNES PRATIQUES
14
ETAPE 2: PREMIERS
TESTS EN PRODUCTION
15
16
1. L’étape 1 a permis de dégager une compréhension
partagée de la feature (comportement & impact)
2. L’équipe développe un premier niveau fonctionnel
guidé par les scénarios
3. Déploiement en production (limité ou non)
DÉVELOPPEMENT
17
• Mesure de l’usage
- NB users
- NB requêtes…
• Mesure de l’impact
- Sign-up
- Revenu
- Rétention…
La discussions sur les indicateurs consolide la compréhension partagée !
MESURE DE L’IMPACT
18
Fonctionnalité de Notifications
• Usage
- NB clicks NB de notifications
- NB utilisateurs
• Business: aucune
Fonctionnalité de Refactoring
• Usage
- NB d’actions de refactoring
- NB d’impacts
• Business: rétention
EXEMPLES DE MESURE
19
LIVE CHAT POUR FEEDBACK TEMPS RÉEL
20
• L’équipe utilise son propre produit pour le test
• Autre exemple : refonte de l’application envoi de colis par
TNT
L’équipe est allée physiquement envoyer des colis et a trouvé des bugs.
EAT YOUR OWN DOG FOOD
21
ETAPE 3: CONSOLIDATION
DES TESTS
22
23
1. L’étape 2 a permis de valider l’impact sur les
utilisateurs
2. Investissement sur la performance et les tests de non
régression (automatisation 100%)
3. La fonctionnalité est généralisée à l’aide d’un switch
applicatif
MISE À DISPOSITION GÉNÉRALE
24
Credit to Martin Fowler
• 450 tests BDD
• 1400 tests Ember
• 2600 tests Rspec
NOS TESTS AUTOMATISÉS
25
Appsignal, Pingdom, Scalingo et Logmatic
MONITORING DES PERFORMANCES EN CONTINU
26
MONITORING DE L’USAGE EN CONTINU
27
CONCLUSION
28
29
•Tester la valeur au plus tôt et en continu
•Investissement progressif sur la qualité
•Porteur de sens pour l’équipe au quotidien
BÉNÉFICES DE L’APPROCHE
30
•Pas de stress au déploiement
•Environnement propice aux
expérimentations et changements
•Bon fonctionnement du service porté par
tous
TOUS RESPONSABLES

Equipes Agiles & DevOps : Testez la valeur d’abord !

  • 1.
  • 2.
    PLAN 2 Le match vitesseVS qualité Étape 1 : Tester l’idée Étape 2 : Premiers tests en production Étape 3 : Consolidation des tests Conclusion : Bénéfices
  • 3.
  • 4.
  • 5.
    UNE JOURNÉE AVECUNE ÉQUIPE DEVOPS 5 MATIN APRÈS-MIDI Café Feature Feature à valider Stand-up Correction du bugReport du bug Surveiller la production Café Surveiller la production Fin de la journée Notification user Validation PO Feature accessible
  • 6.
    RETOUR DE L’UTILISATEURSUR LE LIVE CHAT 6 “I like what I've seen so far and I've been very impressed with the live support. Your team managed to identify and fix a bug I'd found within about 12 hours.” Tom Graham Product Innovation Software Manager
  • 7.
    ET LE CLIENT/UTILISATEURDANS TOUT CELA? 7 L’enjeu n’est pas la vitesse de développement, c’est la rapidité d’apprentissage et la flexibilité Valeur VS Correct
  • 8.
    DÉVELOPPEMENT D’UNE FONCTIONNALITÉ 8 Nousavons structuré notre processus de test autour des 3 questions suivantes: 1) Quelle valeur voulons-nous livrer à l’utilisateur ? 2) La fonctionnalité a-t-elle réellement un impact ? 3) Quelle est la performance du service et la fonctionnalité est-elle toujours utilisée dans le temps ?
  • 9.
    ETAPE 1: TESTERL’IDÉE 9
  • 10.
    10 • Utilisation depersonae pour créer une première “intimité” client • Définir des hypothèses business • Behavior Driven Development (BDD) pour capturer la discussion Bénéfice attendu QUELLE VALEUR VOULONS NOUS LIVRER? Support Devs/testeurs Marketing Ops Product manager
  • 11.
    11 • Une compréhensionpartagée du système avec des exemples • Basé sur un langage métier commun • Définition du stop • Lorsque que les tests/exemples sont automatisés, ils deviennent la documentation vivante. BDD EN UN CLIN D’OEIL
  • 12.
    12 Création d’un ouplusieurs scénarios Gherkin Parfois interview client+ CAPTURE DU COMPORTEMENT ATTENDU
  • 13.
    13 • Utiliser lasyntaxe Gherkin (style déclaratif) • Etre cohérent dans la terminologie métier utilisée • Refactoring continu des tests QUELQUES BONNES PRATIQUES
  • 14.
  • 15.
    ETAPE 2: PREMIERS TESTSEN PRODUCTION 15
  • 16.
    16 1. L’étape 1a permis de dégager une compréhension partagée de la feature (comportement & impact) 2. L’équipe développe un premier niveau fonctionnel guidé par les scénarios 3. Déploiement en production (limité ou non) DÉVELOPPEMENT
  • 17.
    17 • Mesure del’usage - NB users - NB requêtes… • Mesure de l’impact - Sign-up - Revenu - Rétention… La discussions sur les indicateurs consolide la compréhension partagée ! MESURE DE L’IMPACT
  • 18.
    18 Fonctionnalité de Notifications •Usage - NB clicks NB de notifications - NB utilisateurs • Business: aucune Fonctionnalité de Refactoring • Usage - NB d’actions de refactoring - NB d’impacts • Business: rétention EXEMPLES DE MESURE
  • 19.
    19 LIVE CHAT POURFEEDBACK TEMPS RÉEL
  • 20.
    20 • L’équipe utiliseson propre produit pour le test • Autre exemple : refonte de l’application envoi de colis par TNT L’équipe est allée physiquement envoyer des colis et a trouvé des bugs. EAT YOUR OWN DOG FOOD
  • 21.
  • 22.
  • 23.
    23 1. L’étape 2a permis de valider l’impact sur les utilisateurs 2. Investissement sur la performance et les tests de non régression (automatisation 100%) 3. La fonctionnalité est généralisée à l’aide d’un switch applicatif MISE À DISPOSITION GÉNÉRALE
  • 24.
    24 Credit to MartinFowler • 450 tests BDD • 1400 tests Ember • 2600 tests Rspec NOS TESTS AUTOMATISÉS
  • 25.
    25 Appsignal, Pingdom, Scalingoet Logmatic MONITORING DES PERFORMANCES EN CONTINU
  • 26.
  • 27.
  • 28.
  • 29.
    29 •Tester la valeurau plus tôt et en continu •Investissement progressif sur la qualité •Porteur de sens pour l’équipe au quotidien BÉNÉFICES DE L’APPROCHE
  • 30.
    30 •Pas de stressau déploiement •Environnement propice aux expérimentations et changements •Bon fonctionnement du service porté par tous TOUS RESPONSABLES