Top Banner
Innovations techniques au service du test de recette automatisé Rémy Sanlaville Expert Senior en Ingénierie Logicielle Orange Labs [email protected] Emmanuel Hugonnet Architecture J2EE Silverpeas [email protected] Hervé Lourdin Architecte Sénior / Coach agile OCTO Technology [email protected]
42

Innovations Techniques Au Service Du Test De Recette Automatisé

Dec 21, 2014

Download

Technology

Présentation faite à l'USI 2009 sur l'état de l'art pour les tests de recette automatisés dans le monde Java.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Innovations Techniques Au Service Du Test De Recette Automatisé

Innovations techniques au service du test de recette

automatisé

Rémy SanlavilleExpert Senior en Ingénierie Logicielle  Orange [email protected]

Emmanuel HugonnetArchitecture [email protected]

Hervé LourdinArchitecte Sénior / Coach agileOCTO [email protected]

Page 2: Innovations Techniques Au Service Du Test De Recette Automatisé

Contrat de la session

• Cette session a pour objectif : – Faire l’état des lieux en terme de technologies pour les tests de

recettes automatisés depuis ces 4 dernières années

• Cette session s’adresse à :– Tous: développeurs, testeurs, maîtrise d'ouvrage: Geek et Boss

– A des personnes qui savent ce que sont les tests fonct. auto.

• A la sortie de cette session vous aurez : – Découverts de nouveaux outils

– Identifié les limites des outils actuels

– Pris connaissance des nouveaux axes d’innovation autour des tests fonctionnels automatisés

© OCTO Technology - Université du Système d’Information 2

Page 3: Innovations Techniques Au Service Du Test De Recette Automatisé

Agenda

• Un bref rappel de la situation…• Innovations autour des tests de recette automatisés• Synthèse• Conclusion

© OCTO Technology - Université du Système d’Information 3

Page 4: Innovations Techniques Au Service Du Test De Recette Automatisé

Un bref rappel de la situation…

© OCTO Technology - Université du Système d’Information 4

Page 5: Innovations Techniques Au Service Du Test De Recette Automatisé

Les Tests

Fonctionnel

Technique

ProduitEquipe

Page 6: Innovations Techniques Au Service Du Test De Recette Automatisé

Les Tests

Fonctionnel

Technique

ProduitEquipe

Page 7: Innovations Techniques Au Service Du Test De Recette Automatisé

Les tests fonctionnels pour…

Tests fonctionnels automatisés

Page 8: Innovations Techniques Au Service Du Test De Recette Automatisé

Acceptance Test Driven Development

© OCTO Technology - Université du Système d’Information 8ATDD cycle model by Jim Shore with changes suggested by GrigoriMelnick, Brian Marick, and Elisabeth Hendrickson

Page 9: Innovations Techniques Au Service Du Test De Recette Automatisé

Innovations autour des tests de recette automatisés

© OCTO Technology - Université du Système d’Information 9

Page 10: Innovations Techniques Au Service Du Test De Recette Automatisé

Axes d’analyse

© OCTO Technology - Université du Système d’Information 10

Page 11: Innovations Techniques Au Service Du Test De Recette Automatisé

Expressivité des tests

© OCTO Technology - Université du Système d’Information 11

Page 12: Innovations Techniques Au Service Du Test De Recette Automatisé

Dites-le avec un tableau !

© OCTO Technology - Université du Système d’Information 12

Utilisateur Mot de passe Message

jdoe elephant Echec !

dgray wilde1890 Echec !

dcooper d1ane4ever! Succès !

. . . . . . . . .

Page 13: Innovations Techniques Au Service Du Test De Recette Automatisé

Par exemple…

© OCTO Technology - Université du Système d’Information 13

Page 14: Innovations Techniques Au Service Du Test De Recette Automatisé

Dites-le avec un tableau

• Historiquement le format proposé par les outils les plus avancé à ce jour

• Le format tabulaire est simple et autoportant• Il permet de formaliser la majorité des cas de tests• C’est un format idéal pour tester des fonctions dites

« sans état »

• Langages supportés : Java / Ruby / C# / Python / SmallTalk

© OCTO Technology - Université du Système d’Information 14

Page 15: Innovations Techniques Au Service Du Test De Recette Automatisé

Raconter une histoire avec un tableau

© OCTO Technology - Université du Système d’Information 15

Page 16: Innovations Techniques Au Service Du Test De Recette Automatisé

Behaviour Driven Development

• Nouvelle forme expressive des tests– Définir l’intention d’une fonctionnalité par l’exemple

© OCTO Technology - Université du Système d’Information 16

Etant donnée … [ un contexte ]

Quand … [ un événement ]

Alors… [ un état attendu ]

Etant donnée … [ un contexte ]

Quand … [ un événement ]

Alors… [ un état attendu ]

Etant donné un nouvel Utilisateur BartLorsqu'il crée un compte avec un mot de passe p@ssw0rdAlors le message 'SUCCESS' apparait

Et lorsqu'il s'authentifie avec Bart / p@ssw0rdAlors le message 'Hello Bart' apparait

Etant donné un nouvel Utilisateur BartLorsqu'il crée un compte avec un mot de passe p@ssw0rdAlors le message 'SUCCESS' apparait

Et lorsqu'il s'authentifie avec Bart / p@ssw0rdAlors le message 'Hello Bart' apparait

Page 17: Innovations Techniques Au Service Du Test De Recette Automatisé

BDD – A new Generation

• Tests d'Acceptance• Prise en compte du reste

de l'équipe• Extraction des scénarios

• Evolution syntaxique de TDD

• Orienté développeur• Tout est dans le code

Page 18: Innovations Techniques Au Service Du Test De Recette Automatisé

Cucumber

Page 19: Innovations Techniques Au Service Du Test De Recette Automatisé

Cucumber

Page 20: Innovations Techniques Au Service Du Test De Recette Automatisé

Behaviour Driven Development

• Constats : – Bon formalisme pour définir des enchaînements d’évènements

(workflow)– Formalisme amenant naturellement fonctionnels & développeurs

à spécifier ensemble par l’exemple– Peine à trouver son public

• Format encore très orienté développeurs

• Cependant l’outillage tend à se rapprocher du monde des profils fonctionnels

© OCTO Technology - Université du Système d’Information 20

Page 21: Innovations Techniques Au Service Du Test De Recette Automatisé

Maintenabilité

© OCTO Technology - Université du Système d’Information 21

Page 22: Innovations Techniques Au Service Du Test De Recette Automatisé

Twist: fusion IDE et tests

• Le système de saisie des tests et l’environnement de développement du code de tests sont distincts– Le refactoring (ex : changement du nom du test) est douloureux– Aide à la réutilisation

© OCTO Technology - Université du Système d’Information 22

Page 23: Innovations Techniques Au Service Du Test De Recette Automatisé

Organisation

• Organiser les tests

© OCTO Technology - Université du Système d’Information 23

Page 24: Innovations Techniques Au Service Du Test De Recette Automatisé

Usabilité

© OCTO Technology - Université du Système d’Information 24

Page 25: Innovations Techniques Au Service Du Test De Recette Automatisé

Usabilité

• Les premiers outils (Fit / Fitnesse) sont difficiles d’accès pour les acteurs ciblés (fonctionnels / testeurs)

– Wiki sans éditeurs WYSIWYG– Contraint à apprendre le

langage wiki– Ne permet pas facilement de

documenter les tableaux de tests

© OCTO Technology - Université du Système d’Information 25

Page 26: Innovations Techniques Au Service Du Test De Recette Automatisé

Usabilité

• Toujours un wiki, mais déjà plus accessible :

© OCTO Technology - Université du Système d’Information 26

Page 27: Innovations Techniques Au Service Du Test De Recette Automatisé

Twist , vers une meilleure usabilité

• Les plus : – Un IDE dédié à l’écriture des

tests– Des facilités pour les

refactoring de tests

• Les moins : – Approche encore trop

centrée sur l’IHM• Selenium (Webapps)

• Franckenstein (Swing)

© OCTO Technology - Université du Système d’Information 27

Page 28: Innovations Techniques Au Service Du Test De Recette Automatisé

Documentation des tests

© OCTO Technology - Université du Système d’Information 28

Page 29: Innovations Techniques Au Service Du Test De Recette Automatisé

Documentation des tests

• L’ATDD prend le parti de spécifier par les tests mais peu d’outils permettent de les documenter

© OCTO Technology - Université du Système d’Information 29

Exemple de GreenPepper

Page 30: Innovations Techniques Au Service Du Test De Recette Automatisé

Documentation des tests

• Exemple de Concordion :– Format HTML

– Nécessite de travailler avec un éditeur HTML

– Toujours pas convenable pour un acteur fonctionnel

© OCTO Technology - Université du Système d’Information 30

Page 31: Innovations Techniques Au Service Du Test De Recette Automatisé

Intégration

© OCTO Technology - Université du Système d’Information 31

Page 32: Innovations Techniques Au Service Du Test De Recette Automatisé

Intégration à l’IDE

© OCTO Technology - Université du Système d’Information 32

Page 33: Innovations Techniques Au Service Du Test De Recette Automatisé

Au travers de JUnit

Page 34: Innovations Techniques Au Service Du Test De Recette Automatisé

Intégration à la Gestion de Configuration

© OCTO Technology - Université du Système d’Information 34

ProductionSprint N-1

DéveloppementSprint N

Quels Tests pour quel code ?

MétierSprint N + 1

Page 35: Innovations Techniques Au Service Du Test De Recette Automatisé

Intégration aux forges logicielle

• Intégration dans l'outil de Build pour pouvoir exécuter les tests d'acceptance sur le poste du développeur et le serveur d'intégration continue

© OCTO Technology - Université du Système d’Information 35

Page 36: Innovations Techniques Au Service Du Test De Recette Automatisé

Rapports

© OCTO Technology - Université du Système d’Information 36

Page 37: Innovations Techniques Au Service Du Test De Recette Automatisé

Rapports

• C’est aujourd’hui une des carences majeures des outils de tests fonctionnels automatisés

• Les rapports sont quasi inexistants et demandent aux projets de les implémenter eux même en fonction des métriques qu’ils souhaitent mettre en place

• Les équipes ont besoin de rapports pour suivre leur évolution au fil du projet – couverture des exigences,

– Suivi des régressions

– …

© OCTO Technology - Université du Système d’Information 37

Page 38: Innovations Techniques Au Service Du Test De Recette Automatisé

Rapports : Historisation des tests

© OCTO Technology - Université du Système d’Information 38

• L’historisation des tests joués et de leurs résultats est le seul réel rapport disponible à ce jour dans Fitnesse…

Page 39: Innovations Techniques Au Service Du Test De Recette Automatisé

Synthèse

© OCTO Technology - Université du Système d’Information 39

Page 40: Innovations Techniques Au Service Du Test De Recette Automatisé

Synthèse

© OCTO Technology - Université du Système d’Information 40

Page 41: Innovations Techniques Au Service Du Test De Recette Automatisé

Conclusion

• On distingue deux grandes familles de tests fonctionnels qui adressent respectivement :– Les fonctionnalités sans état facilement testable par des grilles de

tests– Les fonctionnalités intégrant un workflow d’actions

• L’approche BDD se prête bien à ce type de tests

• Le nombre d’outils augmente de plus en plus

• Cependant aucun ne regroupe l’ensemble des fonctionnalités nécessaires– Fitnesse / Slim semble à ce jour le produit qui vit le plus et voit son

nombre de fonctionnalités grossir plusieurs fois par semestre !

© OCTO Technology - Université du Système d’Information 41

Page 42: Innovations Techniques Au Service Du Test De Recette Automatisé

Questions / Réponses

© OCTO Technology - Université du Système d’Information 42