jeudi 27 juillet 2017



Alors que le monde (et plus particulièrement dans les pays développés) a connu une forte informatisation ces 40 dernières années, le petit monde de la généalogie n’a pas été en reste. Les premiers logiciels sont apparus il y a plus de 25 ans. De plus en plus sophistiqués, de plus en plus connectés, ils regorgent de fonctionnalités toujours plus évoluées. Certains nostalgiques diront même parfois trop.

Les éditeurs de ces logiciels sortent régulièrement de nouvelles versions avec de nouvelles fonctionnalités. Pour une raison simple, soyons honnête : la vente d'une nouvelle version ou d'un nouvel abonnement permet simplement à ces petites structures d'assurer le chiffre d'affaire qui permettra de payer leurs employés.
Il faut donc innover, et tenter à chaque fois de trouver LA fonctionnalité qui déclenchera des ventes ou de nouveaux abonnements.

Ces logiciels, parmi les plus vendus, sont utilisés par des dizaines (centaines ?) de milliers d’utilisateurs, chacun avec ses spécificités de saisie, ses habitudes, voire ses petites manies. Et autant d’usages.

Le développeur (celui qui écrit le code informatique d’une nouvelle fonction) va évidemment réaliser quelques tests pour contrôler que la fonction répond bien aux attentes de ce qui a été écrit. On parle ici de tests unitaires.
Sur le papier, cela semble facile, et on pourrait imaginer s’arrêter à ces quelques tests. Après tout, c’est au développeur de bien faire son travail.
Certes, mais c’est hélas très réducteur. Si on demande en effet au développeur d’écrire une fonction d’addition dans un logiciel, ses tests seront largement suffisants pour bien démontrer que le travail a été fait correctement.

Si je demande à développer une nouvelle fonction d’ajout de Parent à mon logiciel de généalogie. Cela semble également évident. J’ai un individu Jean. Et je crée une fonction d’ajout d'un Père. Le test sera facile. J’utilise la fonction pour créer Bernard qui sera père de Jean, et bing, le test est fini.
Sauf qu’il faut vérifier que si j’utilise la numérotation Sosa, le père de Jean doit bien porter lui aussi un numéro Sosa, et en plus le bon.
Que si Jean a déjà une mère, la fonction doit elle de facto marier Bernard à la mère ? Et si Jean a déjà des frères et soeurs par sa mère, ces derniers doivent ils être automatiquement rattachés à Bernard ? Et si la mère a déjà un conjoint, comment cela se passe t’il ? Et si, et si ?

On le voit bien une simple fonction, toute bête sur le papier, peut avoir des implications et des ramifications profondes. Et c’est là qu’intervient le béta-testeur.

Le bêta testeur, mais c’est quoi un béta-testeur ? Alors non, ce n’est pas un testeur un peu neuneu, il s’agit juste d'une habitude de nommage.

Un cycle de développement informatique passe par de nombreuses étapes que je vais schématiser très sommairement en:
  • Rédaction du cahier des charges (les grandes lignes) puis les spécifications détaillées
  • Le développement informatique à proprement parler. 
  • Les tests unitaires (je vérifie que la fonction répond globalement à ce qui m'a été demandé)
  • Une phase alpha de test: la fonction est livrée, pas le logiciel complet. On se focalise donc sur la fonction.
  • Une phase bêta de test: on s’approche de la condition réelle d’usage. Il faut faire comme si le programme était prêt à être livré.
En parallèle de ces deux dernières phases, on y ajoute bien souvent des tests dits de non régression. Pour vérifier que le développement  des nouvelles fonctions n’a pas déréglé les anciennes.

Les éditeurs de logiciel font généralement appel à des utilisateurs volontaires pour les deux dernières phases. En effet, quoi de mieux que des utilisateurs lambda pour tester une nouvelle version d’un logiciel. Et cela n'a rien à voir avec les capacités de l'éditeur. Facebook, Google ou encore Apple font également appel à des bêta testeurs.

Comme j’ai déjà eu l’occasion de l’écrire, je suis moi-même béta-testeur du logiciel Heredis.
Que son éditeur soit ici rassuré, je ne vais pas révéler ici de secrets bien gardés, car il y a une première règle à laquelle doit s’engager un testeur, c’est la confidentialité. Cela semble être une évidence, mais parfois, il faut enfoncer des portes ouvertes.
Comme le testeur a accès plusieurs mois à l’avance à la nouvelle version d’un produit, il est évidemment tenu de ne pas divulguer le contenu de ces nouveautés en dehors du cercle des testeurs (la concurrence s’en réjouirait).

Concrètement, en quoi consiste le travail du testeur ?

Et bien c’est relativement simple. De manière régulière, l’éditeur fournit son application en indiquant les évolutions et corrections apportées. Aux testeurs de vérifier la bonne correction des bugs et le bon fonctionnement des nouveautés. 

Pour cela, une règle d’or: Toujours travailler sur une copie de son propre fichier généalogique.

En effet, quoi de mieux que son propre fichier pour tester un logiciel. Nous en connaissons les familles, les liens, les particularités, les implexes.
Il est bien entendu régulier de se créer des fichiers de test, contenant quelques individus dans une configuration spécifique pour tester une fonction, ou bien au contraire des fichiers contenant des dizaines voir centaines de milliers d’individus pour éprouver la résistance de certains traitements.

Mais pour ses propres données, toujours sur une copie de son propre fichier. En effet, lors d’un développement de version, la structure du fichier peut changer. Et un fichier traité dans la version N ne sera plus forcément ouvrable avec la version de test N+1.  

Et le testeur n'a qu'un objectif: trouver des bugs. Et le reporter à l’éditeur pour qu’ils puissent les corriger avant la sortie.
Tout en sachant qu’il ne sera pas possible de tous les trouver. Mais à tout le moins d’en réduire au maximum le nombre.


Que gagne le testeur ?

Même si les gros éditeurs comme Microsoft par exemple rémunère les chasseurs de bugs pour Office 365 (au minimum 500$ par bug trouvé), il n’en est pas de même pour Heredis (tout comme pour un éditeur de logiciel pour smartphone dont j’ai été testeur il y a quelque temps déjà). Le testeur n’est pas rémunéré en numéraire. Mais généralement il reçoit quelques cadeaux de la part de l’éditeur, ce qui semble être la règle, y compris dans l’univers des jeux vidéos comme j'ai pu le lire en faisant de rapides recherches sur le sujet. 

Et je vais peut-être tuer le rêve de quelques uns : non, ce n'est pas le testeur qui décide de ce qu’il y aura dans les prochaines versions. L’éditeur est bien entendu à l’écoute des attentes des testeurs, mais aussi, je le suppose, des utilisateurs qu’ils ont en support téléphonique, sur les forums, les réseaux sociaux ou les salons où ils rencontrent leurs utilisateurs. Bien sur, nous donnons notre avis sur les fonctionnalités que nous sommes amenés à tester, mais je n'ai encore jamais vu une fonction emportée l'adhésion complète de l'ensemble des testeurs.

Pourquoi être testeur ?

Je ne répondrais pas pour mes petits camarades de test, mais pour ma part, ma motivation reste celle du geek : tester en avant première et découvrir des fonctionnalités. J’en fait de même à titre professionnel où je teste régulièrement les nouveautés de notre service informatique.

Tester un logiciel, un rêve ? 

Sur la papier, oui. Dans la réalité, un peu moins. Certes, on découvre les fonctionnalités avant les autres utilisateurs, mais c’est au prix d’un travail assez ingrat. En effet, le testeur va passer des heures et des heures à se focaliser sur une fonctionnalité, sans travailler sur son propre fichier, puisque comme je l’ai expliqué plus haut, on ne peut faire de saisie en réel.
Avoir un peu d'ancienneté sur les tests est intéressant. On se focalise assez rapidement sur ce que l'on doit tester et une certaine routine de test permet d'aller vite.
Toutefois, il me semble important que les éditeurs accueillent régulièrement de nouveaux testeurs pour apporter à chaque fois un nouveau regard sur les évolutions qui sont apportées sur nos logiciels favoris.

Si vous vous sentez également l'âme d'un testeur, que vous avez du temps à y consacrer, prenez contact avec votre éditeur favori. Ils sont surement à la recherche de testeurs motivés.






4 commentaires:

  1. Autre : C'est par exemple et aussi "grâce" aux bêta-testeurs que la France à la Loupe est toujours là.

    Nota: Il y a aussi beaucoup d'échanges et rencontres entre nous les bêta-testeurs ;-)

    RépondreSupprimer
    Réponses
    1. Dire cela semblerait indiquer que nous avons le pouvoir de dire à l'éditeur ce qu'il doit faire ou pas. Pour ma part, j'ai aussi en tête de nombreux exemples où les testeurs souhaitaient une chose qui n'a pas été reprises.
      Les testeurs sont une voix pour un éditeur, mais c'est loin d'être la seule.

      Supprimer
  2. Je suis bêta testeur, je ne me classe pas dans les geeks, je suis surtout passionné de généalogie et content de pouvoir participer à mon niveau à cette aventure qu'est le développement de ce qui pour moi est le meilleur des logiciels de généalogie.
    Je le fais juste par enthousiasme.

    RépondreSupprimer
    Réponses
    1. C'est bien pour cela que sur cette partie, je n'ai parlé que pour moi. Les motivations sont différentes selon chaque testeur, comme l'usage qui est propre à chaque utilisateur.

      Par contre, l'enthousiasme doit être assez partagé. Car il en faut pour faire et refaire le même test sur plusieurs semaines d'affilé.

      Supprimer

Subscribe to RSS Feed Follow me on Twitter!