Upload
laurent-bristiel
View
1.138
Download
9
Embed Size (px)
DESCRIPTION
Automatisations des tests fonctionnels avec Robot Framework
Citation preview
Automatisation des tests fonctionnels
avec Robot Framework
SoftShakeGenève
25 oct 2013
Laurent Bristiel
vendredi 25 octobre 13
Laurent BristielIngénieur en tests logiciels
Qui suis-je ?
vendredi 25 octobre 13
Qui êtes vous ?
des testeurs plutôt que des développeurs
travaillant sur produits plutôt que projets
dans le monde applicatif/web plutôt que mobile
en méthodologie Agile plutôt que traditionnelle
vendredi 25 octobre 13
Quels tests ?
Tests unitaires
End 2 End
Tests exploratoires
Tests de composant
vendredi 25 octobre 13
Pourquoi automatiser ?
par paresse
par prudence
par sagesse
vendredi 25 octobre 13
Quand automatiser ?
avant le développement
pendant le développement
après le développement
vendredi 25 octobre 13
Quel outil ?
vendredi 25 octobre 13
Robot Framework
Framework générique d’automatisation de tests
Open Source license Apache 2.0
Sponsorisé par Nokia Siemens Networks
Implémenté en Python
Version actuelle 2.8.1 (juin 2013)
Propose plusieurs approches de test cases
vendredi 25 octobre 13
Architecture
un test case est un fichier texte
un test case contient une suite de keywords et de paramètres
les keywords sont natifs ou développés en Robot ou Python
Robot exécute les keywords jusqu'a ce qu'il rencontre une exception
si exception alors KO sinon OK
génération d'un rapport
fichier de log
vendredi 25 octobre 13
Architecture
Librairies
Logiciel testé
vendredi 25 octobre 13
Keyword-driven
vendredi 25 octobre 13
data-driven
vendredi 25 octobre 13
behaviour-driven (BDD)
vendredi 25 octobre 13
LIVE CODINGvérifications fichiers déployés
vendredi 25 octobre 13
tests via l’API REST
LIVE CODING
vendredi 25 octobre 13
tests via l’interface graphique web
LIVE CODING
vendredi 25 octobre 13
Moody’s : 800 tests sur 5 produitsFinance, C++, SQL, Windows
Robot utilisé par équipes fonc. & techniques
XLS pour paramètres des tests
ForgeRock : 300 tests sur 3 produits Identité, Java, BD, JSON, REST, Linux, Mac, backbone.js
tests hétérogènes et multi-plateformes (OS, BD, Java...)
optimisation performance par setup/teardown multi-niveaux
Retour d’experience
vendredi 25 octobre 13
Atouts
léger, simple, rapide
tests lisibles
accessibles à des testeurs non techniques
point d’entrée unique pour tests hétérogènes
très nombreuses bibliothèques Python disponibles
vendredi 25 octobre 13
Limites
DSL Robot limité
IDE propriétaire et peu évolué (RIDE)
risque de faire du code non maintenable
audacieux de miser sur la rédaction des tests par les équipes produit et développement
risque d’isolement des testeurs sur leur framework
vendredi 25 octobre 13
Bonus
Plugin Jenkins
Plugin Maven
Plugin éditeurs (Eclipse, Vim, Textmate)
Mailing list active
vendredi 25 octobre 13
laurent.bristiel.com
Automatisation des tests fonctionnels avec Robot Framework
Merci !Questions ?
http://robotframework.org
vendredi 25 octobre 13