Automatisation
des tests fonctionnels
avec Robot Framework
Laurent Bristiel

SoftShake
Genève
25 oct 2013
vendredi 25 octobre 13
Qui suis-je ?

Laurent Bristiel
Ingénieur en tests logiciels
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 ?
End 2 End
Tests de composant
Tests unitaires

vendredi 25 octobre 13

Tests
exploratoires
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

génération d'un rapport

un test case contient une suite
de keywords et de paramètres

fichier de log

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

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 CODING
vérifications fichiers déployés

vendredi 25 octobre 13
LIVE CODING
tests via l’API REST

vendredi 25 octobre 13
LIVE CODING
tests via l’interface graphique web

vendredi 25 octobre 13
Retour d’experience
Moody’s : 800 tests sur 5 produits
Finance, 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
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
Automatisation des tests fonctionnels
avec Robot Framework

Merci !
Questions ?
http:/
/robotframework.org
vendredi 25 octobre 13

laurent.bristiel.com
laurent@bristiel.com

Automatisations des tests fonctionnels avec Robot Framework