Je parle régulièrement de non-fonctionnel. Je l’ai abordé dans mes articles sur l’ISO-25010 en expliquant les 7 critères non-fonctionnels, en parle dans ma présentation du « testeur à la découverte de l’agilité » et le je rappelle leur importance dans ma présentation « Les secrets d’une bonne recette » (voir JFTL 2020) et le met généralement assez souvent en avant dans des articles de la taverne.
Néanmoins, malgré cette mise en avant régulière je sais bien que les tests non fonctionnels restent trop peu pratiqués (ou trop tardivement) pour différentes raisons comme:
- Le non-fonctionnel est rarement spécifié et fait l’objet de nombreux critères implicites
- Les tests non-fonctionnels sont compliqués à mettre en place
- Les compétences pour la mise en place de tests non fonctionnels sont rares
Les critères de qualité restent cependant particulièrement important et font souvent pencher la balance entre le succès d’un projet et son échec, pour vous en convaincre je vous propose donc quelques exemples où le non fonctionnel a été la clé du succès ou de l’échec d’un produit:
La performance:
Pour la performance, je ne vais pas donner l’exemple du temps d’affichage d’une page web qui doit être inférieur à 3 secondes pour que la requête ne soit pas abandonné. Cet exemple est déjà très connu mais trop générique.
Non, aujourd’hui je vais vous parler de la Game Boy et de la Game Gear. Vous avez sûrement entendu parler de la guerre des consoles entre Sega et Nintendo. Cette guerre a eu lieu pour les consoles de salon mais pas pour les consoles portables alors que Sega avait également proposé une console portable, la Game Gear.
La Game Gear proposait des jeu en couleur avec de meilleur graphiques et un plus grand écran que la Game Boy. Néanmoins, cette console a été un flop et la Game Boy a été un immense succès. La raison ?
La Game Gear consommait trop de piles (6 piles en 1 heure de jeu environ) alors que la Game Boy ne consommait que 4 piles en plus de 10 heures de jeu. Conclusion, il n’était pas vraiment possible de se déplacer ou d’aller en voyage avec sa Game Gear sans avoir un très grand nombre de piles de réserve avec soit. Ce point faible au niveau de l’utilisation de ressource a été fatal à cette console.
A noter: ce problème n’a pas posé de problème pour un jeu comme pokémon Go, les joueurs ayant acheté des batteries externes pour leurs téléphones.
La compatibilité
L’exemple sélectionné ici ne fait pas référence à un échec mais explique pourquoi un OS comme « Windows », si décrié pour ses bugs, continu d’être très utilisé sur les ordinateurs. En effet, d’un point de vue performances, Linux est meilleur que Windows, d’un point de vue fiabilité, Linux et Mac OS meilleurs que Windows…
Pour toutes ces raisons, il semblerait « logique » de ne plus utiliser Windows. Néanmoins, il ne me viendrait pas à l’idée de passe sur du Mac OS ou du Linux ?
La raison ? Je joue aux jeux vidéos et les logiciels de jeux vidéos ne sont que peu compatibles avec des OS autres que Windows. De même, certaines application de bureautiques (la suite office pour ne pas la citer) est faite pour fonctionner avec Windows et est très performante.
L’utilisabilité
Ici, l’exemple à prendre me parait évident. Pour moi, le parfait exemple du succès du à l’utilisabilité est un énorme succès et même de nouvelles utilisation des téléphones. En effet, avant le lancement de l’Iphone, les téléphones servaient à… téléphoner et envoyer des SMS. Les téléphones sont maintenant des minis ordinateurs et utilisés comme tel, on parle d’ailleurs de Smartphone… tout ça, grâce à l’ergonomie proposée par l’Iphone.
Car oui, l’Iphone n’a pas inventer beaucoup de choses avec son premier téléphone. Les écrans tactiles éxistaient, les processeurs dans les téléphones également… Mais les téléphones n’étaient vraiment pas pratiques à utiliser (je ne parlerai pas des claviers de téléphones blackberry…)
Le premier Iphone est en fait une simple avancée au niveau utilisabilité… Et cette « simple » avancée a permis à Apple de devenir une des principaux constructeurs de téléphone, créé une nouvelle utilisation des téléphones, rendu obsolètes les anciens téléphone ce qui a entrainé la chute de très grands noms de la téléphonie comme Nokia.
La portabilité
La portabilité est souvent un critère prédominant dans les applications mobiles. Je souhaite cependant parler d’un autre logiciel qui a fait un flop total à cause de sa portabilité, et plus précisément de son adaptabilité.
En 2008 est sorti un jeu MMORPG qui était particulièrement attendu. Ce MMORPG voulait faire concurrence à World of Warcraft mais était aussi très attendu par les joueurs d’autres MMORPG. Je parle d’Age of Conan. Les vidéos de présentations étaient impressionnantes et l’univers attirant.
Néanmoins, ce jeu a été un véritable flop car la configuration minimale requise était beaucoup trop élevé. Je me rappelle d’ailleurs avoir voulu y jouer avant de m’apercevoir que mon PC qui avait moins de 2 ans ne pouvait pas le faire fonctionner, pour cela il fallait une configuration de PC qui valait dans les 1000€… Ce qui fortement diminué le nombre de joueurs ce qui est particulièrement handicapant pour un MMORPG.
La Fiabilité
Il est difficile de penser aux problèmes de fiabilité sans penser à l’aéronautique. Un exemple sur les joint d’un navette spatiale est bien décrit dans le livre « Les décisions absurdes », de même on peut penser aux sondes d’un vol entre Rio et Paris qui ont été défectueuses suite à des conditions extrêmes entrainant le crash de cet avion en pleine mer.
Plus récemment, et plus lié au logiciel, il y a eu une série de crash des Boeing 737 Max. le problème serait du à une mauvaise interprétation, sous certaines conditions, du système de décrochage lors du décollage. L’avion se mettant alors à « piquer du nez » alors qu’il se trouve trop proche du sol et que le système de reprise en main manuel est trop long pour pouvoir réagir.
Résultat: des avions détruits, les autres cloués au sol, une très mauvaise presse, des pertes de ventes mais surtout plusieurs centaines de victimes!
Conclusion
Il ne faut pas négliger le non-fonctionnel, le non-fonctionnel fait souvent la différence entre un succès et un échec, l’industrie du jeu vidéo s’en est d’ailleurs ai déjà aperçu. Au delà de permettre un éventuel succès, le non-fonctionnel peut même permettre l’apparition de nouvelles utilisations et révolutionner des produits ou logiciel. Il ne faut donc plus attendre pour avoir des spécifications liées au non fonctionnels et d’enrichir les tests dédiés.
On pourrait même commencer à penser des applications qui offriraient une fonctionnel simple et peu original mais avec du non fonctionnel particulièrement efficace. On peut par exemple penser à une consommation de batterie très faible pour des véhicules électriques ou des application mobiles, un site web qui affiche toutes ses pages en moins de 0,5 seconde, un logiciel qui fonctionne sur téléphone, télé, ordinateur et tablettes…
Et vous, avez-vous des exemples où le non-fonctionnel fait la différence à partager ?
N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances
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