Le web calédonien au peigne fin : coulisses d’un audit

Nous en parlions précédemment ; l’écoconception et le green IT de manière générale représentent désormais un aspect crucial lorsqu’on se lance dans la création d’un produit numérique, quel qu’il soit.

En 2024, ces concepts sont encore trop méconnus du grand public (et aussi des personnes qui travaillent dans le secteur informatique !) alors même que ces problématiques concernent tout le monde. Alors comment faire pour que tout le monde se sente réellement concerné ? Notre hypothèse : en donnant des chiffres précis qui permettent d’y voir plus clair ! D’où l’intérêt de lancer un audit sur l’ensemble des sites web de Nouvelle-Calédonie.

Oui, tous les sites web actifs dont l’extension est en « .nc » !

Et dans un premier temps, on va vous dire comment on a procédé pour trouver cette liste de sites !

Avertissement préalable : la page web que vous êtes en train de consulter n’est pas écoconçue. Si lancez une analyse dessus, vous ne trouverez pas un bon résultat. Nous ne nous déchargerons pas du problème en disant que les cordonniers sont les plus mal chaussés ; c’est une problématique que nous avons en tête et qui sera présente lors de la prochaine refonte de notre site web. Fin de la parenthèse ; bonne lecture !

L’origine de cet audit

Pendant quelques mois, notre société Hightest a consacré du temps, à titre bénévole, à une commission nommée NID au sein du Cluster OPEN (Organisation des Professionnels de l’Economie Numérique de Nouvelle-Calédonie). Pourquoi NID ? Pour Numérique Inclusif et Durable, ce qui englobe des questions aussi larges et passionnantes que l’accessibilité, la performance environnementale des sites web, l’accès au numérique au plus grand nombre, ou encore la valorisation du matériel informatique inutilisé. Une opération d’envergure de la commission NID, la Grande Collecte Numérique, a permis par exemple de donner une seconde vie à un grand nombre de PC qui « dormaient » dans nombre d’entreprises (dont Hightest !) ; ces PC sont désormais au service d’associations locales.

Parmi les nombreux projets de cette commission, il existait un souhait de réaliser un audit de performance environnementale des sites web calédoniens. Une mission que nous avons acceptée, en même temps que celle d’auditer l’aspect accessibilité. Nous avions déjà effectué un exercice similaire en 2018 avec ces premiers chiffres sur l’accessibilité des sites calédoniens.

Nous avons pris plaisir à travailler sur ce projet et espérons qu’il permettra de favoriser de meilleures pratiques en termes de performance environnementale des sites web.

Le principal challenge a été de trouver le bon jeu de données, car c’est bien de vouloir faire un audit, mais quels sites analyser ? Etonnamment peut-être, c’est le chantier qui a pris le plus de temps et de réflexion, et qui est retracé dans cet article ; ce qui a suivi a été une part de gâteau.

Critères de sélection des sites à analyser

Pour mener à bien cette sélection de sites, les quelques lignes directrices suivantes ont été respectées :

  • Analyse de tous les sites dont l’extension est « .nc », avec acceptation du risque qu’une petite partie de ces sites pourraient être des sites non calédoniens
  • Mise à l’écart des sites :
    • Vides
    • En construction
    • En maintenance
  • Automatisation au maximum du processus de sélection des sites

Récupération de tous les domaines en « nc »

Maeva Leroux, notre contact principal au sein de la commission NID, nous a fourni cette page listant l’ensemble des sites web dont l’extension est « nc ». Pour extraire cette liste, nous avons utilisé le moyen du bord qui nous passait sous la main, à savoir l’extension Chrome XPath Helper, bien utile pour l’automatisation des tests web.

Il a suffi de saisir le xPath « //a[contains(@href, ‘.nc’)] » et de récupérer le texte des résultats. Près de 7000 URLs ont ainsi été récupérées très rapidement.

Ces URLs ont été stockées dans un fichier csv, après avoir été préalablement préfixées par « http:// ».

Vérification des codes de statut HTTP

Cette première liste n’était que notre matière première brute : il s’agissait en effet uniquement de noms de domaines, et non pas des sites web effectivement liés à ces noms de domaines. Il peut arriver qu’une personne ou une organisation achète un nom de domaine et n’en fasse rien. Il n’y a donc pas d’analyse à envisager sur ce genre de donnée vide.

C’est à ce moment que nous avons utilisé un autre outil pour vérifier ces noms de domaines : Postman. Postman est un outil de développement et de test qui permet notamment d’interagir avec des API et d’envoyer des requêtes HTTP à des serveurs pour tester la disponibilité des sites web.

Dans notre cas, c’est ce deuxième usage qui nous a intéressé.

Une requête très simple a été créée dans une nouvelle collection Postman, c’est-à-dire un ensemble organisé de requêtes qui peut être lancé selon des paramètres spécifiques. Cette requête a été programmée pour contrôler les codes de statut HTTP de chacune de ces URL. Ce que l’on recherche, c’est une liste d’URL renvoyant le code 200, qui signifie que l’adresse a pu être atteinte avec succès. Un log d’info a également été ajouté pour pouvoir récupérer facilement le résultat des tests à la fin.

La collection a ensuite été jouée en utilisant, en donnée d’entrée, le fichier des URLs mentionné précédemment. Il n’y a plus qu’à attendre ! Voici à quoi ressemblent les résultats dans la console Postman :

Cela a beaucoup allégé la liste, puisqu’elle est passée de 6908 noms de domaine à un peu moins de 4000.

Mais ce n’est pas fini !

Validation des sites

Tentative 1 : screenshots en folie

Afin d’optimiser les résultats de l’audit, nous souhaitions laisser hors de notre périmètre d’étude les sites en construction. Nous avons donc imaginé une solution automatisée, qui génère un screenshot de chaque page d’accueil et range ce screenshot dans un dossier. Cela avait pour objectif de faciliter la revue des sites, en permettant de visualiser rapidement les screenshots sans avoir à ouvrir un navigateur, attendre que la page charge, etc.

Nous n’aurions peut-être pas eu l’idée d’utiliser JUnit et Selenium pour réaliser ce travail si nous n’étions pas en contact avec ces outils à longueur de journée. Cela peut peut-être donner l’impression que « pour qui possède un marteau, tout ressemble à un clou » ! Mais peu importe ; ce code jetable a bien rempli son usage, et nous avons pu générer les screenshots voulus.

Le dossier de sortie, en train de se remplir de screeenshots :

Est venue ensuite la partie la plus fastidieuse : consulter chaque screenshot afin de dresser la liste finale des URL. Comment faire pour que cette analyse dure le moins de temps possible et surtout ne soit pas un calvaire pour la ou les personnes qui s’en chargent ?

Tentative 2 : affinage de la liste en automatique

Après une première tentative d’analyse à l’œil humain, il est apparu que cela prendrait beaucoup trop de temps ; non seulement parce que la liste était longue, mais aussi parce que beaucoup de screenshots révélaient que le site était en construction (ou tout simplement vide) et qu’il fallait donc l’écarter. Pas question d’infliger ce travail rébarbatif à qui que ce soit !

Il a donc été temps de trouver une solution de « dégrossissement » automatique, qui permette de filtrer davantage ces sites. Qui dit « automatique » dit aussi « moins fin » ; nous courions donc le risque de passer à côté de certains jeux de données légitimes. Tant pis : done is better than perfect.

Voici la nouvelle règle pour la génération des screenshots, inspirée par les conseils de Xavier Liénart (merci à lui !) :

  • La page web doit contenir au moins une image
  • La page web doit contenir au moins un lien interne (typiquement : onglet de menu)
  • La page web ne doit pas contenir certains termes très spécifiques tels que Plesk (le nom d’une interface de gestion de serveurs très répandue, et qui signale de fait que le site est en construction)

Le script Selenium est donc ajusté en fonction :

Après lancement de ce script, le nombre de sites à analyser à considérablement baissé. Nous voilà à présent avec un peu moins de 2400 screenshots. Après analyse d’un échantillon aléatoire de ces screenshots, le résultat est concluant et ne nécessitera pas de nouveau filtre.

Cette liste de sites est donc désormais notre outil de travail, notre précieux !

À ce stade, il n’y avait plus qu’à lancer l’audit sur cette liste de sites, ce dont nous parlerons dans le prochain article. À très bientôt !

[WEBINAR] Carrière informatique à Nouméa, osez le grand saut !

L’informatique en Nouvelle-Calédonie est, comme partout, un secteur très dynamique et en constante recherche de nouveaux talents.

Ce qui est dommage, c’est que ce territoire est encore à ce jour assez méconnu, et que beaucoup de personnes passent encore à côté de ce choix de vie pourtant fantastique !

C’est donc avec beaucoup de plaisir que nous avons concocté et animé ce webinar avec Céline Quevilly (Tealforge), Elodie Luz (Atlas Management), Laurent Rivaton (Addo).

L’idée était de faciliter la prise de décision en donnant un maximum d’informations concrètes sur le territoire et son tissu numérique. Nous avons parlé sans tabou aussi bien des bons moments que des éventuelles galères que l’on peut rencontrer en découvrant le territoire.

A (re)découvrir sur Youtube !

Atelier « Visions de la qualité »

Objectif de l’atelier

Vous souhaitez provoquer des discussions de fond sur le thème de la qualité logicielle, entre des personnes qui travaillent ensemble mais n’ont peut-être jamais eu l’occasion d’en parler directement ? Cet atelier est fait pour vous !

Lors de cet atelier, les personnes vont :

  • Exprimer des représentations, besoins, ressentis et autres visions subjectives de la qualité logicielle
  • Apprendre à mieux se connaître les unes les autres
  • Prendre conscience des différences de points de vue, pour mieux travailler ensemble au quotidien
  • Eventuellement corriger des idées reçues, en bonne intelligence

Avertissement important : c’est un atelier qui est là avant tout pour que les membres d’une équipe se connaissent mieux professionnellement, pas pour juger dans l’absolu « qui a raison » !

Cet atelier n’est pas forcément recommandé aux équipes qui traversent de fortes tensions. Dans tous les cas, sa facilitation nécessite un soin particulier. Votre équipe en ressortira grandie.

Préparation de l’atelier

Pour mener à bien cet atelier en présentiel, il vous faudra :

  • 3 personnes + 1 guide de jeu. S’il y a plus de 3 personnes, compter 3 équipes de N personnes + 1 guide de jeu.
  • Des cartes « Visions de la qualité », faites maison c’est mieux ! Le principe : chaque carte contient une phrase plus ou moins clivante sur le thème de la qualité logicielle.
  • Une salle avec une table centrale, pour y poser les cartes « Visions de la qualité »

La posture de guide de jeu

La personne qui endosse le rôle de guide de jeu se prépare à :

  • Faciliter les échanges en établissant un cadre d’ouverture et de respect
  • Faire en sorte que la parole soit équitablement répartie
  • Prendre des notes pendant l’atelier
  • Faire une synthèse de ce qui a été exprimé pendant l’atelier

Déroulement de l’atelier

Les cartes « Visions de la qualité » sont réparties en tas thématiques au milieu de la table, face cachée.

Lors de la première session, l’équipe 1 pioche une carte sur la pile de son choix et la lit à voix haute. L’équipe se concerte rapidement pour choisir de défendre ou contredire ce qui est écrit, puis se lance. En fonction du temps dont vous disposez, cette prise de parole peut être limitée, à 2 minutes par exemple.

A la fin de ce « plaidoyer », l’équipe 2 doit tenter de défendre l’avis contraire à l’équipe 1.

L’équipe 3 doit ensuite synthétiser le débat et attribuer le point à l’équipe qui, selon elle, a été la plus convaincante.

Pendant tout cet échange, la personne qui endosse le rôle de guide de jeu prend des notes. Elle pourra ensuite envoyer une synthèse des résultats de l’atelier.

Ensuite, ça tourne ! Ainsi, lors de la deuxième session, l’équipe 2 tire une carte et fait son plaidoyer, l’équipe 3 contredit et l’équipe 1 arbitre.

Autant de sessions que de cartes peuvent avoir lieu, mais en pratique les débats peuvent prendre un peu de temps et ce n’est pas forcément possible de tout parcourir en une fois. Pas grave : conservez les paquets de cartes et proposez un nouvel atelier quelques mois plus tard !

Exemples de cartes

Pour confectionner vos carte « Visions de la qualité », vous pouvez noter des phrases que vous avez entendues au fil du temps ; des phrases auxquelles vous adhérez mais aussi des phrases avec lesquelles vous n’êtes pas d’accord. Vous pouvez bien sûr créer d’autres catégories ou remanier celles présentes ci-dessous.

Gestion de projet

  • « Le test représente souvent un goulet d’étranglement dans un projet. »
  • « Pour un projet donné, on ira plus vite avec 5 personnes qui développent, plutôt que 4 qui développent et une qui teste. »
  • « Le test est à un projet ce qu’un complément alimentaire est à un corps humain : sympa, mais pas essentiel. »
  • « Le nombre de cas de test joués est un bon indicateur de performances. »
  • « La véritable mission des tests est de prévenir les bugs, plutôt que simplement les trouver. »

Pratiques de test

  • « Les tests d’une fonctionnalité commencent quand elle a été développée. »
  • « Il est important de suivre strictement les scénarios de test sans dévier. »
  • « Les tests sont déduits logiquement des spécifications fonctionnelles. »
  • « Vérifier et valider, c’est la même chose, ce sont des synonymes. »
  • « Le test ne peut avoir lieu que si les spécifications sont complètes. »

Rôles et responsabilités

  • « Comme les devs connaissent bien le produit, ce sont ces personnes qui sont les plus à même de trouver des tests pertinents à faire. »
  • « Dans un projet agile, c’est à l’équipe de test de rédiger les tests d’acceptation d’une User Story. »
  • « Dans un esprit d’agilité, c’est plutôt l’équipe de développement qui fait les tests. »
  • « Les tests fonctionnels sont du ressort du métier, et les tests techniques sont du ressort des profils techniques. »
  • « L’équipe de test est garante de la qualité logicielle. »
  • « Pour bien tester, il faut avoir accès à la base de données de l’appli. »

Tech

  • « Les tests à automatiser sont ceux qui couvrent les fonctionnalités les plus critiques. »
  • « L’automatisation des tests doit démarrer juste après la première mise en production d’une application donnée. »
  • « L’objectif premier des tests automatisés est de réduire la durée des campagnes de test. »
  • « C’est à la fin du projet qu’il est le plus pertinent de procéder à des tests de charge. »
  • « Les tests manuels deviennent peu à peu obsolètes à l’ère de l’automatisation. »
  • « Les tests de sécurité constituent un domaine à part et ne concernent pas les profils de test lambda. »
  • « Une bonne qualité de code suffit à éliminer la plupart des bugs. »

Bonne session de jeu ! Envoyez-nous votre feedback, et aussi si vous le souhaitez, les phrases que vous avez rajoutées !

4 manières de conjuguer green IT et accessibilité

Votre éthique professionnelle vous pousse à réfléchir à des solutions qui soient à la fois inclusives et durables. Et vous n’avez aucune raison de choisir entre green IT et accessibilité ! Dans cet article, nous vous proposons 4 points concrets à passer en revue pour conjuguer ces deux exigences.

NB : cet article ne s’adresse pas spécifiquement aux QA, mais aussi à toute personne impliquée dans la conception et la création de produits numériques !

1. Parlez-en à un stade précoce des projets

L’accessibilité et la performance énergétique partagent un point commun : elles ne concernent pas les fonctionnalités de ce que vous allez offrir (le « quoi »), mais plutôt les caractéristiques de la manière dont votre solution est conçue et fonctionne (le « comment »).

Comme tous les aspects non-fonctionnels d’un produit, elles ont malheureusement tendance à être étudiées trop tard, voire complètement oubliées.

Afin de maximiser vos chances de succès, intégrez ces problématiques dès le cadrage de vos projets, pour établir clairement les objectifs et identifier les ressources nécessaires.

Lors de la conception du produit, faites en sorte que ces sujets soient incontournables. Par exemple, lors de la définition des objectifs initiaux du projet, vous pouvez spécifier des critères d’accessibilité mesurables, tels que la conformité aux WCAG (Web Content Accessibility Guidelines). Pour la performance énergétique, cela peut être un score Ecoindex à viser.

Y penser dès le début est susceptible d’orienter les choix de certaines solutions technologiques, mais aussi de vous faire gagner du temps.

2. Pensez “Less is more”

L’utilisation de produits numériques peut être pénible pour une personne porteuse d’un handicap. Proposer un nombre restreint de fonctionnalités, avec un contenu qui va droit au but et sans fioritures inutiles, représente une réelle valeur ajoutée. D’ailleurs, comme presque tout ce que vous proposerez pour favoriser l’accessibilité, cela profitera également aux populations non porteuses de handicap ! Une expérience plus fluide est un atout pour l’ensemble de votre cible.

Moins de fonctionnalités signifie moins de requêtes envoyées aux serveurs, moins de code à maintenir… Et cela représente donc également un gain en termes de performance environnementale.

Faites l’expérience pour vous entraîner. Consultez vos sites web préférés et demandez-vous : qu’y a-t-il en trop ? Qu’est-ce qui m’est réellement utile ? Vous en ferez vous-mêmes le constat : au quotidien, vous nagez dans les images inutiles (non informatives) et dans des animations qui ne font rien d’autre que vous ralentir. Et aussi, dans les features qui ont pris un temps fou à développer, mais qui ne correspondent tout simplement pas à votre usage.

3. Texte > Image > Vidéo

On dit qu’une image vaut mille mots. Cela signifie communément qu’une image peut transmettre une information beaucoup plus facilement qu’un texte. C’est, en effet, parfois vrai.

Mais d’un point de vue green IT, on pourrait dire aussi qu’une image “coûte” mille mots… ou beaucoup plus, en fonction de la taille de l’image et de sa résolution !

Et c’est sans parler des vidéos, particulièrement énergivores.

Un simple texte est le support qui est à la fois le plus accessible et le plus performant d’un point de vue environnemental.

  • Un texte peut être lu “tel quel”, ou bien être agrandi d’un simple clic, ou encore être lu par synthèse vocale ou même en braille.
  • Il peut être rapidement mis à jour, ce qui réduit à la fois l’empreinte énergétique et le budget de maintenance.
  • Il se charge beaucoup plus rapidement que toute autre ressource.

Cela ne veut pas dire que les images et les vidéos sont à bannir, mais il faudra veiller à ne conserver que celles qui apportent le plus de valeur ajoutée, et à optimiser leur compression.

4. Les valeurs d’abord, les actions ensuite

La performance énergétique et l’accessibilité ne sont pas des sujets anodins. Loin d’être de simples concepts techniques, ce sont des engagements envers un avenir meilleur. Affirmer leur importance au sein d’une organisation, en les portant au rang de valeurs, donne une signification décuplée à la démarche… et certainement aussi, beaucoup plus d’enthousiasme aux équipes, à l’heure où une grande part de la population souffre d’éco-anxiété et d’un sentiment général de perte de sens. 

A lire pour aller plus loin : le manifeste agile radical.

 

Cet article a été écrit dans le cadre de notre participation à la commission NID (Numérique Inclusif et Durable) de l’organisation OPEN NC. Il bénéficie de la précieuse contribution de Xavier Liénart (MSI), dont la relecture a permis d’enrichir le fond de l’article.

 

Découvrez d’autres articles sur l’accessibilité

Quelques RIB et IBAN fictifs pour démarrer son jeu de données

Vous testez un logiciel contenant un formulaire qui demande de saisir un RIB ? Voici quelques éléments pour vous aider !

Les différentes parties d’un RIB

Un RIB se compose de 23 caractères répartis en 4 éléments :

  • Le code banque (5 chiffres)
  • Le code guichet (5 chiffres)
  • Le numéro de compte (11 chiffres et/ou lettres)
  • La clé RIB (2 chiffres)

Peut-on « inventer » un RIB ?

Oui et non.

Non, parce qu’on ne peut pas « imaginer » un RIB de tête, parce que la clé RIB doit être le résultat d’un calcul que vous ne ferez pas facilement de tête !

Oui, parce qu’il n’y a pas besoin que le RIB existe « dans la vraie vie » pour valider le formulaire de saisie.

Tout est donc dans la clé RIB.

Quelques exemples de RIB et IBAN fictifs et bien formés

Ces RIB sont destinés à réaliser des tests passants de validation de RIB. N’effectuez pas de transactions en utilisant ces RIB et IBAN. Si vous devez effectuer des tests de virements réels, constituez votre propre jeu de données en bonne intelligence avec le reste de votre équipe.

  • Faux RIB avec le code banque de la BCI (Banque Calédonienne d’Investissement) : 17499 12345 12345678901 53
    • IBAN associé : FR7617499123451234567890153
  • Faux RIB BNC (Banque de Nouvelle-Calédonie) : 14889 12345 12345678901 28
    • IBAN associé : FR7614889123451234567890128
  • Faux RIB BNP Paribas Nouvelle-Calédonie : 17939 12345 12345678901 81
    • IBAN associé : FR7617939123451234567890181
  • Faux RIB OPT NC (Office des Postes de la Nouvelle-Calédonie) : 14158 12345 12345678901 97
    • IBAN associé : FR7614158123451234567890197
  • Faux RIB SGCB (Société Générale Calédonienne de Banque) : 18319 12345 12345678901 17
    • IBAN associé : FR7618319123451234567890117
  • Faux RIB avec des zéros à gauche (hors clé RIB) : 01234 09999 01234567890 46
    • IBAN associé : FR7601234099990123456789046
  • Faux RIB avec zéro au début de la clé RIB : 12345 12345 01234567890 06
    • IBAN associé : FR7612345123450123456789006
  • Faux RIB avec un numéro de compte avec lettres : 12345 12345 KLMNOPQRSTU 83
    • IBAN associé : FR051234512345KLMNOPQRSTU83

Idées de cas non-passants

Un formulaire de saisie de RIB devrait refuser certaines données, par exemple les suivantes :

  • RIB avec clé erronée
  • RIB avec lettres dans le code banque
  • RIB avec lettres dans le code guichet
  • RIB avec caractères spéciaux, espaces…

Bons tests !

Testez-vous mieux qu’en 1987 ?

En 1987, David Gelperin et Bill Hetzel publiaient l’article scientifique The growth of software testing dans la revue Communications of the ACM. Un article dans lequel, regardant en arrière, ils définissaient différents seuils où le métier du test a évolué.

Un article de référence

Quel est donc ce découpage temporel ?

Première époque, orientée débogage

Les processus de test ne sont pas traités en tant que tels ; les tests sont effectués de manière ad hoc essentiellement, et les succès ne sont guère reproductibles puisqu’ils dépendent avant tout du bon vouloir et du talent d’individus isolés.

Deuxième époque, orientée démonstration

Pour résumer, on teste pour prouver que le logiciel fonctionne.

Troisième époque, orientée destruction

Ca fait peur, non ? Cela veut dire tout simplement que cette période est marquée par le cliché (toujours vivant) des QA qui sont là pour « tout casser » ! Même si, on le sait, le test logiciel met plutôt en lumière ce qui est déjà cassé.

Quatrième époque, orientée évaluation

L’activité de test donne lieu à des métriques. On la suit de manière formelle.

Cinquième époque, orientée prévention

L’objectif principal des tests est d’éviter en premier lieu l’apparition des anomalies, et ce grâce à des méthodes statistiques.

Les suites de cet article

Ce découpage en périodes historiques a fait date ; il est toujours mentionné notamment dans les documents relatifs au modèle TMMi. En effet, les 5 niveaux de maturité TMMi font écho aux 5 époques mentionnées par les auteurs de l’article.

Mais, bien que ce soit fort intéressant, ce n’est pas le sujet le plus croustillant de cet article ! 😃

En pratique, comment testait-on jadis ?

Une partie un peu moins connue de cet article fait en effet référence à un sondage diffusé à l’occasion de la 4ème conférence internationale sur le test logiciel, qui s’est tenue à Washington en 1987. Préparez-vous à un voyage dans le temps !

Résultats du sondage en anglais

Traduction du sondage en français

  1. Un historique des défauts trouvés pendant les tests est maintenu : 73 % oui / 16 % parfois
  2. Une personne est désignée en tant que responsable du processus de test : 65 % oui / 13 % parfois
  3. Un plan de test décrivant les objectifs / l’approche est requis : 61 % oui / 29 % parfois
  4. Le test est une activité systématique et organisée : 61 % oui / 30 % parfois
  5. Des profils de test réalisent des tests système à temps plein : 62 % oui / 19 % parfois
  6. Le test est séparé du développement : 60 % oui / 20 % parfois
  7. Les tests doivent être rejoués lorsque le logiciel change : 51 % oui / 35 % parfois
  8. Les tests sont conservés et maintenus en vue d’une utilisation ultérieure : 51 % oui / 28 % parfois
  9. Les spécifications et la conception des tests est documentée : 48 % oui / 36 % parfois
  10. La procédure de test est documentée dans le manuel des standards : 45 % oui / 15 % parfois
  11. Un historique des tests joués est maintenu : 42 % oui / 35 % parfois
  12. Le temps consacré aux test est suivi : 40 % oui / 30 % parfois
  13. Les documents de test font l’objet d’une revue par les pairs formelle : 31 % oui / 29 % parfois
  14. Des profils de test réalisent des tests d’intégration à temps plein : 24 % oui / 24 % parfois
  15. Les coûts des tests sont mesurés et suivis : 24 % oui / 19 % parfois
  16. Des formations en test sont fournies périodiquement : 22 % oui / 26 % parfois
  17. Les résultats des tests font l’objet d’une revue par les pairs formelle : 20 % oui / 31 % parfois
  18. Les utilisateurs et utilisatrices ont une forte implication dans les activités de test : 8 % oui / 39 % parfois
  19. Les tests sont créés avant le développement  : 8 % oui / 29 % parfois
  20. Une mesure de la couverture de code est requise : 5 % oui / 16 % parfois

Il faut garder à l’esprit que les personnes ayant répondu au sondage participaient à un congrès sur le test logiciel. Elles avaient donc a minima un intérêt pour le sujet. Cet état des lieux représente donc certainement les pratiques des entreprises les plus à la pointe dans le domaine à l’époque !

Tout en reconnaissant que les pratiques de 1987 avaient aussi, potentiellement, des atouts que nous avons peut-être perdu en cours de route, ces résultats de sondage ne sont-ils pas rafraîchissants ?

De retour au XXIème siècle, comment vous sentez-vous après avoir fait ce petit saut dans le passé ?

Et surtout, d’après vous, lesquelles de nos pratiques sembleront désuètes aux QA de 2059, dans 36 ans ?

Le voyage dans le temps n’est pas fini et nous devons continuer de perfectionner nos pratiques ! 😃

Crédit image : Midjourney

Devenir QA en Nouvelle-Calédonie, est-ce pour vous ?

Une aventure qui demande réflexion

Venir travailler en Nouvelle-Calédonie, quand on vit à l’autre bout du monde, ce n’est pas une petite décision.

Chez Hightest, la majorité d’entre nous vivait en France hexagonale avant d’intégrer l’équipe. Nous connaissons donc les différentes questions et dilemmes qui s’imposent quand on se projette dans cette nouvelle vie. Et c’est pour cette raison que nous créons des contenus pour aider à mieux appréhender le quotidien dans ce bel archipel !

NB : nous allons animer un nouveau webinar sur ce sujet le 20 décembre 2023 à 22h15 heure de métropole. Inscriptions ici : https://app.livestorm.co/hightest/carriere-informatique-noumea-osez-le-grand-saut

Quelques ressources pour se projeter

Webinar 2023

Nous vous proposons un webinar tout neuf, daté de juillet 2023, qui vous permettra d’en savoir davantage sur notre quotidien de QA. Sous forme de questions/réponses avec Jean-François Fresi, cette intervention a permis également de répondre à des questions posées en live.

Merci à Werin Group qui nous a offert cette opportunité !

Webinar 2020

Un peu plus vintage, nous vous proposons également de visionner ce webinar plus généraliste que nous avons proposé en 2020 avec Laurent Marchois (Atlas Management) et Vincent Lavergne (Tealforge). Nous y évoquions en détails pas mal d’aspects de la vie calédonienne et du monde de l’IT calédonien. Certains passages ne sont plus d’actualité (nous parlions notamment du Covid !), mais la plupart des éléments restent valides.

Astuce : utiliser les timestamps (présents dans le premier commentaire) afin de naviguer vers les passages qui vous intéressent le plus !

Article de 2020

Nous vous proposons également de vous plonger dans cet article de 2020, où nous racontions notre quotidien de QA un peu plus en détail.

Bon visionnage, bonne lecture… et bonne réflexion ! 🙂🌴

Et si vous souhaitez obtenir davantage d’informations, nous vous invitons à laisser un commentaire ou à nous contacter directement sur LinkedIn.

___

Crédit image : Midjourney

Un site web à l’épreuve du crowdtesting !

Cette année 2023, la plateforme de crowdtesting Testeum, dont Hightest a posé les fondations, offre une campagne par mois à un projet calédonien innovant !

Vous trouverez dans cet article un nouveau témoignage, de la part des personnes en charge du site web Agripedia.

Pour rappel, un premier témoignage a été produit concernant une application mobile, celle de Domaine NC.

Qui êtes-vous ?

Je suis Estelle Bonnet-Vidal, consultante en communication scientifique (Lincks), prestataire pour l’institut agronomique néo-calédonien (IAC), AMO et rédactrice scientifique pour le site internet Agripedia depuis 2018. Je suis accompagnée de Christina Do, rédactrice scientifique pour Agripedia et assistante de communication à l’IAC. Nous sommes mandatées par Laurent L’Huillier, le directeur de l’IAC, qui est à la tête de la création d’Agripedia.

À quoi sert le site Agripedia et à qui s’adresse-t-il ?

Agripedia met à disposition des fiches techniques sur l’agriculture locale au sens large. Le site compte actuellement plus de 220 fiches techniques dans des domaines très variés : les plantes utiles (alimentaires, ornementales, médicinales, revégétalisation), les animaux d’élevage, la lutte contre les ravageurs, les auxiliaires de culture…

Notre volonté est d’en faire un site de référence régional, une encyclopédie qui permet aux agriculteurs, aux agricultrices et à tous ceux qui jardinent de trouver des informations précises, utiles, faciles à trouver, faciles à lire pour qu’ils puissent cultiver et mener à bien leurs productions et gagner un temps précieux. C’est un enjeu important de sécurité alimentaire dans un contexte de dérèglements globaux et de transition agroécologique.

Crédit : Midjourney

À quelle(s) question(s) vouliez-vous que la campagne de crowdtesting réponde ?

Nous voulions savoir si les contenus mis en ligne étaient agréables et faciles à lire et si les internautes naviguaient agréablement dans le site et trouvaient facilement certaines fonctionnalités innovantes, telles que les filtres et les PDF.

Je vous mets les questions que nous avons posées (nldr : ci-dessous sont les objectifs de test saisis dans Testeum) :

  • Vérifiez que la navigation est intuitive et agréable
  • Vérifiez que vous trouvez comment faire une recherche multicritères avec plus de 5 critères et que les résultats vous paraissent cohérents
  • Vérifiez que vous trouvez facilement quelles sont les plantes ornementales en fleurs pour le mois d’avril
  • Vérifiez que vous arrivez à générer et télécharger le PDF d’une fiche sur plusieurs thématiques différentes
  • Vérifiez la clarté du contenu, à savoir si les fiches sont faciles à lire et à comprendre

Qu’avez-vous pensé des retours des crowdtesters ?

J’ai été étonnée par la rapidité des réponses, moins de 24 h. Les crowdtesteurs nous ont signalé plusieurs bugs (à 75 % mineurs) que nous n’avions pas vus et ils le font avec sérieux. Cela nous a permis de nous conforter dans les pistes d’amélioration que nous avions en tête.

Qu’avez-vous pensé de la plateforme elle-même ?

Tout d’abord, je tiens à remercier toute l’équipe Testeum de nous avoir offert cette campagne. J’ai vraiment apprécié de découvrir cette plateforme que je ne connaissais pas. Je l’ai trouvée facile à prendre en main et on peut aisément interagir avec les crowdtesteurs.

Tiens, c’est quoi qui brille par terre ? Une lampe ? HA, voici le génie de Testeum, vous pouvez faire 3 vœux de nouvelles fonctionnalités sur la plateforme !

Selon moi, je pense que pour tout achat de la première campagne, vous devriez offrir une campagne-test, par exemple avec trois crowdtesteurs. Cela permettrait de découvrir la plateforme, la prendre en main, et surtout de voir comment il faut formuler correctement nos questions aux internautes. C’est très stratégique et cela demande de comprendre comment l’outil marche pour ensuite formuler nos questions avec précision.

Je pense également qu’il faudrait offrir la possibilité d’interagir en visio, via une petite fenêtre vidéo avec un ou deux crowdtesteurs. Les rapports des crowdtesteurs sont pertinents mais ils sont courts et on aimerait creuser un peu pour aller plus dans les détails. Les échanges humains par messagerie se concentrent sur les bugs et ne permettent pas de détecter la palette d’émotions qui accompagnent la découverte d’un site. Est-ce qu’il est agacé de ne pas trouver certaines infos ? est-ce qu’il est heureux d’avoir appris des choses ?

Avoir la possibilité de poser plus de questions avec le forfait proposé.

Dernier point, je pense qu’un PDF qui résume l’ensemble des bugs trouvés par les crowdtesteurs et que l’on peut ensuite archiver serait pertinent.

Quel conseil donneriez-vous à une personne qui envisagerait une démarche de crowdtesting pour tester son produit ?

De bien réfléchir aux questions à poser. C’est la clé pour avoir des réponses pertinentes et améliorer ensuite son site.

Crédit : Midjourney

_________________________

Merci à Estelle et Christina d’avoir misé sur la qualité logicielle, et d’avoir pris le temps pour ce témoignage ! Vous voulez jeter un oeil à la campagne Testeum d’Agripedia ? En voici l’adresse !

Et si vous voulez vous inscrire sur Testeum pour réaliser des tests et obtenir un revenu complémentaire, c’est par ici !

L’image mise en avant contient des photos générées par Midjourney.

Battle d’IA : qui est la plus buggée ?

En 2023, ChatGPT est un nom qui revient sur toutes les lèvres ! Depuis peu, Bard vient un peu lui voler la vedette. Ces IA surpuissantes vont-elles remplacer les QA, les devs, le monde entier, personne ?

Cet article n’est pas là pour répondre à cette question, mais pour présenter quelques réponses erronées et amusantes des robots conversationnels les plus affolants de ce début d’année ! De quoi dédramatiser un peu.

Les IA font leur cinéma

Le cinéma du coin propose les offres promotionnelles suivantes :

  • Gratuit le jour de l’anniversaire de la personne (valable uniquement pour la personne et pas pour celles qui l’accompagnent)
  • -50 % pour les personnes de moins de 18 ans
  • -25 % pour les 18-25 ans et pour les plus de 60 ans

Ce cinéma ouvre sa billetterie en ligne où le tarif s’adapte en fonction de l’âge de la personne inscrite.

La question que l’on se pose, et que même un enfant trouverait très simple, est la suivant : Regina fête ses 54 ans aujourd’hui ; aura-t-elle droit à une réduction ?

Réponse courte : bien sûr, une réduction de 100 %, puisque c’est son anniversaire !

Une réponse plus longue préciserait que cette réduction (ou plutôt, exonération) ne s’applique que sur sa place.

ChatGPT : la règle de gestion de trop

ChatGPT n’est pas de cet avis.

Bard : « et » au lieu de « ou »

Fun fact, Bard aussi se trompe ! (Nous lui avons posé la question en anglais vu que le français n’était pas encore supporté lors de l’expérience)

Bard comprend que la gratuité le jour de l’anniversaire n’est valable que si la personne se trouve dans l’une des tranches d’âge sujettes à des promotions. Ce qui est évidemment erroné.

Dates : l’ambiguïté classique

« Jusqu’à » est une expression qui met la communauté du test en émoi.

Est-ce que cela veut dire qu’on inclut ce qui suit, ou qu’on l’exclut ?

ChatGPT ne veut pas que j’aille à la plage

ChatGPT ne partage pas cette anxiété et répond comme s’il n’y avait pas d’ambiguïté.

Bard m’incite à sécher le travail

Après avoir posé la même question à Bard (en anglais toujours), force est de constater que cette IA comprend l’inverse de ChatGPT et ne voit pas de problème à ce que j’aille à la plage. Une fois encore, l’ambiguïté du terme n’est pas relevée !

Le défi des trous de paille

« Combien de trous a une paille ? » est une question simple qui permet de se rendre compte de la diversité des points de vue. Il n’y a pas de bonne réponse, ou plutôt, toutes les réponses ci-dessous sont bonnes.

  • 2 trous : une entrée et une sortie !
  • 1 trou : car il n’y a qu’un « chemin » dans cette paille
  • 0 trou : sinon la paille aurait des fuites !

ChatGPT tombe dans le piège

ChatGPT ne se trompe pas vraiment dans sa réponse, mais elle ne détecte pas le piège que constitue l’ambiguïté de la question.

On ne la fait pas à Bard

En revanche, Bard a su détecter la feinte, puisant dans les innombrables ressources accessibles via Google et évoquant cette question épineuse.

Compte les QA

Une liste de 26 prénoms féminins est fournie, et les IA doivent les compter. Facile ou pas ?

ChatGPT ne sait pas compter.

Hélas, ChatGPT n’en compte que 25. Ce n’était même pas cela le piège envisagé 😀

Bard débloque

Le même exercice traduit en anglais est fourni à Bard. Pourquoi compte-t-il 18 prénoms au lieu de 25 ? Et surtout, quelle est la logique derrière « The names you provided are all female names, so we can assume that they are all testers. » ? Un sentiment d’étrangeté émane de cette réponse.

Deuxième chance : testeuse ou testeur

Une autre liste est fournie, et cette fois-ci le compte est bon. Toutefois, le raisonnement qui suit a de quoi semer la confusion !

Le même exercice ne peut pas être fourni à Bard, étant donné que le mot anglais « tester » peut se traduire aussi bien par « testeuse » ou « testeur ».

Conclusion

Les IA sont impressionnantes. Ce sont d’excellents outils qui permettent de nous accompagner dans nos tâches les plus diverses, mais ils contiennent, comme tout logiciel, des défauts. C’est aussi en prenant conscience de ces défauts que nous devenons capables de les utiliser au mieux !

(On leur repose les mêmes questions d’ici un an ? Il est bien possible que leurs réponses soient plus pertinentes quelques mois !)

_________________________

L’image de couverture a été générée avec Midjourney.

Votre gestion des bugs est-elle buggée ?

La gestion des anomalies, c’est tout un art ! Ci-dessous sont listées 16 situations courantes dans la vie d’un projet, qui touchent à cette activité. Des situations qui ne sont ni confortables, ni productives, et qui soulèvent aussi bien fausses questions que réponses fallacieuses. Combien d’entre elles avez-vous déjà vécues ? (Une idée d’atelier serait de présenter ces situations sous forme de bingo des bugs !)

1) Le bug controversé

Deux personnes de l’équipe se chamaillent car l’une a trouvé un bug et l’autre considère que ce n’est pas un bug. On ne sait donc plus quoi faire du ticket. Remarquez qu’il n’y a jamais ce genre de controverse pour les US, personne ne dit « Non, c’est pas une US ! », « Si, c’en est une ! » Cela révèle la nature complexe de ce qu’on appelle « bug ».

2) La spécification déguisée en bug

Quelqu’un a ouvert un rapport de bug, mais c’est en fait une demande de modification déguisée. La notion de bug est utilisée comme une sorte de coupe-file. De fois ça marche, et d’autres fois, on ne sait pas trop quoi faire du ticket, et cela peut même donner lieu à une controverse (cf point 1).

3) Le gros tas de bugs

La pile des bugs est très longue, chaque bug a été reconnu comme valide (quelle aubaine !), mais personne ne semble avoir prévu de les corriger. Peut-être sont-ils là pour décorer le backlog. En tous cas, à un moment donné, on ne sait plus quoi en faire.

4) Le bug qui est en fait une remarque

Quelqu’un ouvre un rapport de bug (peut-être vous) mais sans trop savoir « Si c’est un bug ou pas, en tous cas ça vous semble bizarre, mais si ce n’est pas un bug oubliez ce que j’ai dit, faites comme vous voulez ». On ouvre un rapport de bug pour faire une remarque. Et au bout d’un moment on ne sait plus trop quoi faire de ce ticket : cette remarque n’est-elle pas légitime ?

5) Le nettoyage de printemps (à l’acide chlorhydrique)

L’équipe veut faire en sorte de fermer le plus de rapports de bugs possible, voire de n’avoir aucun bug ouvert, et en plus des corrections, ça passe par d’infinies négociations avec les personnes qui ont créé les tickets. Le rapport de bug est vu comme une menace pour l’intégrité de l’équipe.

Chaque personne souhaite en savoir plus sur la qualité de l’applicatif, et chaque rapport de bug contient de l’information sur l’applicatif. Mais si on souhaite se débarrasser de ces rapports uniquement des métriques projet plus agréables… n’est-ce pas un peu contradictoire ?

6) Le fayotage à la noix

Une personne veut montrer à quel point elle est assidue au sujet de la qualité et va ouvrir une farandole de bugs doublonneux. Le rapport de bug est vu comme un trophée par celui qui le crée.

7) Le débat épistémologique

Un bug d’UX est ouvert et ça lance une interminable controverse. Est-ce que c’est un bug, est-ce que ce n’en est pas un, est-ce qu’on peut parler de bug quand il s’agit d’UX, etc. Bref on se lance dans une bataille d’opinions, et on ne sait plus quoi faire du ticket.

8) Le gaspillage de paires d’yeux neufs

Une personne nouvellement arrivée dans l’équipe ouvre un rapport de bug car ce qu’elle voit lui semble déroutant. Quelqu’un clôture le rapport car le comportement est conforme à l’attendu. Le ticket d’anomalie est analysé de manière dogmatique et potentiellement on étouffe dans l’œuf une possibilité d’amélioration.

9) Le ticket « bug et méchant »

Quelqu’un a ouvert un rapport de bug car un comportement constaté contredit ce qui est demandé dans une User Story, mais ce comportement ne ressemble pas à un bug quand on n’a pas connaissance de la User Story. Une approche dogmatique qui ne bénéficie pas au projet.

10) Le débogage comme passe-temps

L’équipe corrige les bugs quand elle a du temps pour le faire. Les bugs tiennent un rôle de bouche-trou quand les devs s’ennuient. Comme c’est dommage !

11) L’heure de la sieste

Lors des revues, le fait que des bugs aient été corrigés n’intéresse pas grand-monde. Ce qu’on veut voir absolument, ce sont les nouvelles fonctionnalités. Et les corrections de bugs ne sont pas considérées comme des nouvelles fonctionnalités, même si elles incorporent des choses qui n’étaient pas là auparavant. Les bugs sont des citoyens de seconde zone.

12) Le bug microscopique

Quelqu’un a ouvert un bug mais l’anomalie est tellement petite que ça ne vaut quasiment pas le coup de la corriger.

13) Le bug marginal

Quelqu’un a ouvert un rapport de bug, mais l’anomalie ne concerne qu’une portion minuscule de la population visée, par exemple les personnes utilisant un appareil mobile avec l’OS Android 5.1.1. Ce type de bug est l’un des écueils des tests de portabilité.

14) Le bug en voie de disparition

Quelqu’un a ouvert un rapport de bug, mais l’anomalie est vouée à disparaître à court terme car la règlementation va changer, ou encore qu’une refonte graphique va être réalisée.

15) Le bug qui pousse le bouchon

Quelqu’un a ouvert un rapport de bug mais l’anomalie est justifiée par des standards que l’équipe n’a pas choisi d’adopter. Par exemple, un bug d’accessibilité qui s’appuie sur le standard WCAG n’est pas nécessairement légitime aux yeux des autres personnes de l’équipe si personne n’a formulé d’exigences sur l’accessibilité en amont du projet.

16) Le bug du roi

Un bug est ouvert par une personne influente (typiquement, la ou le CEO), mais il se trouve que ça concerne une fonctionnalité qui se comporte comme ça par design. Et donc, on ne sait plus quoi faire du ticket.

___

Le constat est posé : en plus d’être tout un art, la gestion des anomalies est un sport qui n’est pas de tout repos ! Que mettez-vous en place dans vos organisations pour fluidifier cette activité ? Avez-vous rencontré d’autres situations où les rapports de bugs font débat, font trop de vagues ou pas assez ?

NB : Cet article reprend par écrit une partie de la conférence « La notion de bug est buggée », présentée par une de nos expertes il y a quelques années à l’occasion de la conférence Frug’Agile France. Cette conférence est à découvrir ou redécouvrir ici !

Image de couverture générée avec Midjourney