SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
Exemple!

Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
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
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
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
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
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
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
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
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
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
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
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
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
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é
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
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
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
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
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
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
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
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
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
DBFit!

Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Fitnesse - Industrie!

Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
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
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
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
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
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
Conclusion!

Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
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
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

Contenu connexe

Tendances

Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...AQT-presentations
 
Automatisation des tests v2
Automatisation des tests v2Automatisation des tests v2
Automatisation des tests v2CLIO SA
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Introduction à la validation de logiciel
Introduction à la validation de logicielIntroduction à la validation de logiciel
Introduction à la validation de logicielJean-Paul CARMONA
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
OBJECTIF QUALITÉ DIGITALE : Comment élaborer une bonne stratégie de test pou...
OBJECTIF QUALITÉ DIGITALE :  Comment élaborer une bonne stratégie de test pou...OBJECTIF QUALITÉ DIGITALE :  Comment élaborer une bonne stratégie de test pou...
OBJECTIF QUALITÉ DIGITALE : Comment élaborer une bonne stratégie de test pou...StardustTesting
 
Intro sur les tests unitaires
Intro sur les tests unitairesIntro sur les tests unitaires
Intro sur les tests unitairesPHPPRO
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testingjubehr
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSOAT
 
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!DC CONSULTANTS
 
Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests typemadspock
 
Cas Client Bouygues Telecom - CloudNetCare
Cas Client Bouygues Telecom - CloudNetCareCas Client Bouygues Telecom - CloudNetCare
Cas Client Bouygues Telecom - CloudNetCareCloudNetCare
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFETelecomValley
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...TelecomValley
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logicielUSTHB & DELTALOG
 

Tendances (20)

Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...
Les outils d’automatisation de tests (scripting) : Adoption et enjeux (comple...
 
Automatisation des tests v2
Automatisation des tests v2Automatisation des tests v2
Automatisation des tests v2
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Introduction à la validation de logiciel
Introduction à la validation de logicielIntroduction à la validation de logiciel
Introduction à la validation de logiciel
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
OBJECTIF QUALITÉ DIGITALE : Comment élaborer une bonne stratégie de test pou...
OBJECTIF QUALITÉ DIGITALE :  Comment élaborer une bonne stratégie de test pou...OBJECTIF QUALITÉ DIGITALE :  Comment élaborer une bonne stratégie de test pou...
OBJECTIF QUALITÉ DIGITALE : Comment élaborer une bonne stratégie de test pou...
 
Intro sur les tests unitaires
Intro sur les tests unitairesIntro sur les tests unitaires
Intro sur les tests unitaires
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testing
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests type
 
Cas Client Bouygues Telecom - CloudNetCare
Cas Client Bouygues Telecom - CloudNetCareCas Client Bouygues Telecom - CloudNetCare
Cas Client Bouygues Telecom - CloudNetCare
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 

En vedette

Réunion technique PMSIpilot - Mars 2010
Réunion technique PMSIpilot - Mars 2010Réunion technique PMSIpilot - Mars 2010
Réunion technique PMSIpilot - Mars 2010PMSIpilot
 
Diagnostic Projet Jean-Antoine Moreau
Diagnostic Projet  Jean-Antoine MoreauDiagnostic Projet  Jean-Antoine Moreau
Diagnostic Projet Jean-Antoine MoreauJean-Antoine Moreau
 
Présentation en avant première de qwesta le 3 décembre 2015
Présentation en avant première de qwesta le 3 décembre 2015Présentation en avant première de qwesta le 3 décembre 2015
Présentation en avant première de qwesta le 3 décembre 2015Sébastien MUFF
 
Realtime Framework Webinar - Channels and Security
Realtime Framework Webinar - Channels and SecurityRealtime Framework Webinar - Channels and Security
Realtime Framework Webinar - Channels and SecurityRealtime
 
OPAL-RT - Democratize real-time simulation
OPAL-RT - Democratize real-time simulationOPAL-RT - Democratize real-time simulation
OPAL-RT - Democratize real-time simulationOPAL-RT TECHNOLOGIES
 
Conception et refonte d'un site web : les bonnes pratiques
Conception et refonte d'un site web : les bonnes pratiquesConception et refonte d'un site web : les bonnes pratiques
Conception et refonte d'un site web : les bonnes pratiquesTarn Tourisme
 
Automatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot FrameworkAutomatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot Frameworklaurent bristiel
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)Electronic Arts / DICE
 
TestLink introduction
TestLink introductionTestLink introduction
TestLink introductionDavid Ionut
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Aiza Hernández
 
Nti, ntic, ti, tic
Nti, ntic, ti, ticNti, ntic, ti, tic
Nti, ntic, ti, ticIraisOcampo
 
Contexto misiones de centro de investigación histórica guillermo furlong
Contexto misiones de   centro de investigación histórica guillermo furlongContexto misiones de   centro de investigación histórica guillermo furlong
Contexto misiones de centro de investigación histórica guillermo furlongsusanabartz
 
Cambios en la accion docente ptt
Cambios en la accion docente pttCambios en la accion docente ptt
Cambios en la accion docente pttGiovani Pérez
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4Maia Legg
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Aiza Hernández
 

En vedette (20)

Réunion technique PMSIpilot - Mars 2010
Réunion technique PMSIpilot - Mars 2010Réunion technique PMSIpilot - Mars 2010
Réunion technique PMSIpilot - Mars 2010
 
Diagnostic Projet Jean-Antoine Moreau
Diagnostic Projet  Jean-Antoine MoreauDiagnostic Projet  Jean-Antoine Moreau
Diagnostic Projet Jean-Antoine Moreau
 
Présentation en avant première de qwesta le 3 décembre 2015
Présentation en avant première de qwesta le 3 décembre 2015Présentation en avant première de qwesta le 3 décembre 2015
Présentation en avant première de qwesta le 3 décembre 2015
 
Realtime Framework Webinar - Channels and Security
Realtime Framework Webinar - Channels and SecurityRealtime Framework Webinar - Channels and Security
Realtime Framework Webinar - Channels and Security
 
OPAL-RT - Democratize real-time simulation
OPAL-RT - Democratize real-time simulationOPAL-RT - Democratize real-time simulation
OPAL-RT - Democratize real-time simulation
 
Conception et refonte d'un site web : les bonnes pratiques
Conception et refonte d'un site web : les bonnes pratiquesConception et refonte d'un site web : les bonnes pratiques
Conception et refonte d'un site web : les bonnes pratiques
 
Automatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot FrameworkAutomatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot Framework
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)
 
TestLink introduction
TestLink introductionTestLink introduction
TestLink introduction
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)
 
Nti, ntic, ti, tic
Nti, ntic, ti, ticNti, ntic, ti, tic
Nti, ntic, ti, tic
 
Roxy
RoxyRoxy
Roxy
 
Futurama
FuturamaFuturama
Futurama
 
Contexto misiones de centro de investigación histórica guillermo furlong
Contexto misiones de   centro de investigación histórica guillermo furlongContexto misiones de   centro de investigación histórica guillermo furlong
Contexto misiones de centro de investigación histórica guillermo furlong
 
Cambios en la accion docente ptt
Cambios en la accion docente pttCambios en la accion docente ptt
Cambios en la accion docente ptt
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)
 
Santé et modes de vie
Santé et modes de vieSanté et modes de vie
Santé et modes de vie
 
Diario
DiarioDiario
Diario
 

Similaire à Initiation aux tests fonctionnels - Philippe Kernevez - October 2009

Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009JUG Lausanne
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009JUG Lausanne
 
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009JUG Lausanne
 
Objet direct 2013-05-11 Microsoft ALM 2013 Software Factory
Objet direct 2013-05-11 Microsoft ALM 2013 Software FactoryObjet direct 2013-05-11 Microsoft ALM 2013 Software Factory
Objet direct 2013-05-11 Microsoft ALM 2013 Software FactoryFactoVia
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceFrançois Le Droff
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
JUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/GrailsJUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/Grailscyrilpicat
 
Petit-Déjeuner : Ceci n'est pas un mobile
Petit-Déjeuner : Ceci n'est pas un mobilePetit-Déjeuner : Ceci n'est pas un mobile
Petit-Déjeuner : Ceci n'est pas un mobileOCTO Technology
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! frameworkBenoît Simard
 
20100910 mda en-2010-jug_summer_camp
20100910 mda en-2010-jug_summer_camp20100910 mda en-2010-jug_summer_camp
20100910 mda en-2010-jug_summer_campBENOIS Jérôme
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Damien Laureaux
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureGuillaume Laforge
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La DemandeArnaud Héritier
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérienceKhanh Maudoux
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation MavenSOAT
 

Similaire à Initiation aux tests fonctionnels - Philippe Kernevez - October 2009 (20)

Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
 
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
 
Objet direct 2013-05-11 Microsoft ALM 2013 Software Factory
Objet direct 2013-05-11 Microsoft ALM 2013 Software FactoryObjet direct 2013-05-11 Microsoft ALM 2013 Software Factory
Objet direct 2013-05-11 Microsoft ALM 2013 Software Factory
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
JUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/GrailsJUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/Grails
 
Petit-Déjeuner : Ceci n'est pas un mobile
Petit-Déjeuner : Ceci n'est pas un mobilePetit-Déjeuner : Ceci n'est pas un mobile
Petit-Déjeuner : Ceci n'est pas un mobile
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! framework
 
20100910 mda en-2010-jug_summer_camp
20100910 mda en-2010-jug_summer_camp20100910 mda en-2010-jug_summer_camp
20100910 mda en-2010-jug_summer_camp
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande
 
1.pdf
1.pdf1.pdf
1.pdf
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 
GWT no-dto
GWT no-dtoGWT no-dto
GWT no-dto
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation Maven
 

Plus de JUG Lausanne

Introduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesIntroduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesJUG Lausanne
 
Développer un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienDévelopper un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienJUG Lausanne
 
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidJUG Lausanne
 
Exemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkExemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkJUG Lausanne
 
Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012JUG Lausanne
 
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012JUG Lausanne
 
CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011JUG Lausanne
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011JUG Lausanne
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...JUG Lausanne
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010JUG Lausanne
 
Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010JUG Lausanne
 
Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010JUG Lausanne
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010JUG Lausanne
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
 
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010JUG Lausanne
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009JUG Lausanne
 
XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008JUG Lausanne
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008JUG Lausanne
 
Scripting with Java FX - Cédric Tabin - December 2007
Scripting with Java FX - Cédric Tabin - December 2007Scripting with Java FX - Cédric Tabin - December 2007
Scripting with Java FX - Cédric Tabin - December 2007JUG Lausanne
 
GlassFish Update and Directions - Karim Mazouni - November 2007
GlassFish Update and Directions - Karim Mazouni - November 2007GlassFish Update and Directions - Karim Mazouni - November 2007
GlassFish Update and Directions - Karim Mazouni - November 2007JUG Lausanne
 

Plus de JUG Lausanne (20)

Introduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesIntroduction aux algorithmes génétiques
Introduction aux algorithmes génétiques
 
Développer un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienDévelopper un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rien
 
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
 
Exemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkExemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et Spark
 
Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012
 
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
 
CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010
 
Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010
 
Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
 
Scripting with Java FX - Cédric Tabin - December 2007
Scripting with Java FX - Cédric Tabin - December 2007Scripting with Java FX - Cédric Tabin - December 2007
Scripting with Java FX - Cédric Tabin - December 2007
 
GlassFish Update and Directions - Karim Mazouni - November 2007
GlassFish Update and Directions - Karim Mazouni - November 2007GlassFish Update and Directions - Karim Mazouni - November 2007
GlassFish Update and Directions - Karim Mazouni - November 2007
 

Initiation aux tests fonctionnels - Philippe Kernevez - October 2009

  • 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