La taverne du testeur

[Programmez]L’Humain, le nouveau critère qualité indispensable au logiciel ?

Préambule: cet article a été écrit avant la présentation faite à la STLS sur le même sujet.

Lorsque j’ai passé ma certification ISTQB fondation en 2014 un point m’avait plutôt « amusé » dans le chapitre d’introduction. On y abordait les raisons pour lesquelles on est amené à tester et un des éléments relevés était : on teste car « un logiciel qui ne fonctionne pas correctement peut entraîner de nombreux problèmes, … et même entraîner des blessures qui peuvent être mortelles » (source syllabus ISTQB fondation 2018).

Sur le moment, cela m’avait paru « évident » avec l’exemple simpliste du logiciel de pilotage d’un avion. Néanmoins, pour moi, cela restait du domaine de « l’anecdote », du cas « à la marge » qui est là « pour faire joli », mais auquel je ne serai jamais confronté… Ce qui expliqua mon amusement…

Cependant, j’acceptais que le testeur soit censé mesurer la qualité et qu’il doit prendre en compte l’humain. Bref un testeur, lorsqu’il évalue la qualité d’un logiciel doit prendre en compte les impacts potentiels sur ses utilisateurs… Ce point particulier de l’impact des logiciels est maintenant devenu primordial.

Dans les faits, même si je n’ai jamais été amené à travailler sur des logiciels engageant physiquement la vie de ses utilisateurs (ou de ses bénéficiaires), depuis peu, ce postulat résonne de plus en plus dans ma vie de testeur. En effet, je ne peux plus occulter l’énorme impact sur la vie des gens, des logiciels que je suis amené à tester !

Les logiciels impactent fortement la vie de ses utilisateurs

Ce point peut paraître une évidence mais il n’a jamais été aussi vrai qu’aujourd’hui… même si nous n’en sommes encore qu’aux balbutiements.

J’ai mis du temps avant de bien le cerner, mais maintenant cela me saute aux yeux : les logiciels orientent fortement nos vies, nos émotions, notre qualité de vie et même nos relations.

Pour être honnête, pendant longtemps, j’ai refusé de voir cette évidence. Étant devenue de plus en plus flagrante, je ne peux plus l’ignorer. Dans mon cas, suite à la communication dans les médias d’une étude de Facebook faite à l’insu de ses utilisateurs via un déploiement partiel en 2014 (très probablement un Dark Launch) < https://www.generation-nt.com/etude-psychologique-utilisateurs-facebook-regrette-erreur-communication-actualite-1899862.html >, j’ai commencé à ouvrir les yeux. L’étude de Facebook portait alors sur l’humeur de ses utilisateurs. Pour cela, Facebook a (je le rappelle à l’insu de ses utilisateurs cobayes) utilisé son logiciel pour afficher des informations orientées. Pour un panel ce ne fut que des informations positives, pour l’autre, que des information négatives. L’idée était de voir l’influence sur leur comportement et leur humeur. Le résultat de l’étude a évidemment montré le fort impact de ces informations sur le moral des utilisateurs.

Cette information avait à l’époque fait scandale car même si cette attitude était autorisée d’après les « CGU » (Condition Générales d’Utilisations) cela n’est pas du tout éthique de faire participer des personnes non informées à une étude… surtout dans le cas où une partie du but de cette étude est de détériorer le moral de ces personnes ce qui peut engendre des conséquences non maitrisées.

J’ai gardé cette information dans un coin de ma tête puis je me suis dit : « heureusement je n’ai pas Facebook… Et de toute manière c’est Facebook, une énorme entreprise au pouvoir beaucoup trop grand ! »

Encore une fois, j’avais tort et j’ai continué de sous-estimer le phénomène. Il a fallu encore quelques scandales liés aux logiciels comme l’utilisation des cartes de fidélité pour proposer des campagnes de promotion ciblées, les IA juridiques remettant plus facilement des coupables blancs de peau en liberté ou encore avec Cambridge Analytica pour que je sois amené à bien cibler la problématique. Entre temps on a vu émerger es assistants vocaux, la multiplication et l’expansion des réseaux sociaux (et de leur utilisation), la généralisation des achats sur les plateformes en ligne, le développement des algorithmes de YouTube, la démocratisation des plateformes de vidéos à la demande, la multiplication des petites applications mobiles « freemium », les paris en ligne et j’en passe.

Vous noterez que les exemples cités ci-dessus regroupent un grand nombre de logiciels et qu’il est assez complexe en travaillant dans l’informatique de ne pas travailler, au moins un moment, sur un de ces logiciels qui impactent énormément la vie des gens ! Ces types de logiciels ont pourtant tous fait l’objet d’un scandale :

  • Les assistants vocaux : avec un micro toujours allumé pour récupérer nos données et les utiliser à des fins commerciales ou encore l’espionnage de nos commandes vocales : < https://www.laquadrature.net/2018/05/18/temoin_cortana/ >.
  • Les réseaux sociaux : et leurs algorithmes nous poussant de plus en plus à un entre-soi en ne voyant que ce qui nous intéresse et les posts avec un avis similaire au notre.
  • Le développement de YouTube : avec son algorithme poussant les vidéos à réaction ce qui pousse des types de contenus à faible valeurs ajoutées ou pire… des vidéos poussant tout type de réactions pour attirer des vues (comme pour la campagne de Donald Trump où ses vidéos étaient valorisées)
  • Les plateformes de vidéos à la demande : dont les algorithmes nous proposent toujours plus de suggestions correspondant à nos goûts et devenant de plus en plus chronophage, sans nous proposer des nouveautés différentes de nos visionnages précédents
  • Les plateformes d’achat en ligne : qui créent des désirs artificiels (sur le même principe que les plateformes de vidéo à la demande) et, pour certaines, exploitent leur salariés et partenaires à l’aide de systèmes de notations
  • Les applications « freemium » ou avec achats par l’application : qui, à la manière des jeux à gratter poussent de plus en plus à l’achat en utilisant de manière malveillante des mécanismes comportementaux
  • Les applications de paris en ligne : poussant à miser de plus en plus d’argent et faisant croire aux personnes précaires (cibles de leurs publicités) qu’elles deviendront riches… alors qu’en parallèle ils bannissent les personnes gagnant trop de leurs plateformes.

Et je ne parle ici que d’exemples, vous en trouverez de nombreux autres en cherchant, si vous voulez avoir accès à une liste de produits concrets je vous invite à aller sur la « liste de la honte » de la fondation mozilla (cocher « confidentialité non incluse) < https://foundation.mozilla.org/fr/privacynotincluded/>

Je vous propose maintenant d’étudier de plus près un de ces mécanismes liés aux algorithmes.

Exemple de fonctionnement d’un logiciel pour impacter et orienter nos vies

Là encore, je vous propose de prendre un cas particulièrement représentatif, celui de Facebook et de ses algorithmes.

Frances Haugen a proposé le 5 octobre 2021 un vibrant témoignage devant le Sénat américain sur l’utilisation et l’orientation faite par Facebook sur ces algorithmes < https://www.rfi.fr/fr/am%C3%A9riques/20211005-la-lanceuse-d-alerte-frances-haugen-demande-au-congr%C3%A8s-de-mieux-r%C3%A9guler-facebook >.

On y découvre le fonctionnement de cet algorithme dont le seul but est de créer plus de clics et d’interaction, de rester plus longtemps sur Facebook. Même si de prime abord cela peut paraître une bonne chose (on voit ce qui nous intéresse) cela pose de très nombreux problèmes dont les principaux sont :

  • On se renferme totalement sur soi et n’avons que des confirmations sur nos croyances. Quelqu’un pensant que la terre est plate ne se verra proposer que des articles à ce sujet !
  • On ne sait plus débattre et échanger car tout devient « opinion » ce qui facilite les extrêmes (il devient de plus en plus complexe de convaincre quelqu’un que la terre est ronde s’il reste trop sur ses réseaux sociaux) (peut être ajouter une phrase sur la confusion entre fait et opinion)
  • On oriente des personnes vers des extrêmes. Des personnes faisant attention à leur poids peuvent vite se retrouver avec des articles encourageant l’anorexie !

Tout cela se fait insidieusement et de manière naturelle, l’algorithme nous poussant de plus en plus vers ces sujets sans que nous nous en apercevions. Nous en arrivons à la problématique de soumission librement consentie soulevée par Joules-Beauvois et à la question « Quelle est notre réelle liberté ? »

Je ne prends ici qu’un exemple mais il est réplicable malheureusement à l’envie sur de très nombreux logiciels et algorithmes !

Ce constat nous pousse cependant à remarquer une chose : les tests (et donc en partie les testeurs) ont à ce jour failli à un de leurs buts énoncé : la prise en compte et la mesure de l’aspect protection de la vie des utilisateurs ou bénéficiaires du logiciel ! L’idée ici n’est pas forcément de rendre le testeur garant de cet aspect des logiciels (cela ne dépend pas de lui) mais bien qu’il soit capable de prendre en compte cette caractéristique.

Il est donc maintenant temps de résoudre ce manque au niveau de la qualité des logiciels. Il n’y a évidemment pas de solution unique ou miracle mais je pense qu’il faudrait au moins inclure un nouveau critère qualité : L’« humain »

Le critère qualité « Humain » pour encadrer certaines pratiques

J’aime beaucoup la norme ISO-25010 qui répertorie les différents critères qualité :

Les critères définis sont :

  • Le fonctionnel vérifiant que le logiciel fait ce que l’on souhaite
  • La performance : basés sur la capacité du logiciel à faire ce qui est attendu dans le temps imparti et en fonction de circonstances
  • La compatibilité :  pour vérifier la capacité à fonctionner dans son environnement
  • L’utilisabilité : axé la facilité d’utilisation
  • La fiabilité : centré sur la capacité à continuer de fonctionner
  • La sécurité : lié à la protection (notamment des données)
  • La maintenabilité : dont le but est de pouvoir continuer à faire évoluer le logiciel
  • La portabilité : pour vérifier la capacité du logiciel à être déployé dans différents environnements

Comme vous pouvez le remarquer il n’y a rien de spécifique aux conséquences du logiciel sur ses utilisateurs ! Proposer un nouveau critère lié à ce point spécifique. Ce critère, que l’on pourrait appeler « humain », pousserait les testeurs et acteurs de l’informatique à se pencher sur ce sujet !

Il pourrait être composé de 2 sous-critères :

  • L’éthique

Ce point sur la qualité aurait pour but de mesurer la qualité en termes d’objectif et d’impact direct du logiciel développé. L’objectif du logiciel / de la fonctionnalité va-t-il à l’encontre ou dans le sens des valeurs humaines ?  L’implémentation du logiciel / de la fonctionnalité se fait-il uniquement pour des raisons mercantiles au détriment de la qualité de vie des utilisateurs ou cette qualité est-elle supérieure ?

Ces interrogations ne peuvent rester sans réponse et font d’ailleurs déjà l’objets de conférence, je pense notamment à celle d’Olivier Denoo sur l’IA : < https://www.youtube.com/watch?v=6kfLbVLJ7ZQ >

  • L’impact

Ce sous-critère qualité aurait pour but d’étudier l’impact du logiciel / de la fonctionnalité à moyen et long terme.  Il est coutume de dire que « l’enfer est pavé de bonnes intention ». On peut d’ailleurs remarquer cette dérive avec les algorithmes qui nous poussent des suggestions proches de ce que l’on aime et qui nous enferment finalement dans des cases et ne nous permettent pas de nouvelles découvertes.

Le sous-critère qualité sur l’impact car étudierait les évolutions liées au logiciel ou sa fonctionnalité. Il serait donc totalement complémentaire avec l’éthique qui, de son côté, dépend également de « l’ère du temps » : des choses qui semblaient barbares ou clivantes dans les années 90 sont aujourd’hui jugées « normales » et vice-versa.

Que ces critères soient officiels ou non ils me semblent cependant incontournables !

Le critère qualité « humain » essentiel ?

Le logiciel est et doit rester un outil à disposition des humains. Un outil qui nous aide au jour le jour et nous simplifie la vie. Malheureusement nous pouvons constater qu’actuellement ces outils basés uniquement sur des critères et des indicateurs ne prenant pas vraiment en compte l’impact sur l’humain au sens collectif et non particulier (comme la croissance, le nombre de vues, de clics…) proposent des dérives allant à l’encontre de même de nos intérêts.

Il me semble donc essentiel que les testeurs mais aussi tous les acteurs du logiciel prennent conscience de ce problème afin de pouvoir lutter contre ces dérives.

Le domaine des arts s’est déjà approprié ces problématiques, je pense notamment à :

  • Des séries comme Black Mirror qui propose à la fin des années 2010 des dystopies montrant jusqu’où pouvaient mener certaines logiques. De nombreux aspects y étaient abordés comme les réseaux sociaux, les systèmes de notation ou encore les implants pour augmenter les humains.
  • Le roman « MétaCités » écrit par Aude Hage, par ailleurs mon épouse. Elle retrace la vie d’une famille sur deux générations dans une cité ultra technologique gouvernée par les IA qui dérive peu à peu vers une dictature numérique.
  • La BD « Carbone et Silicium » de Mathieu Bablet où l’on s’interroge sur les frontières de la vie avec des robots dotés d’une IA très proche de l’être humain ou encore des êtres humains totalement transformé par la technologie au point de ne plus avoir certains de leurs organes et membres.

Conclusion

Un des rôles du test est de protéger les hommes des impacts potentiellement négatifs du logiciel. Il est maintenant évident que ces impacts ne sont pas uniquement liés aux logiciels de sureté mais bien à une grande partie des logiciels.

Ce problème s’est démultiplié avec la capacité des logiciels à toucher de plus en plus de personnes mais aussi par leurs capacités à être de plus en plus puissants et présents. La conjonction de ces facteurs nous a amené à la situation actuelle et il est maintenant de notre devoir de réfléchir à des moyens d’orienter positivement toute la puissance de ces logiciels.

La proposition d’un critère qualité « humain » est un début de solution mais il n’est ni nécessaire, ni suffisant. Le testeur peut par exemple jouer le rôle d’agitateur, qui challenge les approches et les choix… dans la limite de ses capacités et responsabilités (de nombreux choix fondamentaux ne dépendent pas des équipes développant le logiciel).

D’autres pistes peuvent et doivent être envisagées… et il me semble également évident que ce type de sujet finira tôt ou tard dans le domaine de la législation comme nous avons pu le voir avec la RGPD

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

2 réponses

  1. J’ai atterri sur votre article en lisant celui sur l’introduction à la qualité durable.
    Je partage totalement votre phrase « Le logiciel est et doit rester un outil à disposition des humains. Un outil qui nous aide au jour le jour et nous simplifie la vie.  » Et j’ajouterai qu’il ne doit pas nous rendre dépendant de son utilisation. Car c’est malheureusement le triste constat que je fais de plus en plus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Qualité

Qualité vs Surqualité

Introduction :  Aussi impliqués et passionnés que nous puissions l’être dans nos métiers d’informaticiens, il ne faut pas se voiler la face, le nerf de la guerre en matière de projets reste tout de même les finances.  Pour que la réalisation d’un produit soit considérée comme un réel succès par

Lire la suite »
culture générale

[Programmez!] Un jeu pour le test logiciel ?

Les jeux sont présents presque partout, à tout moment de notre vie mais aussi dans le monde animal où ce dernier sert à mesurer et à établir un ordre établi. Cette présence montre un intérêt au-delà de l’amusement lié à cette activité. S’il est un endroit où les jeux ne

Lire la suite »