Aller au contenu principal
Guides & Stratégie• 8 min de lecture

Tester et valider un chatbot WhatsApp avant le lancement

Checklist complète pour tester votre chatbot WhatsApp avant de le mettre en production. Tests fonctionnels, tests utilisateurs, edge cases et plan de rollback si problème.

Un chatbot WhatsApp mal testé envoyé en production peut générer des milliers de mauvaises expériences client en quelques heures. Contrairement à un site web où les bugs sont silencieux, un bot WhatsApp bugué envoie des messages erronés à tous vos clients actifs. Le coût d'un lancement raté est immense — en termes de relation client et de réputation.

La bonne nouvelle : avec une checklist de test rigoureuse, vous pouvez lancer en confiance. Voici la méthodologie complète.

Phase 1 : Tests fonctionnels internes (Semaine avant lancement)

1.1 Tests du happy path (parcours nominal)

Testez chaque parcours principal de bout en bout. Pour chaque flow défini, exécutez le parcours complet du premier message à la résolution, en vous comportant comme le client "idéal" qui suit exactement les instructions.

Checklist happy path :

  • Flow de bienvenue → menu principal → chaque option du menu
  • Suivi de commande : numéro valide → affichage statut correct
  • FAQ : chaque réponse FAQ automatique se déclenche sur les bons mots-clés
  • Lead qualification : questionnaire complet → scoring → routing correct
  • Escalade agent : le transfert vers agent fonctionne et l'agent reçoit le contexte
  • Confirmation de commande : paiement → confirmation → notification client

1.2 Tests des edge cases (cas limites)

C'est ici que la plupart des bugs se cachent. Testez tous les scénarios hors-norme :

EDGE CASES À TESTER IMPÉRATIVEMENT :

Numéro de commande invalide → message d'erreur approprié ?
Numéro de commande d'un autre client → sécurité OK ?
Message vide → comportement du bot ?
Message avec uniquement des emojis → comportement ?
Message très long (>1000 caractères) → troncature gérée ?
Bouton cliqué hors délai (flow expiré) → message approprié ?
Mêmes boutons cliqués plusieurs fois rapidement → comportement stable ?
Client qui tape "arrêter" ou "stop" → désabonnement géré ?
Client qui tape une URL ou un numéro de téléphone → comportement sûr ?

1.3 Tests de régression après modifications

# Script de test automatisé (exemple Node.js)
const scenarios = [
  {
    name: "Suivi commande valide",
    messages: ["CMD-2026-1234"],
    expected_contains: ["En cours de livraison", "2026-1234"],
    trigger: "suivi"
  },
  {
    name: "FAQ délai livraison",
    messages: ["délai livraison"],
    expected_contains: ["24h", "Abidjan", "FCFA"],
    trigger: "faq"
  },
  {
    name: "Escalade agent",
    messages: ["parler à un agent"],
    expected_action: "escalate_to_human",
    trigger: "escalation"
  }
];

async function runTests(scenarios) {
  const results = [];
  
  for (const scenario of scenarios) {
    try {
      const response = await simulateBotInteraction(scenario.messages[0]);
      
      const passed = scenario.expected_contains 
        ? scenario.expected_contains.every(text => response.includes(text))
        : response.action === scenario.expected_action;
      
      results.push({
        name: scenario.name,
        status: passed ? 'PASS' : 'FAIL',
        expected: scenario.expected_contains || scenario.expected_action,
        received: response
      });
      
    } catch (error) {
      results.push({ name: scenario.name, status: 'ERROR', error: error.message });
    }
  }
  
  return results;
}

Phase 2 : Tests utilisateurs réels (3-5 jours avant lancement)

2.1 Sélection du panel de testeurs

Recrutez 8-12 personnes représentatives de vos clients cibles. Critères importants pour les marchés africains :

  • Mélange d'âges (18-30, 31-45, 45+)
  • Mélange de niveaux de familiarité avec les chatbots
  • Représentation de différentes villes de votre marché
  • 2-3 personnes qui testent en dialecte local ou argot

2.2 Protocole de test utilisateur

INSTRUCTIONS POUR LES TESTEURS :

1. Comportez-vous comme un vrai client, pas comme un testeur
2. Essayez d'accomplir ces 3 tâches :
   a. Trouver le prix d'un article spécifique
   b. Vérifier le délai de livraison dans votre ville
   c. Simuler un problème de commande et chercher une solution

3. Notez (sur papier ou vocal) chaque moment où vous êtes bloqué,
   confus, ou frustré

4. Donnez une note globale /10 à la fin

2.3 Collecte et analyse des retours

Après chaque session de test, documentez :

  • Taux de complétion des 3 tâches (objectif : >90%)
  • Points de friction identifiés (où les testeurs ont hésité/bloqué)
  • Vocabulaire utilisé spontanément (utile pour améliorer les triggers NLP)
  • Note de satisfaction globale (objectif : >7/10 avant lancement)

Phase 3 : Tests de charge et de stabilité

3.1 Tests de concurrence

Votre bot doit supporter de nombreuses conversations simultanées, notamment lors des pics (promotions, fêtes, rentrée scolaire).

# Test de charge simple avec locust
from locust import HttpUser, task, between
import json

class WhatsAppBotUser(HttpUser):
    wait_time = between(1, 5)
    
    @task
    def send_message(self):
        payload = {
            "phone": f"+225070000{self.user_id:04d}",
            "message": "Bonjour je veux suivre ma commande",
            "message_id": f"test_{self.task_id}"
        }
        
        with self.client.post(
            "/webhook/message",
            json=payload,
            catch_response=True
        ) as response:
            if response.elapsed.total_seconds() > 3:
                response.failure(f"Trop lent: {response.elapsed.total_seconds()}s")

Objectifs de performance :

  • Temps de réponse moyen : <2 secondes
  • Percentile 95 : <5 secondes
  • Pas d'erreur 500 sur 100 requêtes simultanées

Phase 4 : Le plan de rollback

Avant tout lancement, préparez votre plan de rollback. Si quelque chose tourne mal, comment revenez-vous à l'état précédent ?

PLAN DE ROLLBACK

Scénario 1 - Bug critique (réponses incorrectes, erreurs massives) :
Action : Désactiver le bot immédiatement et basculer vers "mode agent uniquement"
Temps d'exécution : <5 minutes
Responsable : [Nom]
Contact d'urgence : [Téléphone]

Scénario 2 - Performance dégradée (réponses lentes >10s) :
Action : Vérifier les services tiers (OpenAI, webhook), redémarrer le service si nécessaire
Temps d'exécution : 10-30 minutes

Scénario 3 - Intégration CRM/API cassée (données incorrectes) :
Action : Désactiver uniquement les flows qui utilisent l'API en question, 
         garder les flows statiques actifs

Message client de secours :
"Nous effectuons une maintenance. Nos agents répondent à toutes vos questions.
Temps d'attente estimé : 15 minutes."

Checklist finale avant Go-Live

✅ TECHNIQUE
- [ ] Tests happy path : 100% réussis
- [ ] Tests edge cases : 0 bug bloquant
- [ ] Tests de charge : performance OK sous 50 utilisateurs simultanés
- [ ] Webhook HTTPS avec certificat valide
- [ ] Variables d'environnement production configurées
- [ ] Monitoring et alertes configurés (Sentry, Datadog, ou équivalent)
- [ ] Backup base de données conversations en place

✅ CONTENU
- [ ] Toutes les réponses FAQ validées par l'équipe métier
- [ ] Textes validés par le responsable légal/conformité
- [ ] Traductions vérifiées par un natif (si multilingue)
- [ ] Tous les liens dans les messages sont fonctionnels

✅ PROCESSUS
- [ ] Équipe support informée du lancement et formée au bot
- [ ] Plan de rollback documenté et testé
- [ ] Procédure d'escalade agent configurée et testée
- [ ] Dashboard de monitoring accessible à l'équipe

✅ LÉGAL
- [ ] Message d'opt-in conforme aux règles WhatsApp Business
- [ ] Politique de confidentialité mise à jour
- [ ] Stockage des données conversationnelles conforme

Pour approfondir, consultez notre guide sur le déploiement production d'un chatbot WhatsApp et notre article sur la maintenance du chatbot WhatsApp.

FAQ

Q: Combien de temps faut-il pour tester correctement un chatbot WhatsApp ?

A: Pour un bot simple (5-10 flows), comptez 1 semaine de tests : 3 jours de tests internes fonctionnels et edge cases, 2 jours de tests utilisateurs, 2 jours pour les corrections et la validation finale. Pour un bot complexe (20+ flows, intégrations multiples), doublez cette estimation.

Q: Peut-on tester sans vrai numéro WhatsApp Business ?

A: Meta propose un environnement de test ("Test Phone Number") dans la Developer Console. Il permet d'envoyer des messages à 5 numéros whitelistés. Pour les tests utilisateurs, utilisez un second numéro WhatsApp Business dédié aux tests — jamais votre numéro de production.

Q: Comment tester le comportement du bot en cas de panne d'une API tierce ?

A: Utilisez des mocks (simulateurs de pannes) pour tester le comportement de votre bot quand l'API OpenAI, votre CRM ou votre système de commandes ne répond pas. Le bot doit toujours avoir un comportement gracieux (message d'erreur + escalade humaine) et jamais planter silencieusement.

Q: Les tests automatisés remplacent-ils les tests utilisateurs réels ?

A: Non, ils se complètent. Les tests automatisés vérifient que le code fait ce qu'il est censé faire. Les tests utilisateurs vérifient que ce que fait le code correspond à ce dont les clients ont besoin. Les deux sont indispensables. Les tests automatisés sont plus rapides et répétables ; les tests utilisateurs révèlent des problèmes que vous n'avez pas imaginés.


Un lancement bien testé est un lancement serein. Ne sacrifiez pas les tests pour gagner quelques jours — les problèmes post-lancement coûtent 10x plus cher à corriger qu'en phase de test.

Inscrivez-vous sur Whakup et accédez à notre environnement de test dédié pour valider vos chatbots WhatsApp avant le go-live.

#whatsapp-business-api-guide#automatisation-whatsapp-flows#chatbot-whatsapp-guide
Arthur Lyonnet
Arthur LyonnetCo-fondateur & CEO

Co-fondateur de Whakup, Arthur accompagne les entreprises africaines dans leur transformation digitale via WhatsApp depuis 2022. Passionné par le growth marketing et l'entrepreneuriat en Afrique francophone.

🚀

Prêt à passer à l'action ?

Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.

Démarrer l'essai gratuit