{"id":188,"date":"2012-05-05T09:09:51","date_gmt":"2012-05-05T08:09:51","guid":{"rendered":"http:\/\/dev.qualilogy.com\/fr\/?p=188"},"modified":"2013-01-05T09:10:30","modified_gmt":"2013-01-05T08:10:30","slug":"cherchez-lerreur-12","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/fr\/cherchez-lerreur-12\/","title":{"rendered":"Cherchez l&rsquo;erreur (1\/2)"},"content":{"rendered":"<p><a href=\"http:\/\/vicken.deviantart.com\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1686\" title=\"QualErreurR\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/05\/QualErreurR.jpg\" alt=\"\" width=\"228\" height=\"343\" \/><\/a>En tant que consultant Qualit\u00e9, je n\u2019adore rien de plus que de trouver des bugs.<\/p>\n<p>Rien de plus plaisant que d\u2019analyser le code d\u2019une application et de trouver un ou plusieurs bon gros bugs impardonnables, comme un \u2018Break\u2019 en ABAP (instruction utilis\u00e9 en mode debug et qui va stopper instantan\u00e9ment le programme), un OPEN \/ CLOSE de fichiers dans une boucle (instructions co\u00fbteuses en temps syst\u00e8me, \u00e1 r\u00e9aliser hors de la boucle, \u00e9videmment) ou un acc\u00e8s direct \u00e0 la base de donn\u00e9es depuis une page JSP. Pas besoin d\u2019\u00eatre sp\u00e9cialiste pour savoir qu\u2019il s\u2019agit de d\u00e9fauts graves.<\/p>\n<p>Il y a pourtant une situation dans laquelle je d\u00e9tester trouver des bugs : en tant qu\u2019utilisateur d\u2019une application.<\/p>\n<p><!--more--><\/p>\n<p>Avec les beaux jours qui arrivent, je recherche quelques meubles pour ma terrasse, mais tout ce que je trouve est cher et luxueux. Bon sang, il s\u2019agit d\u2019une petite terrasse d\u2019appartement, pas un solarium de r\u00e9sidence secondaire, je veux une paire de chaises longues pratiques et r\u00e9sistantes, qui puissent supporter la pluie si j\u2019ai oubli\u00e9 de les rentrer, pas des meubles en bois rare avec des coussins brod\u00e9s de fils d\u2019or.<\/p>\n<p>Finalement, sur un site internet de ventes (priv\u00e9es), je trouve mon bonheur et en plus, il y a un hamac portable \u00e0 un prix d\u00e9fiant toute concurrence. Portable signifie que je ne vais pas avoir besoin de perser un trou dans un mur pour planter un crochet de hamac, et son prix est 2 ou 3 fois moindre que le moins cher des hamacs que j\u2019avais trouv\u00e9s jusqu\u2019ici. Bref, une affaire.<\/p>\n<p>Sur ce site de ventes internet, je commence donc par s\u00e9lectionner deux chaises longues dans mon panier, puis remarque alors un avertissement m\u2019annon\u00e7ant que certains articles \u00e9tant distribu\u00e9s par un transporteur diff\u00e9rent, il peut s\u2019av\u00e9rer n\u00e9cessaire de proc\u00e9der \u00e0 2 achats diff\u00e9rents, un par pour chaque transporteur et avec l\u2019obligation de payer 2 fois les frais de livraison. Comme cette vente propose des articles de plusieurs marques, genre barbecue et cong\u00e9lateur de camping, certainement plus lourds et moins faciles \u00e0 livrer, je me dis que cela ne concernera pas mes chaises pliables.<\/p>\n<p>Pas de chance : j\u2019ajoute le hamac \u00e0 mon panier, et au moment de payer, un message pas tr\u00e8s pr\u00e9cis m\u2019avertit qu\u2019une erreur s\u2019est produite et liste sur plus d\u2019une page les causes possibles et les actions \u00e1 entreprendre pour y rem\u00e9dier. Bon, heureusement que j\u2019ai pris le temps de lire l\u2019avertissement pr\u00e9c\u00e9dent, et heureusement que j\u2019ai tr\u00e8s envie d\u2019acheter ces articles, parce que c\u2019est le genre de trucs qui me fait sortir imm\u00e9diatement du site et abandonner une vente.<\/p>\n<p>Donc je modifie mon panier afin de proc\u00e9der \u00e0 un premier achat pour \u2013 seulement \u2013 mes 2 chaises longues, effectue le paiement en ligne, puis revient sur le site marchand afin d\u2019acheter le hamac, place celui-ci dans le panier et valide celui-ci afin de passer \u00e0 la page de paiement.<\/p>\n<p>L\u00e0, un message me demande si je souhaite ajouter cet achat \u00e0 la livraison d\u00e9j\u00e0 en cours \u2013 les deux chaises longues \u2013 ou si je souhaite effectuer une livraison s\u00e9par\u00e9e. Serait-il finalement possible d\u2019effectuer une seule et unique livraison pour ces articles, de m\u00eame marque et du m\u00eame fabricant, je le rappelle ?<\/p>\n<p>J\u2019opte donc pour la 1\u00e8re solution : livraison commune pour mes deux chaises longues ET le hamac. Sauf que j\u2019arrive une fois de plus sur la page de message d\u2019erreur g\u00e9n\u00e9rique parce que mes deux achats ne peuvent \u00eatre livr\u00e9s par un m\u00eame transporteur.<\/p>\n<p>Que s\u2019est il pass\u00e9 ? Nous sommes sur un site de ventes proposant diverses marques chaque jour, vous pouvez \u00e0 tout instant acheter plusieurs articles dans diff\u00e9rentes ventes : un tee-shirt, une montre, une layette pour b\u00e9b\u00e9, des lunettes de soleil, etc. et d\u00e9cider de regrouper tous ces achats en une seule livraison. Logique : celle-ci sera effectu\u00e9e par colis postal, donc en regroupant les achats, vous \u00e9conomisez des frais de transport. Et \u2013 last but not least \u2013 cela vous \u00e9vitera de multiples attentes dans votre bureau de poste pour retirer le colis, pour le cas o\u00f9 vous \u00eates absent lorsqu\u2019il vous sera livr\u00e9.<\/p>\n<p>Ce fonctionnement par d\u00e9faut ne s\u2019appliquait pas en l\u2019esp\u00e8ce \u00e0 notre achat \u2026 mais le site web l\u2019a quand m\u00eame propos\u00e9. Cherchez l\u2019erreur.<\/p>\n<p>Puis-je me permettre de dire que nous avons l\u00e0 un d\u00e9faut de test ? Vous allez me dire que ce n\u2019est pas bien grave. Il me suffit de demander une seconde livraison distincte pour mon second achat.<br \/>\nSauf que cela n\u2019a pas \u00e9t\u00e9 possible. Il m\u2019a fallu annuler la seconde commande afin de la reprendre depuis le d\u00e9but. Et l\u00e0 encore, cela n\u2019a pas \u00e9t\u00e9 possible : chaque fois que j\u2019ai tent\u00e9 de refaire ce second achat, le hamac \u00e9tait d\u00e9j\u00e0 pr\u00e9sent dans mon panier. Vraisemblablement un probl\u00e8me de rafra\u00eechissement de la session et de ses donn\u00e9es. Autrement dit, je ne pouvais effectuer mon second achat mais je ne pouvais pas non plus annuler mon panier. J\u2019\u00e9tais coinc\u00e9 dans un processus par d\u00e9faut qui ne s\u2019appliquait pas, mais qui ne me laissait aucune possibilit\u00e9 de revenir au processus correct.<\/p>\n<p>Apr\u00e8s plusieurs tentatives, il m\u2019a fallu sortir compl\u00e8tement du navigateur afin de supprimer la session et re-rentrer dans le site pour effectuer ce second achat. Bref, il m\u2019a fallu quatre ou cinq tentatives diff\u00e9rentes afin d\u2019acheter deux produits d\u2019une m\u00eame marque, tout en pestant contre ce site et surtout ce qui me para\u00eet un probl\u00e8me, sinon de conception ou de programmation, mais en tout cas de test.<\/p>\n<p>Si le fonctionnement par d\u00e9faut n\u2019est pas applicable, cela me para\u00eet un test plus qu\u2019\u00e9vident \u00e0 effectuer. Comment est-il possible qu\u2019en tant que simple client je tombe imm\u00e9diatement sur un tel dysfonctionnement ? Comment un site avec plus d\u2019une centaine de milliers de connexions chaque jour peut-il laisser passer un tel d\u00e9faut si un client va tomber directement, pour ne pas dire logiquement, quasi-obligatoirement dessus ?<\/p>\n<p>La suite (la r\u00e9ponse ?) dans notre prochain post.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En tant que consultant Qualit\u00e9, je n\u2019adore rien de plus que de trouver des bugs. Rien de plus plaisant que d\u2019analyser le code d\u2019une application et de trouver un ou plusieurs bon gros bugs impardonnables, comme un \u2018Break\u2019 en ABAP (instruction utilis\u00e9 en mode debug et qui va stopper instantan\u00e9ment le programme), un OPEN \/ [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-188","post","type-post","status-publish","format-standard","hentry","category-qa"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/188"}],"collection":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/comments?post=188"}],"version-history":[{"count":1,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/188\/revisions"}],"predecessor-version":[{"id":189,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/posts\/188\/revisions\/189"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/media?parent=188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/categories?post=188"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/fr\/wp-json\/wp\/v2\/tags?post=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}