La distribution éducative pour débutants et initiés.

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

Annonce

PrimTux3-Raspberry Pi est disponible pour tests ici

  • Pour être automatiquement informé des réponses à vos messages sur le forum, n'oubliez pas de cliquer sur "Suivre cette discussion" en bas de page. Mieux, en vous abonnant au flux RSS du forum, vous pourrez suivre tout nouveau message sur l'ensemble du forum.
  • En allant dans votre Profil, ligne "Vie privée", vous pouvez également cocher "Suivre automatiquement les sujets auxquels on a répondu.", vous n'aurez plus à cliquer sur "Suivre cette discussion" lorsque vous postez un message.
  • Carte des membres pouvant aider et des écoles sous PrimTux, merci de nous envoyer un email si vous souhaitez y apparaître.
  • Abonnez-vous à la newsletter sur le site principal pour être informé des nouveaux paquets, nouvelles versions, bugs...

#1 14-06-2018 18:06:40

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Proposition d'amélioration des tests

Bonjour à chacun.

L'arrivé de la PrimTux 4 a mis en lumière un manque cruel de feedback de la part des utilisateurs.
Je ne penses pas (mais j'espère avoir tord) qu'en gagnant en popularité, on va forcément avoir plus de testeurs : on est dans une société de consommation ou l'utilisateur s'attend à un produit fini...

Voici quelques idées non exhaustives :

  1. Mettre en place des outils de tests automatisés : la création d'un petit utilitaire (en gtk) permettrait de lancer ces tests : par exemple, utilisation de selenium pour valider le filtrage du contrôle parental

  2. Un utilitaire simplifié de remonté d'anomalies (par exemple dispo sur la barre de status) avec un signalement lors de la première installation de PrimTux

  3. Une enquête de satisfaction qui se lancerait (par exemple) tous les trimestres

  4. La mise en place d'une cagnotte pour faire tester l'applicatif par une entreprise dédié

Hors ligne

#2 14-06-2018 18:58:13

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Pour ma part, ce sont de bonnes idées. D'accord avec 1, 2, 3, mais pas avec 4, ils vont tout faire refaire ou proposer de refaire eux-mêmes à leur sauce parce que forcément quand c'est du DIY avec de l'autoformation il y a des "conventions" auxquelles on n'est pas forcément habitués, et personnellement j'ai encore en travers de la gorge l'accueil désastreux le la première PrimTux de la part de certains (il faut bien sûr relativiser et ne pas mettre tout le monde dans le même bateau) "pro" du libre. Tu as su te mettre à notre niveau en tant que développeur et c'est tout à ton honneur, mais encore une fois, personnellement, je ne pense pas que mettre cet outil entre les mains de purs techniciens soit judicieux. Il a été conçu à l'origine par des instits pour des instits et c'est un point à ne jamais oublier: ils n'y connaissent rien au libre pour 95% d'entre eux, ils veulent du simple et de l'efficace, ce qui me rappelle cette excellente BD:

gestion_projet_balancoire.jpg

Pour le 2, un simple lien "remontées de bugs" bien mis en évidence dans le forum pourrait peut-être suffire....

Hors ligne

#3 14-06-2018 21:08:31

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 1 852
Site Web

Re : Proposition d'amélioration des tests

Pour le 1, il serait assez simple de mettre en place un script qui lancerait puis fermerait une à une des applications depuis une liste avec une redirection d'erreurs vers un fichier. On aurait ainsi un retour sur les applications qui posent problème.
Il serait alors simple d'établir une liste d'applications à tester pour chaque session.
Est-ce que ce genre de test conviendrait et suffirait ?

Hors ligne

#4 15-06-2018 05:59:59

zoom61
Modérateur
Inscription : 07-09-2015
Messages : 981

Re : Proposition d'amélioration des tests

mothsart a écrit :

L'arrivé de la PrimTux 4 a mis en lumière un manque cruel de feedback de la part des utilisateurs.

Je ne trouve pas, le forum est là pour permettre à chacun de s'exprimer sur les problèmes rencontrés (et je trouve que les réponses sont rapides) et sur des besoins en nouvelles fonctionnalités.

mothsart a écrit :
  1. Mettre en place des outils de tests automatisés : la création d'un petit utilitaire (en gtk) permettrait de lancer ces tests : par exemple, utilisation de selenium pour valider le filtrage du contrôle parental

  2. Un utilitaire simplifié de remonté d'anomalies (par exemple dispo sur la barre de status) avec un signalement lors de la première installation de PrimTux

  3. Une enquête de satisfaction qui se lancerait (par exemple) tous les trimestres

  4. La mise en place d'une cagnotte pour faire tester l'applicatif par une entreprise dédié

  1. Pour ce qui est des tests automatisés, je ne pense pas que cela soit bon, car une application peut se lancer, mais le rendu inexploitable (problème de police, de cadrage, impossibilité de cliquer sur un bouton, etc.). L'aspect fonctionnel ne pourra jamais être automatisé.

  2. Gérer plusieurs outils va introduire un problème de où doit-on mettre la demande ? Ce qui fait qu'au bout la personne ne fera rien, ne sachant pas ou le mettre.

  3. "L'enquête de satisfaction", je pense que cela pourrait être une bonne idée, maintenant pour la périodicité, elle va dépendre aussi du nombre de released qui sera fait par an, si on envoie trop souvent des demandes et que les évolutions ne suivent pas...

  4. Je suis d'accord avec @Steph.

Hors ligne

#5 15-06-2018 09:49:38

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 1 852
Site Web

Re : Proposition d'amélioration des tests

zoom61 a écrit :
  1. Pour ce qui est des tests automatisés, je ne pense pas que cela soit bon, car une application peut se lancer, mais le rendu inexploitable (problème de police, de cadrage, impossibilité de cliquer sur un bouton, etc.). L'aspect fonctionnel ne pourra jamais être automatisé.

Tout à fait, mais les deux aspects ne s'opposent pas. Les tests automatisés ne peuvent concerner que des aspects techniques, et permettent de dépister et éliminer rapidement ces erreurs là.
Une fois les outils construits, ça permet de gagner en temps, en stabilité et en crédibilité.
Ce sont ensuite les retours utilisateurs qui permettent d'affiner.

Hors ligne

#6 15-06-2018 11:50:39

perlimpinpin
Membre
Inscription : 24-01-2018
Messages : 15

Re : Proposition d'amélioration des tests

il me semble qu'il faudrait deux choses (application, mail, liste de diffusion, logiciel de test, formulaire...) différentes
- une pour l’utilisateur de base (je constate qu'il y a quelque chose qui ne fonctionne pas et je le signale rapidement en quelques clics)
- une pour les "experts" qui peuvent passer un moment à chercher, à expliquer et à corriger
présentées sur une "même page ", ce qui rejoint la 1 et 2 de mothsart
pour l'enquête de satisfaction, il faudrait se fier au forum et au nombre de téléchargement

Dernière modification par perlimpinpin (15-06-2018 13:40:41)

Hors ligne

#7 15-06-2018 15:31:42

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

perlimpinpin a écrit :

il me semble qu'il faudrait deux choses (application, mail, liste de diffusion, logiciel de test, formulaire...) différentes
- une pour l’utilisateur de base (je constate qu'il y a quelque chose qui ne fonctionne pas et je le signale rapidement en quelques clics)
- une pour les "experts" qui peuvent passer un moment à chercher, à expliquer et à corriger
présentées sur une "même page ", ce qui rejoint la 1 et 2 de mothsart
pour l'enquête de satisfaction, il faudrait se fier au forum et au nombre de téléchargement

Pas bête! Et pour l'utilisateur "de base", comme je le disais un lien en rouge ou avec des bip en haut du forum pourrait suffire, et effectivement une application ou un script dédié pour les "testeurs officiels" qui seraient à même de trouver une solution.

Hors ligne

#8 16-06-2018 03:28:11

perlimpinpin
Membre
Inscription : 24-01-2018
Messages : 15

Re : Proposition d'amélioration des tests

on peut parler ici de l'organisation générale (forum, wiki ...) ou faut-il créer un nouveau sujet ?

Hors ligne

#9 16-06-2018 07:55:54

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Nouveau sujet c'est mieux.

Hors ligne

#10 16-06-2018 09:05:37

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

zoom61 : Alors, je pense que tu ne connais pas Selenium.

Le principe c'est de piloter un navigateur via un scénario d'execution :
Du coup, ça permet de simuler des actions utilisateur comme des clics sur des éléments.

Pour vérifier une police, on peut faire des screenshots à un moment précis du scénario avec une taille donné et la comparer avec un screenshots attendus : du coup, ça permet de valider une police, un positionnement etc.

C'est drôlement efficace dans le cadre du web.

Dans le cas du contrôle  parental, ça permettrait simplement de tester l'accès ou non à des sites de  façon automatique.
C'est un vrai filet de sécurité surtout si on change radicalement des règles de filtrage ou le logiciel en question (tests de non régression).

Je ne sais pas si il existe des équivalents pour GTK/QT...

Après, pour les logiciels que je développe, je suis de plus en plus exigeant sur les process : langage avec typage fort + réflexion du choix de typage, tests unitaires/fonctionnels/d'acceptances...
C'est difficile d'être exhaustive dans le domaine car il y a beaucoup d'astuces (et d'utilitaires) qu'on apprend avec l'expérience.

Enfin, pour l'utilitaire de remonté d'anomalies, je voyais ça comme ça :

un questionnaire minimaliste qui s'ouvre avec un champ "mail" obligatoire, une séléction du logiciel concerné facultatif et un descriptif obligatoire.
Pour les utilisateurs avancés, une zone qui se déplie permettant par exemple de rajouter des imprim écrans.

Le champ email serait pré-rempli (donc stocké) les prochaines fois.

Ce petit soft se connecterais à un webservice qui rassemblerait les différents tickets d'anomalies.
Le webservice en question serait relié à un compte du forum qu'il viendrait abonder via un nouveau ticket dans une rubrique dédié.
Il serait anonymisé.

Ca c'est la version minimal : je vois plein de fonctionnalités, évolutions en découlant.

Hors ligne

#11 16-06-2018 09:33:55

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Ça fait très pro... Alors à part le questionnaire utilisateur, le reste pour moi c'est du chinois, et j'ai un temps dédié PrimTux que je ne plus allonger!

Hors ligne

#12 16-06-2018 10:38:06

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Comme dis, rien n'est fait : l'idée est déjà d'en discuter : une bonne réflexion avant de ce lancer dans un truc qui ne servirait pas ou peu.

Un web-service ça demande un serveur de dispo avec à minima un langage serveur comme PHP et une base de donnée. (SQLite, MySQL ou PostGreSQL) et un peu de place. (avec rien que 100Mo on est très large)

Tout ce que je propose, je sais le faire et sans forcément nécessiter une aide. Néanmoins, ça nécessite d'en parler et je pense communiquer sur comment c'est fait.
Une fois expliqué, ça ne devrait plus être du chinois, Steph.

Hors ligne

#13 16-06-2018 11:58:03

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Langage serveur avec php  et mysql on va s'amuser avec lighttpd et le filtrage. Ça peut faire beaucoup de concessions pour un lancement sous terminal et les logs qui nous donnent aussi beaucoup d'infos. Ce que je redoutais ce n'est pas la manière dont on peut résoudre les bugs (ça pour l'instant d'ailleurs on a réussi à le faire), c'est le nombre tout simple de retours de tests, et là c'est vrai qu'un lien bein visible sur le forum pourrait faire l'affaire.

Hors ligne

#14 16-06-2018 12:48:20

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Steph a écrit :

Langage serveur avec php  et mysql on va s'amuser avec lighttpd et le filtrage.

Pas forcément : t'as des hébergements gratuits ou le paramétrage de base suffirait amplement. L'API sera pas public... y'a peu de chance d'être spammé et si c'était le cas et y'a des moyens assez simple pour en durcir les accès.

Je trouve (je me trompe peut-être) qu'un accès au forum peut-être une barrière : pour signaler un petit soucis rencontré, il faut créer un compte, si possible se présenter et enfin créer un billet de signalement au bon endroit.
Tout ça avec le risque de perdre son anonymat. (pour ceux qui souhaite le préserver)

Hors ligne

#15 16-06-2018 13:39:17

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Ah je pensais que ça devait être inclus dans la distribution, si c'est à installer sur un serveur là il n'y a pas de soucis.

Hors ligne

#16 16-06-2018 13:52:49

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Oui, pour t'expliquer le fonctionnement du webservice, c'est hyper simple.

1. L'utilisateur envoi le formulaire : le soft installé sur la distribution va envoyer une requète au serveur php à l'url x avec tels paramètres.
2. Le webservice va traiter la requète en enregistrant celle-ci en base de donnée dans un premier temps
3. Dans un second temps, il se connecte au forum avec un compte qu'on aura créé en off et il va créer un ticket dans le thème "inccidents" (c'est un exemple).
4. On voit l'anomalie et on en discute sur le forum si besoin.

Hors ligne

#17 16-06-2018 14:26:17

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Si c'est ça c'est bon ça roule.  big_smile

Hors ligne

#18 16-06-2018 15:23:02

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Du coup, pour commencer à dev dessus :

il va falloir créer cet utilisateur et m'envoyer le login/mdp (de la façon la plus sécure qui soit) : ça sera enregistré en base.
Il faut aussi créer un thème pour les tests (et oui, je vais pas y arrivé du premier coup, donc on va avoir un thème avec pleins de tickets spams  lol  lol
et un thème lorsque ça sera stabilisé.

Enfin, faudra (pas urgent pour le moment) déterminer ou on stocke ça et donc l'url du webservice.

Hors ligne

#19 16-06-2018 16:24:02

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Donc je dois créer un utilisateur sur le forum qui postera exclusivement dans une section dédiée du forum privé par exemple.

Hors ligne

#20 16-06-2018 16:32:18

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 1 852
Site Web

Re : Proposition d'amélioration des tests

Est-ce que ce que je proposais peut ou non être utile ?

Philippe Dpt35 a écrit :

Pour le 1, il serait assez simple de mettre en place un script qui lancerait puis fermerait une à une des applications depuis une liste avec une redirection d'erreurs vers un fichier. On aurait ainsi un retour sur les applications qui posent problème.
Il serait alors simple d'établir une liste d'applications à tester pour chaque session.

Car ça je pourrai le faire.

Hors ligne

#21 16-06-2018 17:36:15

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Je t'ai complètement zappé Philippe, désolé.

Et oui, c'est une idée très pragmatique donc très bonne : feu vert pour moi !

Hors ligne

#22 16-06-2018 17:55:56

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 210

Re : Proposition d'amélioration des tests

Steph a écrit :

Donc je dois créer un utilisateur sur le forum qui postera exclusivement dans une section dédiée du forum privé par exemple.

Et c'est ça qu'il faut faire?

Hors ligne

#23 16-06-2018 18:04:02

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 289

Re : Proposition d'amélioration des tests

Oui, exactement.

Hors ligne

#24 27-06-2018 17:27:47

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 1 852
Site Web

Re : Proposition d'amélioration des tests

Voici un script de lancement automatisé des applications des différentes sessions de PrimTux.

Le script demande en paramètre le nom du fichier contenant la liste des applications à lancer.
Cette liste est au format texte, avec le nom d'une application par ligne. Le nom de l'application peut ou non contenir son chemin d'accès, tout dépend de ce que l'on veut tester.

Exemple:
voici la liste des applications de la session 01-mini. Elle reprend les applications du handymenu. Elles sont listées telles qu'appelées dans la ligne de commande du handymenu.
applismini.txt

libreoffice --writer
anous-mini
contour-mini
suites-mini
chemin-mini
symcolor-mini
gtans
/usr/share/Omega/labyrinthe-linux/Labyrinthe
/usr/share/Omega/labyrinthe-cache-linux/Labyrinthe-cache
/usr/share/Omega/comparaison-linux/comparaison
/usr/share/Omega/piles-linux/piles
mulot-mini
klettres
pysycache
tuxpaint
childsplay --language=fr
gcompris
/usr/bin/omnitux
hannah
ktuberling
ri-li
supertux2
firefox

Pour faciliter l'utilisation du script, j'ai fait deux paquets:

  • testapplis-primtux3_1.0_all.deb pour PrimTux3

  • testapplis-primtux4_1.0_all.deb pour PrimTux4

Ils peuvent être téléchargés par

wget http://www.primtux.fr/Documentation/tests/testapplis-primtux3_1.0_all.deb

ou

wget http://www.primtux.fr/Documentation/tests/testapplis-primtux4_1.0_all.deb

Il suffit d'installer le paquet voulu, après l'avoir téléchargé, par:
pour PrimTux3

sudo dpkg -i testapplis-primtux3_1.0_all.deb

pour PrimTux4

sudo dpkg -i testapplis-primtux4_1.0_all.deb

Le paquet installe le script /usr/bin/testapplis ainsi que les listes d'applications à tester pour chaque session. Ces listes reprennent les applications des handymenus ainsi que les celles du menu principal, sauf pour la session mini qui ne dispose pas de ce dernier. Les commandes de lancement d'applications sont telles qu'appelées dans les handymenus ainsi que dans les fichiers /usr/share/applications/*.desktop
Elles sont localisées dans /usr/share/doc/tests sous les noms

  • applismini.txt

  • applissuper.txt

  • applismaxi.txt

  • applisadmin.txt

Elles peuvent être éditées manuellement pour ajouter ou enlever des applications à tester.

Une fois le paquet installé, à chaque ouverture d'une session un terminal s'ouvre pour demander si l'on souhaite ou non lancer le test.
Les erreurs sont redirigées vers un fichier testappli.log situé dans le répertoire utilisateur de la session dans laquelle s'est fait le test. C'est ce fichier qu'il faudra consulter pour visualiser les problèmes éventuels.

Le script peut également être utilisé pour tester manuellement une liste personnelle d'applications. Il suffira de lancer la commande

testapplis /chemin/repertoire/fichier-liste

Pour supprimer le lancement du test à chaque ouverture de session, il suffit de supprimer le paquet par

sudo apt-get remove testapplis-primtux3

ou

sudo apt-get remove testapplis-primtux4

Ce qu'il reste à faire et pour lequel vos contributions sont nécessaires:

Il conviendrait de finaliser la liste des applications à tester pour chaque session (applications à ajouter, retirer).
Des améliorations sous forme de tests complémentaires à faire sur chaque application pourraient être intégrées au script. Si vous avez des suggestions !

NOTA:
Il peut arriver que certaines applications ne se ferment pas. Cela ne nuit en rien au résultat du test. Elles devraient pour la plupart se fermer en même temps que l'on ferme la fenêtre de terminal dans laquelle se sont lancés les tests.

Je lance les tests en VM pour PrimTux 3 et 4 sous les différentes sessions, et fais un retour dans les fils appropriés.
Des tests sur différentes machines réelles seraient fort utiles.

Contenu du script testapplis

#!/bin/bash

utilisateur=$(logname)        
listappli="$1"

if [ -z "$listappli" ]; then
   echo "Ce script nécessite qu'on lui indique un fichier contenant une
liste d'applications à tester."
   echo "Appuyez sur une touche pour quitter le script."
   read attente
   exit 1
fi

echo "Voulez-vous lancer le test des applications ? (O/N) par défaut, oui"
read reponse
if [ "$reponse" = "N" ] || [ "$reponse" = "n" ]
   then exit 0
fi
          
if ! [ -e "$listappli" ]
   then echo "Le script nécessite la présence du fichier $listappli
contenant la liste des applications à tester."
        echo "Veuillez appuyer sur un touche pour quitter le script."
        read attente
        exit 1
fi

# Redirection d'erreurs vers un fichier log
fichierlog="$HOME/testapplis.log"
if ! [ -e "$fichierlog" ] > /dev/null
    then > "$fichierlog"
fi
date >> "$fichierlog"
echo "Session: $utilisateur" >> "$fichierlog"
exec 2>>"$fichierlog"
echo "Début du test
***************************************************************" >>"$fichierlog"
debut=$(date +%s)
echo "Test en cours"
while read ligne; do
    if [ -n "$ligne" ]; then
       echo "# Lancement de l'application $ligne" >> "$fichierlog"
       ${ligne} &
       pid=$!
       sleep 5
       pidenfant=$(pstree -pl | grep $pid | sed -e "s/^.*$pid)//" -e 's/)/ /g' -e 's/[^0-9 ]//g')
       tab_pid=($pidenfant)
       # On tue les processus enfants
       cpt=${#tab_pid[@]}
       for (( i = 0 ; i < cpt ; i++ ))
           do
           kill -9 ${tab_pid[$i]}
       done
       # On vérifie si le processus principal a été tué
       vivant=$(ps -aux |awk '{print $2}'|grep "$pid")
       if [ -n "$vivant" ]; then
          kill -9 $pid
       fi
    fi
done < "$listappli"

fin=$(date +%s)
temps=$(($fin-$debut))
temps=$(echo $temps |awk '{printf "%02d:%02d:%02d\n",$1/3600,$1%3600/60,$1%60}')
echo "Fin du test - durée $temps
***************************************************************
" >>"$fichierlog"
echo "
Les tests sont terminés et ont duré $temps
Un fichier des erreurs a été créé en $fichierlog."
echo "Appuyez sur [Entrée] pour fermer le terminal."
read attente

exit 0

Hors ligne

#25 29-06-2018 11:06:08

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 1 852
Site Web

Re : Proposition d'amélioration des tests

J'ai fait des modifications dans le script afin d'améliorer la fermeture des processus qui se faisait mal, laissant de trop nombreuses applications ouvertes en cours de test.
Le message précédent a été modifié pour tenir compte de ces modifications.

Hors ligne

Pied de page des forums