La taverne du testeur

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 *

Interview

Eric Blanquet: Chef de projet test

Bonjour, qui êtes-vous, quel est votre métier et quelles sont vos activités professionnelles ? Bonjour, je suis Eric Blanquet et je travaille dans le test logiciel depuis 2011. Après un certain nombre de missions m’ayant amené à toucher à un peu tous les métiers du test (écriture, exécution manuelle, exécution automatique,

Lire la suite »
Présentation

[STLS 2022] Création et diffusion d’un jeu pour le test

Retrouvez le support de présentation de la conférence « Création et diffusion d’un jeu pour le test » utilisé lors de la STLS de 2022. Cette présentation est un REX de la création des 1001 tests et de sa diffusion Les autres supports de présentations de la STLS sont disponibles ici. Pensez

Lire la suite »
Agilité

Correspondance entre niveaux de test et quadrant de test Agile

La transformation Agile transforme le test Les méthodologies Agiles sont de plus en plus présentes dans l’industrie logicielle. Afin d’être dans le mouvement et de répondre à des impératifs de réactivité de nombreuses sociétés se transforment. Des DSI avec des dizaines voir des centaines d’acteurs et habituées à travailler en

Lire la suite »