Your SlideShare is downloading. ×
0
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Initiation aux tests fonctionnels - Philippe Kernevez - October 2009

1,731

Published on

Initiation aux tests fonctionnels - Philippe Kernevez - October 2009

Initiation aux tests fonctionnels - Philippe Kernevez - October 2009

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,731
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tests Fonctionnels Automatisés JUGL 08/10/2009 Philippe Kernévez pkernevez@octo.com Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 2. Licence! Creative Commons Contrat Paternité Pas d'Utilisation Commerciale Partage des Conditions Initiales à l'Identique 2.0 France http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 2
  • 3. AGENDA !! Des tests ? !! Tests fonctionnels automatisés !! !! !! !! !! !! Pourquoi ? Quand ? Avec quoi ? Pour quoi ? Qui ? Où ? !! Démonstration !! Effets de bord Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 4. Des tests ?! 4 Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 5. Rôle incontournable des tests! logiciel = complexe, invisible tester = rendre le logiciel « visible » rapport qualité/prix des tests Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 6. Typologie des Tests! Fonctionnel Tests de recette automatiques Tests d’ensemble de fonctionnalités UAT Tests d’usabilité Validation de cas d’utilisation Tests unitaires Tests d’intégration Tests de performance Test de disponibilité Tests de sécurité Faiseur Technique Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Contrôleur
  • 7. Pourquoi ?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 8. Réduire l’écart entre spécifications et tests! +100 +25 100 100 100 +50 Pourrait-on détecter ces écarts plus tôt ? Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 9. Réduire l’écart entre spécifications et tests! Elaborer les tests au plus tôt, avant le développement Réaliser un logiciel qui passe ces tests Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 10. Réduire les redondances entre spécifications et tests! Utiliser un format commun : Les Cas d’Utilisation Fusionner Cas D’utilisation et Tests sur ces cas Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 11. Exemple! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 12. GreenPepper – Octopus MicroFinance! http://wiki.octopusnetwork.org/display/OPUS/Late+repayment+-+flat+rate+-+based+on+overdue+principal Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 13. Quand ?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 14. Développement itératif! Ecrire tous les tests puis tout le logiciel ? Commencer plutôt par une partie du système. Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 15. Développement itératif! Puis répeter le processus par incréments successifs Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 16. Chronologie! Cycle en V : Spécification Conception Tests de recette automatiques Recette Dev Tests unitaires Tests de recette / Performances Homologation UAT Méthodes Agiles: Itération 1 Tests de recette Tests unitaires Itération 2 Tests de recette Tests unitaires Itération 3 Tests de recette Tests unitaires et performance Itération 4 Tests de recette Tests unitaires et performance Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Itération 5 Tests de recette UAT
  • 17. Evolution du temps consacré à la recette! !! Le temps de recette est !"#$"%&%'()!"% concentré en fin de projet !","$$"% $"*+#% !! A une période critique (proche de la livraison) !! Longtemps après le développement de la fonctionnalité !"#$"%&%'()!"% !! Le temps de recette est mieux réparti sur la durée du projet !","$$"% $"*+#% !! Minimisation du risque !! Diminution du coût (erreurs détectées plus tôt) Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 18. Avec quoi ?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 19. Limites des tests fonctionnels sur l’IHM! Automatisation par capture puis re-jeu !! !! !! !! !! !! tests sur l’IHM difficile à automatiser tests élaborés a posteriori changements fréquents maintenance coûteuse édition de script fastidieuse Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 20. Framework for Integrated Testing! Automatisation par construction !! !! !! !! !! !! tests sur les API indépendance à l’IHM tests élaborés à l’avance format tabulaire des tests intégrant des descriptions pas d’édition de scripts Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 21. Complémentarité des deux approches! Tests sur IHM Tests de type FIT •! Possibilité de valider l’IHM •! Facilité de création •! Ecriture « à priori » possible •! Proche des cas d’utilisation •! Ne peuvent pas être écrits « à priori » •! Plus difficiles à maintenir •!Ne permettent pas de valider l’IHM •! Win Runner •! … •! Fit / Fitnesse / Slim •! GreenPepper •!… Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 22. Fonctionnement! !! Fonctionnement Valeurs saisies Valeurs à vérifier exécute restitue Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 23. Fonctionnement! MOA MOE Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 24. Schéma de fonctionnement! FIT page de tests code de liaison Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique système testé
  • 25. Repository de tests Fitnesse! MOA Site intranet Composé de pages éditables Intégrant texte et schémas Organisé en suites de tests Permet d’exécuter tous les tests Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 26. Pour quoi?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 27. Types d’utilisation! !! Tester l’IHM (html) : !! possible avec FIT, mais pas forcément une solution optimale !! Tester un progiciel : !! lorsque la couche métier est exposée via une API java !! lorsqu’il y a des points d’entrée / sorties fichier !! Tester des traitements batch !! sur les fichiers en entrée et en sortie !! Tester une chaîne d’applications (EAI) !! aux points d’entrée de la chaîne ou via l’interface des outils EAI Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 28. Qui ?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 29. Conseils d’utilisation! !! utiliser en collaboration (MOA/MOE) !! travailler en mode itératif incrémental !! concevoir les tests au plan métier puis le code de liaison !! faire vivre la base de tests !! factoriser et normaliser les données de tests !! masquer les aspects non-fonctionnels !! surveiller la taille du code de liaison Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 30. Où ?! Tests fonctionnels automatisés Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 31. Exemple d’usine de développement! Code source (logiciel + tests) ! Tests unitaires Développeur Gestion de version Build Indicateurs qualité Développeur Logiciel Tests de recette auto. Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Livraison
  • 32. Mais aussi…! Démonstration Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 33. Fitnesse : D’autres jeux! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 34. DBFit! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 35. Fitnesse - Industrie! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 36. Effets de bord…! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 37. Méthodologie! Automatiser les tests permet un développement plus agile : !! !! !! !! supprime une partie des spécifications au profit des tests réduit le délai de retour d’information sur le système permet un développement itératif incrémental permet d’évaluer correctement la stabilité d’un système Les tests de recette permettent de piloter le projet : !! clarifier les besoins exprimés via des exemples concret !! piloter le projet à l’aide de jalons binaires !! mesurer l’avancement et la vélocité de l’équipe (nombre de TR passant par itération) Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 38. Pilotage du projet par les tests! Avancement = TR passants / nb. TR total estimé Productivité = TR passants / itération Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 39. Résultats constatés! Une mesure plus fiable de la productivité Le test devient l’unité de mesure (« Ce qui est testé n’est plus à faire ») Des coûts de maintenance maîtrisés La durée d'homologation d’une application complète n’est plus que de quelques jours Les anomalies de recette diminuent en nombre et en gravité (« Il n’y a plus de bug! ») Une gestion de la qualité plus pragmatique Les indicateurs (tests) permettent de mesurer la qualité intrinsèque du livrable La gestion de la qualité est entièrement intégrée au processus de développement (refactoring au fil des itérations) Une meilleure évaluation du risque Un feedback fréquent permet de suivre l’évolution Un projet peut être arrêté après seulement quelques itérations Des équipes qui restent motivées tout le long du projet La pression est lissée Une industrialisation du processus qui est répétable et répété toutes les 3 semaines Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 40. Bienfaits colatéraux! Documenter ce que fait votre logiciel par des tests Piloter le projet via une mesure univoque Tester Automatiser les tests pour éviter les erreurs manuelles Collaborer entre les équipes technique et fonctionnelle en spécifiant par les tests Assurer la nonrégression en constituant un harnais de tests Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 41. Conclusion! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 42. Automatiser ses tests fonctionnels pour !! Un logiciel plus fiable !! Moins de stress !! Une équipe, alignée !! Un meilleur pilotage !! Un gain de temps « Passer des tests manuels aux spécifications exécutables… » Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 43. Philippe KERNEVEZ pkernevez@octo,com Avenue du Théatre, 7! 1010 Lausanne Tél : +41 21 312 94 15! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

×