Les champs dans un formulaire: un élément facile à tester ?

Les formulaires: un élément très familier

Si vous êtes un internaute régulier vous avez sûrement déjà été amené à remplir un formulaire.

On les voit fleurir sur un nombre très impressionnant de site web et même d’application. Si vous êtes un testeur vous êtes donc très probablement rompu à l’exercice des tests de formulaires qui peuvent sembler être une formalité. Mais est-ce vraiment le cas ?

Les champs des formulaires: un contexte complexe

Il servent à recueillir des informations pour des raisons très diverses et variées. Il y a par exemple:

  • Le recueil d’information pour créer un compte (de jeu / de fidélité)
  • Le recueil d’information pour assurer un paiement
  • Le recueil d’information pour modifier des données
  • Le recueil d’information pour répondre à des sondages
  • Le recueil d’information pour faire des simulations
  • Le recueil d’information pour faire des déclarations…

Comme vous pouvez le constater les contextes des formulaires sont très variés les tests des champs de ces derniers dépendent donc énormément du contexte.

Pour revenir sur les exemples précédent, il y a des éléments à prendre en compte qui sont particulièrement importants comme:

  • Création de compte: avoir l’ensemble des données nécessaire, éviter les doublons entre comptes/utilisateurs…
  • Paiement: sécurité, assurer différents mode de paiements, validité des champs (format, mise en forme…)…
  • Modification des données: synchronisation, validation des nouvelles données…
  • Sondage: possibilité de répondre ce que l’on souhaite (« exhaustivité » des réponses, taille des champs en nombre de caractères, caractères autorisés…)
  • Simulation: validité des paramètres pour la simulation, complétude des paramètres…
  • Déclaration: capacités de récupérer toutes les données…

Tester les champs des formulaires

Chaque formulaire est potentiellement critique pour les logiciels. Certains le sont aussi pour les utilisateurs. Leurs tests sont donc très importants et il existe de très nombreuses techniques pour tester les valeurs dans les champs des formulaires.

Une manière très efficace de multiplier les tests est de faire du test piloté par les données avec, par exemple une multiplication des valeurs avec des tests APIs.

L’objet de cet article n’est pas de proposer une exhaustivité mais bien de réfléchir au champs des formulaires à leurs spécifications et donc à les tester tôt afin d’éviter des erreurs qui ne sont pas si rares. Voici des caractéristiques de champs pouvant facilement mener à des erreurs:

  • Le nombre minimum de caractères. On le voit par exemple sur les noms et prénom. Ces champs on souvent un nombre minimum de caractère et dans le cas de 4 des noms comme Zoé, Luc ou Jo ne peuvent pas être validés. De même on peut aussi imaginer des numéros de téléphone avec un nombre minimum de 4 ou 5 caractères… Il est alors impossible d’enregistrer dans ses contact le numéro des secours. Il faut cependant continuer à s’assurer que les champs ne sont pas vides.
  • Le nombre maximum de caractères. Des numéros de téléphones ne font pas tous la même taille. Si l’on veut appeler en Allemagne il faut ajouter l’indicatif qui augmente le nombre de caractères
  • Les valeurs autorisées. Ce sujet est épineux. Il est valable pour les lettres (avec les caractères spéciaux et les majuscules) et les nombres (décimaux, négatifs…)
  • La valeurs autorisées dans les listes déroulantes. Tous les codes postaux et toutes les villes sont elles bien présentes ? Si une ville n’est pas présente peut-on l’ajouter ? Peut on mettre un « + » dans un numéro de téléphone ?
  • Le format des champs. Le format des adresses mails avec le aaa@bbb.xxx, le format des nombre décimaux, le format d’un code postal, d’un numéro de téléphone. Il y a aussi le format des plaques d’immatriculation qui varie selon les pays.
  • La gestion des espaces. Ces derniers doivent ils être ignorés et auquel cas je ne peux plus m’appeler « Hage Chahine » ? Faut ils supprimer uniquement les espace en début et en fin ? Faut il accepter les espaces pour certains champs comme les numéros de téléphone ou de sécurité sociale ? …

Comme vous le voyez le test d’un simple champ d’un formulaire peut s’avérer assez complexe et une défaillance sur un de ces derniers peut engendrer des conséquences assez importantes en terme d’image mais pas seulement.

Je suis allé sur les îles Lofoten cet été et je suis tombé sur ce panneau:

Nul doute que la grande majorité des champs de formulaires avec des vérifications se trouveraient en défaut si j’étais un français expatrié vivant dans cette ville de Å qui a la particularité de regrouper 3 facteurs d’erreur présenté précédemment:

  • N’avoir qu’un seul caractère
  • D’avoir un caractère spécial assez rare
  • Un format de code postal norvégien

Fort heureusement ce cas est peu probable et extrême. Il faudrait cependant faire attention dans le cas d’un site comme celui des impôts de pouvoir gérer ce type nom de ville.

Conclusion

Rien n’est trivial dans le test, pas même la vérification d’un simple champ dans un formulaire. Il est essentiel de bien comprendre le contexte pour identifier de potentiels imprévus et prévoir des vérifications ne rendant pas le remplissage de ce formulaire impossible pour certains de ces utilisateurs.

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. Bons exemples, et bonne introduction car les formulaires sont partout (et leurs bugs aussi !)

    En tant que « Zoé », j’ai déjà eu un problème d’inscription sur un site parce que mon prénom était trop court 😀

    Un autre grand classique, c’est le « é » de mon prénom qui ne passe pas partout. Je me retrouve plus tard avec des salutations style « Hello Zoã© »

    Aussi, vivant en Nouvelle-Calédonie, quand je dois entrer mon numéro de téléphone dans un formulaire de site non-calédonien j’ai toujours une appréhension car mon numéro est à 6 chiffres et que ça ne passe pas sur tous les sites.

    Merci pour tous tes articles !

    1. Merci pour ce retour Zoé!
      La vue de ce panneau m’a fit sourire et tout de suite penser à ces problèmes de longueur des champs… mais aussi à une de te publications d’il y a quelques années sur l’impossibilité de t’inscrire avec le nom Zoé ^^

Laisser un commentaire

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

Test entouré de nombreux mots qui décrive ce concept
Agilité

Le test en image (9)

Il y a 8 familles de tests définies par l’ISO-25010 afin de mesurer la qualité d’une application. Les tests fonctionnels ne représentent qu’une seule de ces familles: L’ATDD et le BDD c’est une sorte de fusion entre les tests et les spécifications: De même, la différence principale entre l’ATDD et

Lire la suite »
Image du 1er article de la série du podcast sur la qualité durable: définition du green IT et développement durable en QA
Présentation

[Podcast] GreenIT et Qualité Durable

La semaine dernière Jean-François Frési a publié une série de 5 podcast sur le GreenIT et la Qualité Durable. Cela a été pour moi l’occasion de parler de ces sujets qui me tiennent particulièrement à coeur comme vous pouvez le constater avec mon travail au sein du collectif Qualité Durable.

Lire la suite »
Conception de cas de test

Tester des APIs!

Depuis plusieurs mois une question m’est posée de plus en plus fréquemment: comment tester une API ? Il est vrai que la taverne n’avait pas, à ce jour, d’articles spécifiques à ce sujet. Attention l’objet de cet article n’est pas de parler d’outil pour ces tests, il y en a

Lire la suite »