Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2014-12-29 15:43:41

nikrou
Membre
Inscription : 2007-10-02
Site Web

Faire des tests fonctionnels

Bonjour,

dans l'idée d'améliorer encore et toujours dotclear, nous discussion dans l'arrière boutique pour ajouter des tests fonctionnels. Pour que cela soit productif il faut que l'on ne soit pas les seuls à écrire des tests et que le plus de monde possible puisse participer. L'idée serait d'utiliser un outil tel que Behat. Sur le compte github de Jean-François Lépine, on trouve une intro en français : https://github.com/Behat/fr-docs.behat. … _intro.rst. D'ailleurs le blog du même Jean-François fourmille d'aide à ce formidable outil : http://blog.lepine.pro/

Je ne vais pas vous expliquer comment fonctionne Behat, ni en faire une description plus poussé. Parce qu'un exemple est plus parlant qu'une longue explication, je vais commencer par un p'tit exemple.
Les tests s'écrivent en langage naturel (plutôt que langage informatique) et n'importe qui peut lire et comprendre ce qu'on teste. On teste des fonctionnalité. Une fonctionnalité est quelque chose qui apporte un gain à quelqu'un. On précise pour qui est ce gain.

Imaginons un premier test pour les visiteurs d'un blog.

# language: fr
Fonctionnalité: Commentaires
  Afin de pouvoir ajouter des commentaires
  En tant que visiteur
  Je dois être capable d'ajouter des commentaires aux billets

  Scénario: ajouter un commentaire
    Etant donné que je suis sur le bog
    Quand je vais sur "mon-super-billet"
    Quand j'ajoute un commentaire: 
      """
      Quel super article
      """
    Alors je dois voir "Votre commentaire a été publié."

Bon j'ai simplifié car il faudrait ajouter d'autres phrases du type "je remplis le champ Nom", je remplis le champ email. Mais vous devriez comprendre le principe.

Cela ressemble à un vrai test que l'on pourrait écrire. Vous noterez que la première ligne précise une langue. On peut écrire les tests dans de multiples langues. Il est conseillé de les écrire en anglais mais comme vous pouvez le voir cela fonctionne aussi en français (et dans de nombreuses autres langues).

Un scénario ressemble à ça :

Scénario: Une description du scénario
  Etant donné [un contexte]
  Quand [un événement]
  Alors [un résultat attendu]

Behat traduit les phrases en tests sur l'application que l'on veut tester. Par exemple, quand on écrit "je dois voir "Votre commentaire a été publié."", Behat a fait la requête vers le serveur et vérifie que la phrase est présente sur la page visitée (ici la page d'un billet). Behat vient avec de nombreuses phrases toutes faites permettant de tester de nombreuses choses sur une page web. Et évidemment on peut en ajouter de nouvelles.

Voilà une petite présentation.
Est-ce que cela vous semble clair ? Est-ce que cela vous intéresse ? J'entends par là vous sentez-vous capable de contribuer ?


Je préfère être atteint de parkinson plutôt qu'alzheimer : je prefère renverser un peu de ma bière plutôt qu'oublier de la boire !

Présentez vos photos simplement avec Phyxo !

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map