valider par des tests - blend
Post on 25-Jun-2015
322 Views
Preview:
DESCRIPTION
TRANSCRIPT
Valider par des tests
Christophe Villeneuve@hellosct1
Qui... est Christophe Villeneuve ?
<<
afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – demoinparis – ici et maintenant – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – neuros - elephpant
Les points abordés aujourd'hui :
● Le Pourquoi du comment...● Les TODO (tests) à connaître● Les Tests en mode continu
Expérience sur... Les tests
✔ « Des fois cela plante »
Citations
✔ « On a testé, …
il y a 3 mois lors de la dernière livraison...
Pas eu le temps... »
L'importance des tests VS les préjugés
✔ Le code peut casser
✔ Changer le nom d'un fichier
✔ Pas le temps d'en faire
✔ C'est long manuellement
Pourquoi c'est utile ? Et L'intérêt...✔ Coûte du temps au début
✔ En fait gain après
✔ Nécessite de la rigueur et de la constante
Les différents types de tests
Tests Unitaires● Module / classe / méthode
Tests fonctionnels● l'interface utilisateur testée par le client
Tests intégrations● Tester la navigation, et l'interface utilisateur
Tests Automatisés
Tests de charge / Performance
Tests d'ergonomie
Tests de sécurité
Une idée ?Une idée ?
Tests : approche 'classique'
Tests IHM
Tests d'intégration
Tests unitaires
Tests Acceptation
ON OUBLIEle slide
ON OUBLIEle slide
Tests de Mike Cohn : approche 'agile'
Tests Manuels
Tests automatisésTests GUI
Tests APITests d'intégrationTests des composants
Tests unitaires
Orientations
Business
Développons nous le bon système ?
Technique
Développons nous le système correctement ?
IMPORTANTIMPORTANT
Les tests à connaître
Tests unitaires...
En pratique
Tests unitaires
✔ Ecrire le code comme des spécifications
✔ Ecrire un test qui échoue
✔ Ecrire un test qui est bon
✔ Un test doit tester la plus petite portion possible du code
✔ Eviter les redondance
Déroulement Quoi tester ?✔ Un module
✔ Une classe
✔ Une méthode
✔ Tester✔ Ce qui est important✔ Le risque de casser✔ Les parties que vous
touchez souvent
Tests unitaires : quelques Frameworks
✔ jUnit
✔ SimpleTest / PHPUnit / Atoum
✔ PyUnit
✔ More
✔ ...
Tests fonctionnels...
En pratique
Tests Fonctionnels
✔ Prépare outil & API
✔ On le partage
✔ On récupère le résultat
Déroulement Quoi tester ?✔ Nous... Rien
✔ C'est le client
✔ Tester✔ Si les fonctionnalités
demandées sont bien supportées
(ex : port)
Tests Fonctionnels : utilisation
✔ Selenium
✔ Behat
✔ Fitness
✔ Cucumber
✔ GreenPepper
Outils
Tests Intégrations...
En pratique
Tests Intégrations
✔ 1 Navigation de la prod.
✔ Générer le script pour repérer les modifications de comportement
✔ 1 exécution sur le nouveau serveur
Déroulement Pourquoi ?✔ Simulation d'un être
humain
✔ Détection des problèmes éventuels
✔ Tester✔ Le comportement de
navigation
Tests Intégrations : utilisation
✔ Selenium
✔ Sikuli
✔ Hudson
✔ Jenkins
✔ PhpUnderControl
✔ ...
Outils
Tests Automatisés...
En pratique
Tests Automatisés
✔ C'est systématique
✔ C'est répétitif
✔ Automatisable
Jouer par automate
Déroulement Pourquoi ?✔ Association des tests
✔ Tester✔ Tests unitaires✔ Tests fonctionnels✔ Tests intégrations
Tests Automatisés : utilisation
✔ Selenium
✔ Behat
✔ ...
Outils
Tests de charge...
En pratique
Tests de charge
✔ Préparer un scénario
✔ Saisir le nombre de connexion simultané
✔ Voir le résultat
Déroulement Pourquoi ?✔ Générer une charge
réaliste avec 1 scénario
✔ Superviser un test de charge
✔ Analyser les résultats
✔ Tester✔ Pages à 'risques'
Tests de charge : utilisation
✔ Java EE
✔ Tsung
✔ jMeter
Outils
Tests d'ergonomie...
En pratique
Tests d'ergonomie
✔ 1 lieu neutre
✔ Trouver des personnes tiers (béta testeurs)
✔ Un observateur
✔ Noté
✔ Résultat
Déroulement Pourquoi ?✔ Interaction
Homme/Machine
✔ Critères d'utilité, d'utilisabilité, de satisfaction
✔ Tester✔ La navigation✔ La conception✔ Le visuel
Tests d'ergonomie : utilisation
✔ Aucun... !!!! ???? !!!!Outils
Tests de sécurité...
En pratique
Tests de sécurité
✔ Configuration API
✔ Exécution
✔ Voir le résultat
Déroulement Pourquoi ?✔ Un rapport TOP 10 de
Owasp
✔ Tester✔ La totalité du projet
Tests de sécurité : utilisation
✔ ...Outils
Les tests en continu
Le début du commencement
● Suivre une procédure claire ● Faire un essai sur un serveur de tests/preprods
● Pas de production du 1er coup
● Prévoir des versions identiques ● OS / Serveur / Logiciels...
● Contrôler la validation des sources ● tar.gz + clef
Quelques règles
Quelques règles
Automatiser les taches : déroulement
Développements
Serveur Intégration
Tests & validation
Production + tag
Déploiement
Déploiement serveur prod.Tests
ServeurPréprodServeurPréprod
ServeurTest clientServeur
Test client
On teste
Automatiser les tâches
● Shell-scripts
● Pear
● Ant
● Phing
● Weploy
● Behat
Outils
Principe de fonctionnement✔ Checkout du projet
✔ Lancement des tests (ex : tests unitaires)
✔ Création d'une archive
✔ Transfert et déploiement en ssh / ftp
✔ Possible Rollback
Valider l'étape
En résumé... Les tests c'est
● Proche de l'intégration continue● DevOps● Qualité● et...
Les tests passent (après) par la fête
Merci
@hellosct1
http://blog.hello-design.fr
http://www.hello-design.fr
top related