Module CMS Portail Jeunes Séniors - Club utilisateurs des solutions

Transcription

Module CMS Portail Jeunes Séniors - Club utilisateurs des solutions
PHILIPPE DE OLIVEIRA
Automatisation Des Tests
D’Interface
WHO AM I ?
PHILIPPE DE OLIVEIRA
Directeur Technique
01 41 40 59 17
[email protected]
Expertise Technique
Architecture
Audits
Resp. Direction Technique
Qualité des livrables
Expertise Smile
Veille technologique
Industrialisation
Capitalisation
2
SOMMAIRE
1
SMILE
5
2
LET’S TEST !
6 TOUT AUTOMATIQUE
3 DEMO 1
4
AUTOMATISATION
DES TESTS
7 CONCLUSION
DEMO 2
3
1 – SMILE !
4
SMILE IN A FEW FIGURES
Leading European open source integrator
700
25%
EXPERTS
PER YEAR
OPEN SOURCE
More than 20
INCREASE IN TURNOVER
YEARS EXPERIENCE
IN OPEN SOURCE
More than 35
PARTNERS
IN OPEN SOURCE
More than 50
MILLION EUROS
IN TURNOVER IN 2013
5
18 OFFICES
IN 8 COUNTRIES
Smile is increasing
its presence
throughout Europe
6
OPEN SOURCE : TECHNOLOGY OF THE FUTURE
INNOVATIVE
POPULAR
Experts in cutting edge
technologies such as
More than
Cloud,
Big data
An
ROI SAVING OF UP TO
65%
92%
large companies use
open source
$
SAFE & SECURE
Jahia is used for leading e-com/corp sites
Linux motorises all global stock markets
MATURE & STABLE
Twitter, Facebook, Google
are based on open source
open source
SMILE IS THE LEADING EUROPEAN
OPEN SOURCE INTEGRATOR
SMILE IS THE BIGGEST OPEN SOURCE PLAYER IN EUROPE
700 employees, 17 offices, 300 new projects per year
MULTI-TECHNOLOGIES, A UNIQUE EXPERTISE
More than 35 technological partnerships, the highest level of recognition for most
8
SMILE, MUCH MORE THAN A SIMPLE INTEGRATOR
AMBASSADOR
• Member of APRIL and PLOSS associations
in France
• Organiser, sponsor and participant of
over 10 major events each year: Open
World Forum, CMSday, Salon Linux
Solutions…
CONTRIBUTOR
Dozens of extensions and
contributions given for
TYPO3, OpenERP,
eZ Publish, Redmine,
Magento, Drupal, jQuery,
Ginco, Play! Framework…
• 30 seminars and webinars each year
• Articles and white papers regularily
published. Over 100 000 downloads per
year
EDITOR OF
ESIGate, TEA,
Mongogento…
• Creator and host of :
open- source-guide.com
9
OUR EXPERTISE AND OUR BELIEFS
ARE DETAILED IN OUR WHITE PAPERS
Web Culture
System
E-business
ERP et Business Intelligence
Content Management and DMS
OVER
100 000
DOWNLOADS PER YEAR
10
OUR REFERENCES
63%
OF CAC 40
COMPANIES HAVE TRUSTED US
11
WHAT DO WE DO FOR YOU ?
CONSULTING
Project Framework / Audits / Benchmark
HOSTING
Hosting / Corrective and
upgrade Maintenance /
Support
TRAINING
Change management
Intra and inter company training
A 360°
SERVICE FOR YOUR
PROJECTS
DIGITAL
Visual identity/ Ergonomics
Accessibility / Editorial
Strategy / SEO
ENGINEERING
Conception / Development /
Configuration
12
5 OFFERS FOR YOUR BUSINESS
WEB
Internet sites/Web portals
Mobile and responsive design
Management of cross-media
content
Digital devices
WEB
13
5 OFFERS FOR YOUR BUSINESS
WEB
E-BUSINESS
Catalogues
E-commerce platforms
Extranet client B2B
Cross channel selling and
multiple devise customer
experience
E-BUSINESS
14
5 OFFERS FOR YOUR BUSINESS
WEB
E-BUSINESS
COLLABORATIVE
Intranet Portals
Enterprise Content Management
Digital Asset Management
Corporate Social Network
Research
COLLABORATIVE
15
5 OFFERS FOR YOUR BUSINESS
WEB
E-BUSINESS
COLLABORATIVE
BUSINESS INFORMATION
SYSTEMS
Data Integration
Business Intelligence
ERP
Customer Relationship
Management
Big Data Management
BUSINESS
INFORMATION
SYSTEMS
16
5 OFFERS FOR YOUR BUSINESS
WEB
E-BUSINESS
COLLABORATIVE
BUSINESS
INFORMATION
SYSTEMS
INFRASTRUCTURE
IT Asset Management
Helpdesk
Supervision
Virtualization / Private Cloud
Identity management
Messaging
INFRASTRUCTURE
17
2 – LET’S TEST !
18
CONCEPTS
Test
 Ensemble d’actions permettant de valider un point précis
 En général, plusieurs actions + une vérification
 Le résultat est un OK ou KO (booléen)
Suite de tests
 Regroupe un ensemble de tests
 Représentatif d’un context fonctionnel donné (workflow de
publication, tunnel de vente,
19
POSITIONNEMENT DES TESTS D’INTERFACE
20
POSITIONNEMENT DES TESTS D’INTERFACE
21
PORTÉE DES TESTS D’INTERFACE
22
PROBLEMATIQUES TESTS FONCTIONNELS
Pour adopter le point de vue de l’utilisateur, il faut un navigateur !
Cela implique des tests manuels
 Lenteur du processus
 Coût prohibitif pour rejouer tous les tests
 Risque de regression
 Reproduction peu fiable des tests
 Pas d’historique précis des tests
23
SELENIUM
Selenium regroupe différents produits Open Source (Apache 2.0)
et gratuits (Donate ;-)) :
Selenium IDE
 Enregistre des scénarios de test depuis Firefox
 Rejoue des scénarios enregistrés
Selenium Server
 Serveur distant de manipulation de navigateur
Selenium WebDriver
 API pour le développement de scénarios dans différents langages :
Java, C#, Python, Ruby, PHP, Perl, JS
 Connexion et pilotage de Selenium Server
24
SELENIUM - COÛTS
Sur un projet significatif (> plusieurs centaines de jours)
 Les tests durent longtemps (la durée d’affichage cumulée !)
 Un seul peut s’exécuter à la fois
 Un serveur dédié doit être déployé
Charges usuelles
 Un coût d’initialisation dérisoire (à partir d’une VM déjà configurée)
 10% du temps de développement pour obtenir un code coverage de
70% avec les tests d’interface
o Données de test des TU réutilisées
o Masse de code inférieure et par nature isolée
 Coût de possession 2x plus élevé pour les TI  TMA plus coûteuse
Le TCO étant très élevé, on vise une couverture des
fonctionnalités critiques pour trouver un ROI satisfaisant
25
SELENIUM – CONCEPTS
Fonctionnement
 Prend le contrôle du navigateur
 Réalise exactement les mêmes actions qu’un humain (clic, saisie,
etc.)
3 types d’opérations réalisées par Selenium
 Actions : réalise une action dans le navigateur
 Accessors : accède au contenu affiché par le navigateur
 Assertions : vérifie une condition particulière sur un contenu
26
SELENIUM – CONCEPTS
Pour cibler un élément de contenu, Selenium offre des Locators
 Par ID : btnAddToCart
 Par XPath : //input[name=‘myButton42’]
 Par son texte (pour les liens) : link=Logout
 Par une expression JavaScript DOM : document.images[42]
Attention à ne pas introduire de couplage trop fort !!!
 Très mauvais exemple : //div/div/form/input[4]
27
DEMO Selenium IDE
SELENIUM – LIMITATIONS DE SELENIUM IDE
Commandes Selenium IDE assez simplistes. C’est tout de même
suffisant pour la vaste majorité des cas.
Limité à Firefox, aïe…
 Aujourd’hui il faut être compatible Firefox, Chrome, Safari et Internet
Explorer
Selenium WebDriver + Selenium Server !
 Permet de piloter Selenium depuis un langage de programmation
o Complexité de test illimitée
o Intégration aux frameworks de tests (JUnit, PHPUnit, TestNG, etc.)
o Intégration au cycle de vie projet (versionning, livraison, etc.)
 Possibilité d’exporter les scénarios de Selenium IDE en code
 Lancement des tests sur un ou plusieurs navigateurs !
29
SELENIUM REMOTE – ARCHITECTURE
30
DEMO Selenium WebDriver + Server
AUTOMATISATION
DES TESTS
32
AUTOMATISATION DES TESTS - OBJECTIFS
Facilite l’execution des tests (tâche automatique)
 Réduit le delta entre création et détection de bug,
et donc la durée de diagnostique
 Permet à quelqu’un de non-technique de
Correction
Test
Diagnostic
lancer les tests (mode “push-button”)
Garantie l’invariabilité et l’exhaustivité des tests au cours du
temps
Permet à l’humain de n’intervenir là il y a de la valeur-ajoutée
 Création de nouveaux tests
 Diagnostics en cas d’erreurs
33
AUTOMATISATION DES TESTS - PIC
Les plateformes d’intégrations continue (PIC)
 Récupération de la dernière version des sources
 Build du projet
 Relance l’ensemble des tests (si au moins une modification a eu lieu)
 Envoi (mail, jabber, SMS, etc.) d’un rapport en cas de test en erreur :
o Dernière modification effectuée
o Test(s) en erreur
o Auteur de la modification…
PIC Open Source
 Jenkins / CruiseControl / Continuum
34
AUTOMATISATION DES TESTS - JENKINS
Jenkins résulte d’un fork de Hudson (Oracle) suite à une petite
dispute ;-)
 La communauté est énorme (>500 contributeurs)
 Eco-système de plugins très riche (>1000 plugins)
o Support de beaucoup de technologies (Java, Ruby, PHP, etc.)
o Gamification
o Thèmes / UI
o Tâches complexes
o Etc.
 Système de build distribué très performant
35
AUTOMATISATION DES TESTS - JENKINS
36
SUR LA ROUTE DU
TOUT AUTOMATIQUE
37
SUR LA ROUTE DU TOUT AUTOMATIQUE
Pour résumer, on peut avoir :
 Des tests unitaires couvrant 70% du code
 Des tests d’interface pour s’assurer des fonctionnalités critiques
 Un lancement de tous ces tests dès qu’une modification du source est
effectuée
 Mais pourquoi pas ne pas livrer directement en (pre-)prod ?
Continous Delivery !
 Grâce à des outils de déploiement reliés au PIC, on peut boucler un
cycle complet :
Dev  Commit  Build  T* Livrable  Deploiement
38
GO BY THOUGHWORKS
39
SUR LA ROUTE DU TOUT AUTOMATIQUE
Automatisations encore peu répandues :
 Des tests d’intrusion et de sécurité
o Zed Attack Proxy
 Des tests de charge à mesure différentielle
o Gatling ou JMeter
40
CONCLUSION
41
CONCLUSION
Tests d’interface automatisés
 Simplification de la recette
 Exhaustivité de la recette
 Non-regression de la recette
 Création d’un patrimoine de tests à forte valeur ajoutée
 Déploiement serein et fiable !!
Selenium
 Automatisation rapide d’un scénario pour le rejouer plusieurs fois
 Intégration des tests d’interface au cycle de vie projet
 Intégration aux outils de build et donc aux PIC
 Attention à la qualité des tests d’interface, la rigueur requise est à la
mesure du gain obtenu
42
ET DEMAIN ?
Nous sommes dans une bascule technologique assez forte dans
le Web
Les traitements sont déportés sur le client grâce entre autre à
l’avènement des technologies JavaScript
 Angular
 Backbone
 Amber
On bascule vers des Single Page Application (SPA), portables sur
les mobiles, avec une complexité d’interface telle que les tests
d’interface deviennent essentiels pour ne pas décevoir les
utilisateurs
43
QUESTIONS ?
44