Automatiser la qualite
-
Upload
damien-seguy- -
Category
Technology
-
view
872 -
download
0
description
Transcript of Automatiser la qualite
![Page 1: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/1.jpg)
Automatiser la qualité
Paris,France,6 juin 2012
samedi 9 juin 12
![Page 2: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/2.jpg)
Intervenant
Damien Seguy
Directeur techniqueBysoft Chine
Expert LAMP
Auteur de livres
samedi 9 juin 12
![Page 3: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/3.jpg)
Agenda
Automatisation des testsOutils pour surveiller le codeRapports et extraits
samedi 9 juin 12
![Page 4: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/4.jpg)
Automatisation de la qualité
Pour adopter les bons réflexes dès le début du projetsPour assurer un suivi continuPour fixer des objectifs aux développeursPour traiter 50 projets en même temps
samedi 9 juin 12
![Page 5: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/5.jpg)
Objectifs
Peu de mise en placePas d’implication utilisateurPossibilité de faire apparaître valoriser la qualité auprès des clients
samedi 9 juin 12
![Page 6: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/6.jpg)
Contraintes
Fournir des données utilisables par les développeursFournir un bilan lisible à la direction de projet et aux clients
samedi 9 juin 12
![Page 7: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/7.jpg)
Solutions
Adopter les outils standards du marchéPublier des courbes d’évolutionsPublier des objectifsFaire fonctionner le tout avec un cron
samedi 9 juin 12
![Page 8: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/8.jpg)
Objet de suivi
Code PHPCode IHMAspects complémentaires
samedi 9 juin 12
![Page 9: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/9.jpg)
Révision SVN
Evolution de la version SVNMesure de l’activitéDécoupage par branche
samedi 9 juin 12
![Page 10: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/10.jpg)
samedi 9 juin 12
![Page 11: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/11.jpg)
phploc
PHP Lines of codeCompte les lignes de code
ainsi qu’un bon nombre de structures
samedi 9 juin 12
![Page 12: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/12.jpg)
Files: 9178
Lines of Code (LOC): 1403381 Cyclomatic Complexity / Lines of Code: 0.10Comment Lines of Code (CLOC): 608258Non-Comment Lines of Code (NCLOC): 795123
Namespaces: 0Interfaces: 172Classes: 7989 Abstract: 368 (4.61%) Concrete: 7621 (95.39%) Average Class Length (NCLOC): 91Methods: 44768 Scope: Non-Static: 43352 (96.84%) Static: 1416 (3.16%) Visibility: Public: 33467 (74.76%) Non-Public: 11301 (25.24%) Average Method Length (NCLOC): 16 Cyclomatic Complexity / Number of Methods: 2.72
Anonymous Functions: 4Functions: 153
Constants: 6174 Global constants: 303 Class constants: 5871
samedi 9 juin 12
![Page 13: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/13.jpg)
PHP_CodeSniffer
Conventions de codeÇa n’intéresse personne
samedi 9 juin 12
![Page 14: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/14.jpg)
Inventaire de nommage
Inverse de la conceptionExtrait tous les noms des classes, variables, constantes, fonctionsAppliquer la validation orthographiqueScripts maison
samedi 9 juin 12
![Page 15: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/15.jpg)
Revue rapide [$taxConfig] => 2 [$config] => 4 [$uid] => 36 [$type] => 19 [$id] => 43 [$obj] => 31 [$email] => 33 [$customer] => 75 [$newPassword] => 2 [$websiteId] => 13 [$collection] => 70 [$invitation] => 4 [$sender] => 8 [$recipients] => 8 [$template] => 13 [$category] => 61
[$shippingAddressId] => 3 [$billingResult] => 3 [$shippingResult] => 3 [$isNewCustomer] => 2 [$service] => 4 [$redirectUrl] => 9 [$agreement] => 3 [$customerAddressId] => 2 [$sale_quote_id] => 6 [$invoice_type] => 3 [$invoice_content] => 3 [$invoice_id] => 4 [$methdelivery] => 27 [$citys] => 10 [$e] => 72 [$category_id] => 2
samedi 9 juin 12
![Page 16: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/16.jpg)
Validateur HTML
Fonctionne sur les pages entièresNécessite un test sur un serveur en fonctionnementUtilise le validateur du W3CChoisir la version HTML cible
samedi 9 juin 12
![Page 17: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/17.jpg)
Css-validator
Emis directement par le W3CApplique les standards 1,2,2.1,3Bonne implication des intégrateursA mort IE6
samedi 9 juin 12
![Page 18: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/18.jpg)
samedi 9 juin 12
![Page 19: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/19.jpg)
Images
Vérifie la compressionVérifie le format
Liste les suggestions de correctionsAttention, impact sur le code...
samedi 9 juin 12
![Page 20: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/20.jpg)
Non modification du framework
Valable sur Magento, Zend FrameworkPas sur Drupal..
Liste les fichiers ajoutés, modifiés, effacés
Pratique ultérieurement pour éviter les frameworks externes
samedi 9 juin 12
![Page 21: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/21.jpg)
Performance ab
Effectue un test de performance sur le site de testsMesure la performance, et indique le temps moyen de traitementIntéressant au niveau de l’évolutionA compléter avec les tests phantomjs pour inclure les media
samedi 9 juin 12
![Page 22: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/22.jpg)
samedi 9 juin 12
![Page 23: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/23.jpg)
Capture d’écran
Avec phantomjs : capture la home page, puis produit une imageParfait a produire aux clientsUtiliser un outil de différence d’image pour mesurer l’évolution de la home page
samedi 9 juin 12
![Page 24: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/24.jpg)
samedi 9 juin 12
![Page 25: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/25.jpg)
JSlint pour javascript
phantomjs + jslintPenser a le mettre a jour souvent
samedi 9 juin 12
![Page 26: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/26.jpg)
D’autres idées
samedi 9 juin 12
![Page 27: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/27.jpg)
Audit SQL
maatkitFaire la différence entre les tables déjà existantes et les nouvelles
samedi 9 juin 12
![Page 28: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/28.jpg)
Fuzzing
Tests automatique des formulairesInjections de valeurs au hasardVérification du résultat correct
samedi 9 juin 12
![Page 29: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/29.jpg)
Lecture des logs
Logs Apache, PHP et MySQL
Extraire simplement les erreurs, les fichiers et produire une liste courteTravailler sur les erreurs les plus récentes, puis par ordre de fréquence
samedi 9 juin 12
![Page 30: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/30.jpg)
Tests de navigation
Ajouter un proxy sur le serveur de testsEnregistrer l’utilisation du site
URL, post, cookiesProduire un scénario JMeterSurveiller les erreurs?
samedi 9 juin 12
![Page 31: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/31.jpg)
Mise en place
Faire le tri entre le code maison et celui des frameworksInstallation des logiciels
Surveillance de leur configurationExécution 2 fois par jour
samedi 9 juin 12
![Page 32: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/32.jpg)
Ignoré
Parallèlisation des tâchesTravail sur les diff
samedi 9 juin 12
![Page 33: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/33.jpg)
Rapports
DéveloppeursListe de résultats, Evolutions
ManagementEvolutions, indicateurs (ROV)
ClientsIndicateurs, captures, résumé manuel
samedi 9 juin 12
![Page 34: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/34.jpg)
Bilan
47 projets suivis en même tempsBasé sur le dépot SVN et 1 URLTemps total de traitement : 6h30
Mise en place sur 2 semainesAdoption par la direction lentePrésentations pour les clients délicate
samedi 9 juin 12
![Page 35: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/35.jpg)
Merci!
http://www.slideshare.net/dseguy
samedi 9 juin 12
![Page 36: Automatiser la qualite](https://reader038.fdocuments.net/reader038/viewer/2022102815/55867fdfd8b42a8d1a8b4725/html5/thumbnails/36.jpg)
Il faut tester pour vérifier son code. Et comme il faut le faire tout au long du cycle de vie d'un projet, il vaut mieux s'outiller pour laisser à la machine le travail laborieux et pouvoir intervenir. De la convention de code aux vérifications d'interfaces, nous passerons en revue les outils les plus pratiques à mettre en place, la discipline de projet à appliquer et comment montrer aux utilisateurs la somme des efforts réalisés.
samedi 9 juin 12