Testing web et mobile : tour d’horizon des préceptes incontournables

En dépit d’une image malheureusement souvent erronée parce que simplifiée, le testing gagne chaque jour en process, méthodes, et outillages.

Qu’ils oeuvrent à l’intérieur ou à l’extérieur de l’entreprise, les experts du testing sont en quelques années devenus les maillons incontournables d’une chaîne de production qui a érigé les concepts de performance et de sécurité en véritables dogmes. Car tester, aujourd’hui, implique autant le fonctionnement du site ou de l’application web que sa robustesse, en ce qu’il/elle saura répondre aux nombreuses normes sécuritaires et mises à jour logicielles.

Aussi, en dépit d’une image malheureusement souvent erronée parce que simplifiée, le testing gagne chaque jour en process, méthodes, et outillages. Si les néophytes peineront à en suivre toutes les évolutions techniques, il m’apparaît essentiel de reposer ici trois fondamentaux, qui sont même au delà de véritables convictions, nécessaires à toute démarche de test d’un produit / service web. 

Conviction #1 : Utiliser une démarche homologuée... et aller plus loin !

En réalité, au delà de la démarche, ce sont bel et bien les testeurs eux-mêmes qui peuvent disposer d’une certification : celle du CFTL (Comité Français du Test Logiciel). Ce dernier est le représentant français de l’ISTQB (International Software Testing Qualifications Board). Par des formations universitaires et professionnalisantes, les testeurs acquierent une méthode, perpétuellement mise à jour, garantissant une évaluation juste et pertinente des capacités de votre site / application à mêler performance d’utilisation et fiabilité et intégrité des données.

Pour autant, le meilleur test sera celui qui saura également aller encore plus loin : qu’il s’agisse d’automatiser (pour en faire plus), d’ajouter de l’Humain (pour tester aussi les ressentis), ou bien même encore de « crowd-tester » (diversifier les organismes de testing), il s’agira là encore de sortir de sa zone de confort pour pousser toujours plus loin la remise en question du développeur. Le « crowd-testing » à en outre l’indéniable avantage de lever les censures qui peuvent apparaître lorsque la cellule de testing est internalisée… 

Conviction #2 : A chaque test son contexte ! 

Tout aussi difficile que cela soit à accepter, il n’existe aucune métrique figée dans le testing. Ce sont en effet l’histoire et les enjeux du produit / service développé, autrement dit « le contexte », qui déclenche le « plan de tests ». Ce dernier explicite l’ensemble des démarches de test au sein d’une stratégie établie, par exemple, en fonction des impacts fonctionnels souhaités : Que vais-je tester ? Comment vais-je le tester ? Et avec quoi ? Intervient ici la détermination des devices. A titre d’exemple, si l’on a aujourd’hui la possibilité de compter sur une bibliothèque de plus de 200 appareils, ils ne sont généralement qu’entre 10 et 30 à être véritablement testés. Une quantité bien souvent suffisante pour couvrir une part représentative des utilisateurs ciblés !

Enfin, personnaliser le test en fonction du contexte, c’est également prendre en compte le ressenti Humain ! D’où une nécessaire parfaite adéquation entre démarches automatisées et manuelles.

Conviction #3 : Garder l'Homme au cœur !

Car c’est bien lui, et lui seul, qui utilisera le produit / service in fine. Aussi, si l’automatisation est aujourd’hui sans surprise au centre des enjeux du testing (comment tester plus ? Et surtout plus vite ?), je reste convaincu que seuls les processus intégrant du test Humain permettront de répondre au mieux à cette double problématique de performance (de plus en plus liée à l’expérience utilisateur) et de sécurité (adaptée aux contextes d’utilisation de plus en plus divers). Je dirais même que pour qu’un testing soit optimal, il est préférable que l’Homme intervienne en premier lieu. Que ce soit lui, de par son expertise, qui fasse remonter et corrige les premières anomalies, qui pourront ensuite être re-testées automatiquement suite aux corrections. C’est d’ailleurs ce que l’on appelle un test de régression ! 

Si le principal objectif des cellules de testing, à l’instar de bien des secteurs d’activité, est de tester plus et plus vite, il ne s’agirait pas de courir après une chimère. Le précepte sans doute le plus important  à avoir en tête est que le test parfait n’existe pas… et n’existera jamais ! Ce que l’on appelle communément le « bug » fait partie intégrante du cycle de vie d’un produit / service numérique, soumis avant tout aux évolutions et failles logicielles. Dépassons cette frustration en mettant enfin le test au cœur même de la logique de développement suffisamment en amont du projet, de sorte à répondre au double enjeu de performance et de sécurité, particulièrement à l’heure où la qualité de l’expérience utilisateur s’évalue aussi à l’échelle de la cyber-sécurité.