Automatiser                    la qualité            Paris,France,6 juin 2012samedi 9 juin 12
Intervenant           Damien Seguy           damien.seguy@gmail.com           Directeur technique           Bysoft Chine  ...
Agenda                   Automatisation des tests                   Outils pour surveiller le code                   Rappo...
Automatisation de la qualité                   Pour adopter les bons réflexes dès le                   début du projets    ...
Objectifs                   Peu de mise en place                   Pas d’implication utilisateur                   Possibi...
Contraintes                   Fournir des données utilisables par les                   développeurs                   Fou...
Solutions                   Adopter les outils standards du marché                   Publier des courbes d’évolutions     ...
Objet de suivi                   Code PHP                   Code IHM                   Aspects complémentairessamedi 9 jui...
Révision SVN                   Evolution de la version SVN                   Mesure de l’activité                   Découp...
samedi 9 juin 12
phploc                   PHP Lines of code                   Compte les lignes de code                     ainsi qu’un bon...
Files:                                            9178     Lines of Code (LOC):                           1403381       Cy...
PHP_CodeSniffer                   Conventions de code                   Ça n’intéresse personnesamedi 9 juin 12
Inventaire de nommage                   Inverse de la conception                   Extrait tous les noms des classes,     ...
Revue rapide               [$taxConfig] => 2       [$shippingAddressId] => 3               [$config] => 4          [$billi...
Validateur HTML                   Fonctionne sur les pages entières                   Nécessite un test sur un serveur en ...
Css-validator                   Emis directement par le W3C                   Applique les standards 1,2,2.1,3            ...
samedi 9 juin 12
Images                   Vérifie la compression                   Vérifie le format                     Liste les suggestion...
Non modification du framework                    Valable sur Magento, Zend Framework                      Pas sur Drupal.. ...
Performance ab                   Effectue un test de performance sur le                   site de tests                   ...
samedi 9 juin 12
Capture d’écran                   Avec phantomjs : capture la home page,                   puis produit une image         ...
samedi 9 juin 12
JSlint pour javascript                   phantomjs + jslint                   Penser a le mettre a jour souventsamedi 9 ju...
D’autres idéessamedi 9 juin 12
Audit SQL                   maatkit                   Faire la différence entre les tables déjà                   existant...
Fuzzing                   Tests automatique des formulaires                   Injections de valeurs au hasard             ...
Lecture des logs                   Logs Apache, PHP et MySQL                   Extraire simplement les erreurs, les       ...
Tests de navigation                   Ajouter un proxy sur le serveur de tests                   Enregistrer l’utilisation...
Mise en place                   Faire le tri entre le code maison et celui                   des frameworks               ...
Ignoré                   Parallèlisation des tâches                   Travail sur les diffsamedi 9 juin 12
Rapports                   Développeurs                     Liste de résultats, Evolutions                   Management   ...
Bilan                   47 projets suivis en même temps                     Basé sur le dépot SVN et 1 URL                ...
Merci!         damien.seguy@gmail.com         http://www.slideshare.net/         dseguysamedi 9 juin 12
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 sou...
Prochain SlideShare
Chargement dans…5
×

Automatiser la qualite

1 167 vues

Publié le

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.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 167
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
13
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×