Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony2] comment automatiser les tests de non-régression ?

Symfony2 et Ajax

    1 janvier 2013 à 10:55:34

    Bonjour,

    j'ai développé une appli Symfony2 qui fait appel à beaucoup de jQuery et d'Ajax pour charger des data en asynchrone et rendre l'IHM aussi interactive et fluide que possible.

    Du coup, ça devient assez infernal à tester, et je voudrais automatiser l'exécution de tests de non-régression. Je voudrais que ces tests simulent des interactions utilisateur sur le browser, pour vérifier de bout en bout que tout fonctionne comme prévu sur différent use-cases.

    J'aimerais par ailleurs que les tests puissent être faits sur les différents browsers, y/c sur iPhone, iPad et Android...

    Si en plus il était possible de vérifier le contenu de la BDD après une action utilisateur, ce serait top (mais je peux vivre sans ça, en testant l'affichage des données modifiées depuis l'IHM).
    Ce serait bien également de pouvoir réinitialiser la BDD à un état donné avant le lancement des tests, de façon à pouvoir s'appuyer sur un jeu stable de données de test.

    D'après ce que j'ai trouvé sur le web :

    - le framework de tests de Symfony2 est bien pour les tests côté serveur, mais il ne permet pas de gérer les aspects asynchrones d'AJAX, ni de tester le fonctionnement de l'IHM.

    - QUnit est bien pour tester le javascript client de façon unitaire, mais pas bien adapté à des tests fonctionnels qui s'étalent sur plusieurs écrans.

    Que me conseilleriez-vous pour mettre en place des scénarios de test et leur exécution automatique ?

    Merci par avance pour vos lumières,
    bfredo123
    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2013 à 13:57:43

      Je te conseille de regarder du côté de selenium
      • Partager sur Facebook
      • Partager sur Twitter
      Vous utilisez git et (Composer, Sismo, Symfony ou ctags)? Simplifiez vous la vie avec des hooks!
        1 janvier 2013 à 14:42:45

        Merci beaucoup, je suis en train de regarder et ça a l'air pas mal du tout !

        Je lis la doc pour essayer de comprendre si l'IDE Firefox me suffit, ou bien si je dois me tourner vers WebDriver(qui permet en plus, si j'ai bien compris, de tester son site sous d'autres browsers y/c sous iPhone).

        Il semble qu'il y ait aussi une surchouche "Crawljax", est-ce que tu connais ?

        Bfredo123
        • Partager sur Facebook
        • Partager sur Twitter
          1 janvier 2013 à 14:55:26

          Tu dois te tourner vers Webdriver, mais l'IDE pourra te servir à générer le squelette de tes tests. Je ne connais pas Crawljax, et ça fait très longtemps que je n'ai pas fait de selenium, de mon temps c'était pas encore WebDriver, mais RemoteControl.
          • Partager sur Facebook
          • Partager sur Twitter
          Vous utilisez git et (Composer, Sismo, Symfony ou ctags)? Simplifiez vous la vie avec des hooks!
            1 janvier 2013 à 14:58:52

            il existe plusieurs types de tests de non régressions : les tests fonctionnels et les tests unitaires.
            Les sénarios proposés par sélénium permettent de faire les premiers tests, des framework comme PHPUnit ou Atoum les seconds.
            Pour atoum il existe un bundle qui permet de l'intégrer au développement Symfony : https://github.com/atoum/AtoumBundle
            • Partager sur Facebook
            • Partager sur Twitter

            [Symfony2] comment automatiser les tests de non-régression ?

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown