Problèmes de recettage lors de vos tests projets : comment les résoudre ?

Commencez à écrire ici ...

Pour livrer un site digne de votre savoir-faire et satisfaisant vos clients, il semble inenvisageable de manquer l’étape de recettage. Aussi chronophage et onéreuse soit cette phase, vous devez consacrer du temps pour tester vos réalisations et vérifier leur conformité aux cahiers de charges. Et heureusement qu’on n’est pas à jamais condamné à réaliser le recettage avec ses considérables coûts cachés et son manque de fiabilité. Résoudre les problèmes de recettage est bel et bien possible.  

Contenu

  • Recettage informatique : en quoi consiste-t-il ? 

  • Étape de recettage : quelle importance pour votre projet ?

  •  Méthodologie de recettage

  • Cinq étapes de recettes à prendre en compte

  • Comprendre la problématique de recettage

  • Comment résoudre ces problèmes de recettes ?

  • Outil de test automatisé GUIBot

  • Les fonctionnalités propres à GUIBot

  • Use cases


Recette informatique : en quoi consiste-t-il ?

Si l’on pense que le gros du travail est achevé après développement du site et saisie des contenus, le recettage prend généralement plus de temps que prévu. Il faut s’assurer que les tâches réalisées soient conformes à celles du cahier de charge. C’est donc le temps de tester les balises HTML, le design, l’intégration et le développement. Voilà ce que l’on entend par recette informatique, une étape incontournable avant la livraison finale. 

Selon les règles basiques de recettage, il faut passer par divers tests, dont ceux des boutons et des liens. Les divers champs doivent également être testés pour pouvoir insérer des caractères spéciaux et une chaîne de caractères. Par cette phase s’assure-t-on que les pages du site communiquent entre elles. Le recettage permet de prendre en compte l’affichage des images, des caractères spéciaux et des polices. Les tests couvrent l’envoi de mails et la faculté de partage sur tous les réseaux sociaux.

Pour réussir cette phase, quelques étapes méritent l’attention :

  • Préparer les documents de référence

Un cahier de charges ou des maquettes et spécifications fonctionnelles contiennent les demandes initiales des clients. Cette étape consiste alors à vérifier la conformité entre les réalisations et les attentes définies en amont dans ces documents de référence.

  • Détecter les imperfections et les bugs

Après avoir développé un site, celui-ci doit être testé sur différents terminaux, que ce soient un smartphone ou un ordinateur. Il faut également vérifier si des bugs surviennent sur les divers navigateurs. La tâche consiste, de plus, à examiner les autres points comme l’affichage des menus et la gestion des cas non passants. Les tests portent aussi sur les cohérences en matière de règles de gestion fonctionnelle, unitaire ou pour un test de bout en bout.

  • Centraliser les remarques

Les erreurs détectées sont à assembler avec un outil de recette afin de conserver l’historique des éléments à corriger. Cet outil permet aussi de classer les demandes par ordre de priorité et de suivre leurs traitements. À titre de rappel, plus la recette sera traitée par de nombreux acteurs aux points de vue divergents, mieux elle sera réalisée.

Étape de recettage : quelle importance pour votre projet ?

Avec une mine consternée, un client d’une agence de location adresse sa réclamation à son gestionnaire clientèle. Pour une location d’une seule semaine, il a été facturé de plusieurs millions d’euros. Comment cela s’explique-t-il ? Le responsable de l’agence examine les logs de son serveur et découvre que le client a réalisé une fausse manipulation dans leur site web. Sans s’en rendre compte, le locataire a sélectionné une date de départ antérieure même à la date d’arrivée. Ce qui a fait exploser sa facture ! Si les développeurs avaient testé tous les cas de figure et n’avaient pas omis de bloquer les dates antérieures, ce regrettable incident n’aurait pas eu lieu.

Un autre cas pour vous avertir

Dans cette situation, le manque de recette informatique a provoqué des failles de sécurité dans le programme. Les développeurs qui avaient conçu un site ont oublié de sécuriser la boîte de réception. Sans préciser le type de valeur attendu dans l’URL, ils ont donné l’occasion à d’autres utilisateurs d’afficher tous les messages reçus à partir de la création du site. Ces failles deviennent une source d’incidents, et peuvent même faire perdre des clients.

La phase de recette est alors d’une importance vitale dans un projet. Pourtant, elle se trouve, des fois, bâclée, voire oubliée. Cela s’explique par son caractère long, fastidieux et chronophage. Si les chefs de projet manquent de temps pour le recettage, les designers et les développeurs ne se sentent généralement pas concernés par cette tâche. Or, il s’agit d’une étape essentielle touchant toute l’équipe.

  • Le designer doit s’assurer que les réalisations correspondent à ses maquettes;

  • Les tests du développeur permettent de contrôler les diverses fonctionnalités sur toutes les utilisations possibles ;

  • Le chef de projet, le Business Analyst et/ ou l’Ingénieur Qualité  procèdent au test de l’ensemble du site pour éviter de laisser des failles de sécurité et des bugs ;

  • En dernier lieu, le client valide le produit par rapport à ses attentes.

Avec des projets plus importants, plus de professionnels se mobilisent pour réaliser les recettes. Vous pouvez même vous tourner vers des individus externes au projet.

Méthodologie de recettage

Sans une organisation efficace, cette étape inéluctable pourrait prendre une grande partie de votre temps précieux. Lorsque l’on risque de ne pas pouvoir livrer à temps, la tentation de brûler la phase de recette prend parfois le dessus. À inclure parmi les jours de corrections et de tests, le recettage doit alors être inclus dans les calculs dès la réalisation du devis.

Le découpage du projet en plusieurs lots permet de faciliter le recettage. À l’issue de chaque tâche importante, il faut exécuter les divers tests exigés. En réalisant des pré-recettes, vous pouvez tester des versions intermédiaires bien avant la version finale et la recette finale. 

Cela ne vous libère pourtant pas du re-test de chaque fonctionnalité à chaque étape, pour détecter les éventuelles régressions.

Les tests de performance, dont le test de charge ou de stress, déterminent les performances d’un logiciel. Ils estiment si l’application est capable d’exécuter les fonctionnalités en un temps acceptable. Cette phase est souvent entamée lorsque le produit évalué atteint une certaine maturité en matière de stabilité. 

Différents outils de recette selon les projets

Les outils de recettage dont vous avez besoin dépendent notamment de l’importance de vos projets. Si certaines solutions sont adaptées à de petites équipes, d’autres vous permettront de traiter convenablement les recettes de plus grande taille.  

  • Excel et PowerPoint pour les petites équipes

Pour réaliser un petit projet en interne, ces outils classiques pourront faire l’affaire, mais avec une organisation sans faille. Bien qu’il ne s’agit pas de la solution la plus agréable, Excel et PowerPoint offrent le moyen le moins cher pour un budget limité. Le testeur énumère les problèmes en utilisant des couleurs pour plus de clarté. Avec de meilleures descriptions des remarques, le développeur pourra les traiter de manière autonome. Les captures d’écran lancées avec PowerPoint permettent de mieux cerner les problèmes. Afin de faciliter les retours, le testeur ajoute une étiquette où sont marqués son nom et son numéro. Vous êtes prévenu que cette méthode aura du mal à marcher avec des projets plus importants.

  • Trello : une solution dédiée également pour les petites équipes

Avec cet outil, la démarche imite la solution proposée par Excel et PowerPoint, mais avec un dispositif tout-en-un. Vous disposez d’une carte pour chaque problème, qui sera à remplir de description. Choisissez des couleurs pour les degrés de criticité et attribuez la carte au développeur concerné. Quelques colonnes (à corriger, en cours, validé et à re-tester) permettent de suivre l’avancement du traitement. Trello convient mieux aux petites équipes pour des projets en interne.

  • Jira, adapté aux grandes équipes dotées de moyens

Pour réaliser le recettage de plus gros projets, il est pratiquement impossible de se cantonner aux solutions comme Excel et Trello. Les grandes équipes se tournent vers Jira, une solution payante avec plus de modes automatiques. Vous pouvez commencer par l’instauration d’un processus de traitement. Dès que le testeur poste le ticket avec les erreurs rencontrées et les screenshots, l’état de la tâche est « à corriger ». L’état du traitement devient « en cours » dès que le développeur prend en charge le ticket. Comme Jira est destiné à une gestion de projet agile, il renseigne le nom de l’Epic et de l’User Story associé. Il affiche aussi le terminal et la priorité selon les commandes.

Cinq étapes de recettes à prendre en compte

Pour ne laisser aucun aspect de votre réalisation vous échapper, et pour livrer un site parfait, un processus complet de recettes s’avère nécessaire.

La recette Dev du développeur en question

Après avoir travaillé sur le site, le développeur consacre généralement un à trois jours pour entamer directement certaines corrections. Il repasse sur toutes les fonctions, les pages, les custom posts et le fonctionnement des blocs. La recette Dev permet, pour une première fois, de vérifier la conformité entre le cahier de charges et le site créé. Cette étape limite les erreurs qui se glissent dans les tâches et allège le prochain contrôle.

Recette interne, deuxième regard sur le projet

D’une importance capitale, la recette interne se trouve plus exigeante que la recette Dev. Réalisée par une ou deux ressources de l’équipe, dont le chef de projet, elle nécessite environ une semaine sans être partie prenante dans le projet. Les testeurs passent avec précision sur l’ensemble du site, son aspect, la création des pages et l’intégration des contenus. Cette étape inclut surtout la détection de bugs.

La recette technique à ne pas omettre

En vue d’accélérer la livraison, la recette technique peut se réaliser en même temps que la recette interne. Il s’agit de la vérification des codes et des normes établies comme le HTML5, function, JS... Cette étape consiste à vérifier l’apparence globale du site, les marges et les animations. 

Elle peut aussi être effectuée avant la recette interne. Pour ce faire, des outils permettant de checker la qualité des codes comme SONARQUBE, qui est utilisé par etech, s’offrent à votre disposition. Si jamais des développeurs s’arrangent pour brûler des étapes dans le développement afin de gagner du temps, la recette technique permet de s’en rendre compte.

La recette client pour avoir l’accord de l’acquéreur

Lorsque toute l’équipe est fière du travail et ne trouve plus rien à signaler, le site semble prêt, mais le client a toujours le dernier mot. Pendant environ une semaine, le propriétaire du nouveau site réalise sa part de recette en remplissant un fichier. Il y note ses questions ou des erreurs remarquées, voire des bugs. Le client fait parvenir ses remarques pour que l’on puisse procéder aux corrections pendant une semaine de plus. Toutefois, la recette client et l’ajustement qui s’ensuit peuvent être réalisés en même temps.

Terminer par la journée de recette

La journée ou demi-journée de recette rassemble les divers intervenants du projet, à savoir le lead développeur, le chef de projet et le client. C’est le moment de présenter le site ainsi que son fonctionnement. Le client pose ses questions sur la sécurité, le référencement, l’optimisation du site, etc. Pour s’assurer de la qualité livrée, on peut passer sur l’ensemble de la recette client. Après cette étape, accorder l’offre de support à votre client permet de ne pas le laisser sans accompagnement. 

Comprendre la problématique de recettage

Étape non négligeable avant la livraison, le recettage n’épargne pas vos équipes d’un lot de soucis, sans indiquer des coûts qui peuvent grimper.

Des tâches de recettes souvent chronophages

Les tests et les rectifications deviennent une activité longue et fastidieuse lorsque les outils utilisés correspondent mal aux projets en cours. Répéter les mêmes actions s’avère pénible pour les testeurs. Même les tests de non-régression accaparent beaucoup de temps devant être alloué à d’autres tâches.

Des risques élevés d’erreurs humaines

En se servant d’outils non automatisés et non adaptés à la taille du projet, les testeurs auront du mal à détecter les anomalies. Les incohérences deviennent difficiles à découvrir lorsque les applications doivent être lancées sur différentes plateformes.

Différent niveau de criticité des anomalies

Lors de la recette, les testeurs tombent sur des erreurs de criticités différentes. Comprendre la gravité des anomalies permet de les établir par ordre de priorité. Sans discerner ces niveaux, le traitement prendra plus de temps et de complication.

  • Anomalie mineure : Les dysfonctionnements ne bloquent en aucun cas l’exploitation de l’outil, car la fonctionnalité touchée n’est pas essentielle. Le traitement de cette anomalie peut donc attendre par rapport aux autres.

  • Anomalie majeure : Elle atteint une fonctionnalité indispensable qui, par conséquent, devient inopérante. Pourtant, cela ne bloque pas entièrement l’exploitation de l’outil. Le traitement de ce type d’anomalie ne doit pas être négligé.

  • Anomalie bloquante : Celle-ci rend une fonctionnalité indispensable non exploitable. Elle entraîne l’arrêt du système entier. Sa correction se trouve alors à la tête de liste d’urgence.

Coûts directs, mais aussi des coûts cachés

Les ressources allouées à la phase recette s’alignent à l’importance du projet. Si certaines activités n’exigent pas des outils sophistiqués, d’autres requièrent des logiciels de tests performants. Mais les coûts des recettes vont au-delà de ceux de ces outils. Considérez les coûts cachés allant des pénalités de retard de livraison à la hausse du Time To Market.

Soucis de traçabilité

Lors du recettage, vous pouvez vous heurtez à une absence des liens de traçabilité entre les exigences des cas de test. La production des cahiers de recettes et des captures d’écran pourrait compliquer le recettage. 

Malgré ces complications auxquelles se heurtent les équipes pendant le recettage, cette phase demeure incontournable. Ce qui reste à faire est donc de chercher des solutions pour se faciliter les tâches lors des recettes. 

Comment résoudre ces problèmes de recettes ?

Un lot d’outils pour effectuer des tests automatisés abonde sur le marché. Mais utiliser n’importe lequel ne vous aidera pas à réussir plus aisément la phase recettage. Analysons GUIBot afin de voir en quoi cet outil consiste, et comment il vous fera sortir d’embarras.

Outil de test automatisé GUIBot

ArkeUp conçoit l’outil GUIBot en vue d’automatiser au maximum la phase de recettage et les scénarios sans connaissance technique. Cet outil est également conçu pour réaliser des tests multi device et multi résolution ainsi que des rapports complets. En gros, il permet de diminuer le Time To Market, ce délai de mise sur le marché, traduit par la différence entre la date de conception d’un produit et celle de sa mise en vente.

GUIBot : de quoi s’agit-il exactement ?

ArkeUp conçoit le Graphical User Interface BOT (GUIBot), un robot qui ouvre un navigateur web et enchaîne des actions et des vérifications sur un site web. Comment cela se passe-t-il de manière concrète ?

  • Création du projet : L'équipe GUIBot s'occupe de l'initialisation du projet. La tâche commence par la description et la configuration du plan. Renseignez d’abord les informations sur les paramètres techniques. Il faut choisir les navigateurs à utiliser, les url et partager le projet.

  • Gestion des cas de test : Les modules fonctionnels doivent être créés. Pour ce faire, vous pouvez générer et décrire le cas de test automatiquement avec un Recorder ou à partir d’une commande manuelle. Considérez la gestion de la bibliothèque d’éléments des étapes fonctionnelles sur l’application à tester. Passez ensuite à la configuration des cas de test. Cette étape consiste à ordonner les actions et les données de test.

  • Création de la campagne de test : Cette phase revient à décrire la campagne, sélectionner les cas de tests concernés et configurer le lancement périodique.

  • Lancement du test : Il s’agit de lancer une campagne ou un cas de test. Choisissez un type de lancement Local ou Distant, ainsi que le(s) navigateur(s) associé(s) à une(des) résolution(s). Après la programmation du créneau de vos tests, GUIBot se charge du reste. Une fois les tâches réalisées, vous aurez une notification.

  • Visualisation du résultat : Enfin, vous pouvez visualiser un Dashboard et des captures d’écran tout en téléchargeant les rapports HTML et PDF. Grâce à l’historique, il est possible de consulter ultérieurement les livrables.

Les fonctionnalités propre à GuiBot 

Avec cet outil de tests automatisés aux technologies Selenium et full javascript, un enregistreur de scénarios permet l’ouverture d’un navigateur local. Vous pouvez alors réaliser et enregistrer votre scénario. GUIBot propose un lancement multi navigateur, que ce soit avec Chrome, Firefox, Safari 11 ou Edge Chromium. Comme ce programme est conçu pour un lancement multirésolution, le cas de test s’adapte sur différentes résolutions (RWD). En local ou depuis le cloud, le lancement des tests automatisés vous accorde un gain de temps considérable.

En ayant recours à GUIBot, l’exécution reste programmable ; les tests pouvant alors se lancer en dehors des heures de travail. Ce qui vous servira de tremplin pour avancer plus rapidement lors de la phase de recettage. Il est possible d’utiliser cet outil pour tester les applications Web et les applications mobiles dans la roadmap. En effet, tout type d’application web en qualification et en production peut profiter de GUIBot.

En matière de gestion de patrimoine de test, vous aurez la possibilité de lancer à tout moment des tests initiaux et de rejouer les tests. GUIBot permet une gestion du référentiel de test. Grâce à la fonctionnalité Recorder, le scénario peut être enregistré sans rédaction de script.

Qu’en est-il des rapports obtenus ?

Les rapports s’offrent à votre disposition sous formats PDF, HTML et Excel en export de scénarios. Les résultats mettent en avant la date et le type de lancement, le statut et le navigateur. GUIBot présente des captures d’écran à chaque page. Les détails des cas de test et la durée du scénario s’affichent sur les rapports.  

Use cases

  • Le domaine de l’industrie tire parti de GUIBot

Avec une application instable de gestion de réponse aux appels d’offres, le client nous a demandé de résoudre cette instabilité. L’application montrait des régressions fonctionnelles et des lacunes en matière d’architecture applicative. Pour régler ces instabilités, nous avons alors entamé laTMA, un service d’assistance utilisateur des applicatifs métiers.

Comme missions à accomplir, nous devions assurer la stabilité de l’application et empêcher les régressions en veillant à son processus d’évolution. Les workflows métiers sensibles tels que les tests des résultats générés, la création de devis et les tests des documents envoyés aux clients, bénéficient des tests automatisés de GUIBot. Ces tests sont lancés à chaque version pour vérifier la fiabilité et la stabilité de l’application.

Après notre intervention, l’application continue d’évoluer et retrouve sa stabilité. Grâce aux tests automatisés de GUIBot, aucun risque majeur de bug ne survient.

  • GUIBot et l’univers e-commerce

Suite à l’essor de l’e-commerce, les ventes et tout le business de l’entreprise reposent sur le bon fonctionnement et la stabilité des sites e-commerce. Satisfaction de la clientèle et hausse des chiffres d’affaires n’auront lieu que si les sites fonctionnent sans souci. C’est la raison pour laquelle il faut tester les sites après chaque livraison. Or, les tests sur différentes résolutions et divers navigateurs s’avèrent chronophages et requièrent beaucoup de travail de la part de l’équipe entière.

Pour contourner ce problème, un client spécialisé dans le domaine de l’e-commerce nous demande de mettre en place des tests automatiques. Cela vise à tester les recherches, les prises de commande, les inscriptions et d’autres fonctionnalités sous des formats smartphone et desktop. Les tests doivent être réalisés sur différents navigateurs comme Chrome, Firefox et Edge Chromium.

Grâce à GUIBot, les tâches à réaliser par les équipes sont considérablement allégées. Il suffit de contrôler les résultats affichés sur les rapports et les captures d’écran pour vérifier s’il existe des régressions fonctionnelles. Ainsi, le client peut consacrer plus de temps sur la recette des nouvelles fonctionnalités, sur les analyses des améliorations et d’autres tâches au lieu de s’attarder sur les tests de non-régression. 

  • Le monde de l’aéronautique profite des tests automatiques

LISI, une société internationale dans le domaine de l’aéronautique, a fait appel à eTech pour développer plusieurs applications, dont une application web en « .net ». Outil pivot servant à gérer les facturations, cette application a requis une grande mobilisation de la part du client et de eTech, pour valider la qualité de chaque version. Lors des déploiements de chaque release, le client a dû mettre de côté une ou deux semaines pour la phase test. Ces organisations coûteuses ont toujours interrompu le processus de production.

En vue de pallier ces gaspillages de temps, les deux parties décident de mettre en place des tests automatisés, avec seulement une dizaine de scénarios élaborée au début. Le développement du projet aboutit à l’élaboration de batterie de test avec plus de 150 scénarios. Ceux-ci couvrent 80 % des fonctionnalités existantes avec des manipulations lecture, assert Excel, input, envoi mail, import document... Pour bénéficier plus de gain de temps, les tests sont travaillés de manière à pouvoir se lancer hors heures de travail.

Grâce à l’automatisation des tests, eTech peut concentrer ses tâches sur l’analyse des évolutions fonctionnelles, sans trop se soucier des tests de non-régression. De son côté, le client augmente sa fréquence de mise en production jusqu’à 7 fois, sans être interrompu dans le processus. Il n’éprouve plus aucun besoin de mobiliser des ressources humaines dans les opérations de tests. L’automatisation est alors aussi bénéfique pour nous que pour le client.

Ce gain considérable a poussé à d’autres tests automatisés initialisés sur d’autres outils comme des applications en Angular. Nous avons, par ailleurs, constaté les mêmes résultats satisfaisants. 

  • Tests automatiques et univers du transport

Fraikin dispose d’une application (Angular & Symfony) utilisée pour l’étude et la création des plans de véhicules loués. Pour réaliser les tests de non-régression de son outil de production, la société nous a adressé une demande client.

Durant l’entretien où nous avons proposé des tests automatisés, la familiarité du client avec ces types de tests nous a surpris. Nous avons alors découvert que la société avait déjà bénéficié d’un service de tests automatisés. La solution, opérationnelle au début, a fini par lâcher l’équipe, car elle exigeait le paramétrage des développeurs.

Cela diffère des solutions proposées par eTech. Nos tests automatiques n’ont nullement besoin d’une intervention de développeurs. Nous proposons un scénario global qui couvre l’ensemble des cas de modules de l’application. Pour mettre en place un backlog des cas de test à implémenter, l’élaboration de nouveaux scénarios avec le client ne s’arrête pas ici.

Conclusion

Dans un projet informatique, le recettage a longtemps été une étape chronophage et augmentant le Time To Market. Vous pouvez vous heurter à des outils de recette non fiables et avec des tests non complets. Pour changer la donne et avancer plus rapidement, l’outil de tests automatisés GUIBot vous est proposé. Grâce à cette solution, vos équipes pourront se dégager des tests de non-régression et mieux se concentrer sur l’évolution fonctionnelle des projets. C’est l’occasion d’optimiser le ROI et de gagner sur les charges de recettes.