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 Responses
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 !
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é ^^