• [^] # Re: Motivation initiale

    Posté par . En réponse à la dépêche Démarche qualité et Logiciel Libre. Évalué à 3.

    Comme dit dans les commentaires de mon blog ( http://www.lucas-nussbaum.net/blog.php/?2005/02/09/93-depeche-linux(...) ), je n'aurai pas du faire mention des LP dans ma dépêche. En fait, si vous la relisez, vous verrez que je n'insiste pas tant que ça sur le fait que les LPs sont bien testés, contrairement aux LL. Ce n'est même pas dit explicitement. Bref, c'était trop trollesque, mais après tout on est sur DLFP.

    - quelles sont les techniques et outils permettant d'automatiser le test des logiciels utilisant des interfaces graphiques ?

    Les applis graphiques bien construitent utilisent en général une architecture MVC (Model View Controller). Google explique plutot bien ce que c'est, je ne vais pas tenter une explication foireuse détaillée ici. Juste en 2 lignes : il s'agit de séparer la "logique", le "moteur" de l'application de l'interface.

    Une application construite ainsi est facile à tester :
    - D'un coté, le Model peut être testé avec des tests unitaires, d'intégration, etc .... comme une appli "classique".
    - D'un autre côté, l'interface graphique peut être testée à la main ou avec des outils spécialisés. Mais en général, les bugs ne concernant que l'interface sont assez faciles à trouver, une fois qu'on a bien débuggé le Model.

    Cette architecture s'applique également très bien aux applis web, mais est malheureusement peu utilisée : beaucoup d'applis en PHP mélangent allègrement modele et interface (le code de LinuxFR, par exemple, est assez fort dans ce style).

    - comment amener les développeurs de Logiciels Libres à tester de manière plus automatisée leurs logiciels, et à ne pas uniquement reposer sur le feedback des utilisateurs ?

    Je pense qu'il faut développer plus d'outils de test (le test peut être fun, c'est juste que pour l'instant, on a pas vraiment les bons outils pour ça). Pour DejaGNU par exemple (que je n'ai jamais utilisé), il y a extrèmement peu de documentation orientée introduction. Le lien que je donnais dans la dépêche n'est pas super probant, mais c'est le mieux que j'ai trouvé.