Automatiser la qualite

1,160 views

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,160
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Automatiser la qualite

  1. 1. Automatiser la qualité Paris,France,6 juin 2012samedi 9 juin 12
  2. 2. Intervenant Damien Seguy damien.seguy@gmail.com Directeur technique Bysoft Chine Expert LAMP Auteur de livressamedi 9 juin 12
  3. 3. Agenda Automatisation des tests Outils pour surveiller le code Rapports et extraitssamedi 9 juin 12
  4. 4. Automatisation de la qualité Pour adopter les bons réflexes dès le début du projets Pour assurer un suivi continu Pour fixer des objectifs aux développeurs Pour traiter 50 projets en même tempssamedi 9 juin 12
  5. 5. Objectifs Peu de mise en place Pas d’implication utilisateur Possibilité de faire apparaître valoriser la qualité auprès des clientssamedi 9 juin 12
  6. 6. Contraintes Fournir des données utilisables par les développeurs Fournir un bilan lisible à la direction de projet et aux clientssamedi 9 juin 12
  7. 7. Solutions Adopter les outils standards du marché Publier des courbes d’évolutions Publier des objectifs Faire fonctionner le tout avec un cronsamedi 9 juin 12
  8. 8. Objet de suivi Code PHP Code IHM Aspects complémentairessamedi 9 juin 12
  9. 9. Révision SVN Evolution de la version SVN Mesure de l’activité Découpage par branchesamedi 9 juin 12
  10. 10. samedi 9 juin 12
  11. 11. phploc PHP Lines of code Compte les lignes de code ainsi qu’un bon nombre de structuressamedi 9 juin 12
  12. 12. Files: 9178 Lines of Code (LOC): 1403381 Cyclomatic Complexity / Lines of Code: 0.10 Comment Lines of Code (CLOC): 608258 Non-Comment Lines of Code (NCLOC): 795123 Namespaces: 0 Interfaces: 172 Classes: 7989 Abstract: 368 (4.61%) Concrete: 7621 (95.39%) Average Class Length (NCLOC): 91 Methods: 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: 4 Functions: 153 Constants: 6174 Global constants: 303 Class constants: 5871samedi 9 juin 12
  13. 13. PHP_CodeSniffer Conventions de code Ça n’intéresse personnesamedi 9 juin 12
  14. 14. Inventaire de nommage Inverse de la conception Extrait tous les noms des classes, variables, constantes, fonctions Appliquer la validation orthographique Scripts maisonsamedi 9 juin 12
  15. 15. Revue rapide [$taxConfig] => 2 [$shippingAddressId] => 3 [$config] => 4 [$billingResult] => 3 [$uid] => 36 [$shippingResult] => 3 [$type] => 19 [$isNewCustomer] => 2 [$id] => 43 [$service] => 4 [$obj] => 31 [$redirectUrl] => 9 [$email] => 33 [$agreement] => 3 [$customer] => 75 [$customerAddressId] => 2 [$newPassword] => 2 [$sale_quote_id] => 6 [$websiteId] => 13 [$invoice_type] => 3 [$collection] => 70 [$invoice_content] => 3 [$invitation] => 4 [$invoice_id] => 4 [$sender] => 8 [$methdelivery] => 27 [$recipients] => 8 [$citys] => 10 [$template] => 13 [$e] => 72 [$category] => 61 [$category_id] => 2samedi 9 juin 12
  16. 16. Validateur HTML Fonctionne sur les pages entières Nécessite un test sur un serveur en fonctionnement Utilise le validateur du W3C Choisir la version HTML ciblesamedi 9 juin 12
  17. 17. Css-validator Emis directement par le W3C Applique les standards 1,2,2.1,3 Bonne implication des intégrateurs A mort IE6samedi 9 juin 12
  18. 18. samedi 9 juin 12
  19. 19. Images Vérifie la compression Vérifie le format Liste les suggestions de corrections Attention, impact sur le code...samedi 9 juin 12
  20. 20. Non modification du framework Valable sur Magento, Zend Framework Pas sur Drupal.. Liste les fichiers ajoutés, modifiés, effacés Pratique ultérieurement pour éviter les frameworks externessamedi 9 juin 12
  21. 21. Performance ab Effectue un test de performance sur le site de tests Mesure la performance, et indique le temps moyen de traitement Intéressant au niveau de l’évolution A compléter avec les tests phantomjs pour inclure les mediasamedi 9 juin 12
  22. 22. samedi 9 juin 12
  23. 23. Capture d’écran Avec phantomjs : capture la home page, puis produit une image Parfait a produire aux clients Utiliser un outil de différence d’image pour mesurer l’évolution de la home pagesamedi 9 juin 12
  24. 24. samedi 9 juin 12
  25. 25. JSlint pour javascript phantomjs + jslint Penser a le mettre a jour souventsamedi 9 juin 12
  26. 26. D’autres idéessamedi 9 juin 12
  27. 27. Audit SQL maatkit Faire la différence entre les tables déjà existantes et les nouvellessamedi 9 juin 12
  28. 28. Fuzzing Tests automatique des formulaires Injections de valeurs au hasard Vérification du résultat correctsamedi 9 juin 12
  29. 29. Lecture des logs Logs Apache, PHP et MySQL Extraire simplement les erreurs, les fichiers et produire une liste courte Travailler sur les erreurs les plus récentes, puis par ordre de fréquencesamedi 9 juin 12
  30. 30. Tests de navigation Ajouter un proxy sur le serveur de tests Enregistrer l’utilisation du site URL, post, cookies Produire un scénario JMeter Surveiller les erreurs?samedi 9 juin 12
  31. 31. Mise en place Faire le tri entre le code maison et celui des frameworks Installation des logiciels Surveillance de leur configuration Exécution 2 fois par joursamedi 9 juin 12
  32. 32. Ignoré Parallèlisation des tâches Travail sur les diffsamedi 9 juin 12
  33. 33. Rapports Développeurs Liste de résultats, Evolutions Management Evolutions, indicateurs (ROV) Clients Indicateurs, captures, résumé manuelsamedi 9 juin 12
  34. 34. Bilan 47 projets suivis en même temps Basé sur le dépot SVN et 1 URL Temps total de traitement : 6h30 Mise en place sur 2 semaines Adoption par la direction lente Présentations pour les clients délicatesamedi 9 juin 12
  35. 35. Merci! damien.seguy@gmail.com http://www.slideshare.net/ dseguysamedi 9 juin 12
  36. 36. Il faut tester pour vérifier son code. Et comme il faut le faire tout au long du cycle de vie dun projet, il vaut mieux soutiller pour laisser à la machine le travail laborieux et pouvoir intervenir. De la convention de code aux vérifications dinterfaces, 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

×