IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

En quoi consiste un test unitaire en PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Lucas Panny
    Invité(e)
    Par défaut En quoi consiste un test unitaire en PHP
    Bonjour,

    Je travaille en régie pour le compte d'une SSII et on me demande d'utiliser la technique Test Driven Development
    Et là je ne comprends pas comment dois-je procéder? C'est quoi un test unitaire, n'est-ce pas un métier du testeur?

    En cherchant sur Google, je tombe souvent sur PHPUnit mais quelqu'un peut-il m'expliquer à quoi ça sert?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Cela sert à tester chaque partie de ton code.

    A chaque classe va correspondre différents tests (en général un ou plusieurs test par méthode) qui vont garantir que ton application fonctionne correctement.

    PAr exemple si tu as une méthode addition($a,$b). Tu auras un test additionTest(5,5); qui devra vérifier que le retour de addition() correspond bien a 10

    Ces test sont en général à lancer après chaque modification du code pour confirmer que cette modification n'impacte pas négativement le fonctionnement (on va commencer alors à parler d'intégration continue).

    n'est-ce pas un métier du testeur?
    Il y'a des gens qui ne font que écrire des tests , mais c'est assez rare. En général c'est le développeur lui même qui écrit ses tests.
    JE suis pas adepte de la pratique , mais il me semble que dans un monde idéal on écrit ses test avant même d'écrire ses classes métier
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Lucas Panny
    Invité(e)
    Par défaut
    Bref, le test-driven development consiste donc à imaginer ce que sera l'application php au niveau code source. Une technique pour éviter les régressions aussi?

    En théorie, c'est assez clair mais en pratique???

    A chaque classe va correspondre différents tests (en général un ou plusieurs test par méthode)
    Comment? Le test unitaire consiste à essayer automatiquement des valeurs d'entrée à une fonction

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Comment?
    En général avecun framework dédié à cela et des assertion.

    Dans ta classe de test tu vas appeler ta méthode à tester et vérifier via des assertion que sont retour est un entier par exemple.

    Je t'invite à lire cet article sur phpunit (framewokr de test) ca devrait te permettre d'yvoir plus clair
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Pour faire simple, le principe du test-driven development (tdd), c'est que pas une seule méthode ou classe ne doit être écrite sans que son test n'ait pas été écrit auparavant.
    C'est un peu brutal comme façon de travailler, je ne suis pas adepte de cette façon de faire mais elle se défend.

    Un autre framework de tests qui me semble intéressant est Atoum, je ne me suis pas penché dessus mais je connais son créateur et je lui fais confiance sur la qualité de son produit. Si tu passes sur son blog, tu entendras parler régulièrement de tests unitaires.

  6. #6
    Lucas Panny
    Invité(e)
    Par défaut
    C'est compliqué!
    Il y a un vrai débat aussi sur sa potentielle utilité! Coder en plus de ce que je suis entrain de coder, de plus du code pour du test seulement

    Je vais lire ton lien grunk
    Concernant Atoum, c'est quoi le blog en fait?

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2014, 11h00
  2. Les Tests Unitaires en PHP
    Par Ashgenesis dans le forum Langage
    Réponses: 2
    Dernier message: 31/12/2007, 16h15
  3. Tutoriel sur test Unitaire en PHP
    Par lekunfry dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2007, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo