From b60961aceae02a5ded726874ac4fb7d5576b962e Mon Sep 17 00:00:00 2001 From: MathieuSevignyLavallee <89943988+MathieuSevignyLavallee@users.noreply.github.com> Date: Sun, 8 Dec 2024 22:24:15 -0500 Subject: [PATCH] ajout documentation test de charge --- .../developpeur/test/test-charge-output.png | Bin 0 -> 53828 bytes .../docs/developpeur/test/test-de-charge.md | 79 ++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 documentation/docs/developpeur/test/test-charge-output.png create mode 100644 documentation/docs/developpeur/test/test-de-charge.md diff --git a/documentation/docs/developpeur/test/test-charge-output.png b/documentation/docs/developpeur/test/test-charge-output.png new file mode 100644 index 0000000000000000000000000000000000000000..e335abc48e07072764e2c9d004231aee1f95b58a GIT binary patch literal 53828 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 a>YVENUH1jY2Ce5HzezPx literal 0 HcmV?d00001 diff --git a/documentation/docs/developpeur/test/test-de-charge.md b/documentation/docs/developpeur/test/test-de-charge.md new file mode 100644 index 0000000..434bc9e --- /dev/null +++ b/documentation/docs/developpeur/test/test-de-charge.md @@ -0,0 +1,79 @@ +# Tests de Charge + +Pour tester la montée en charge et les performances du projet, un **test de charge** est inclus dans `test/stressTest`. Il est conçu spécifiquement pour **evalue-ton-savoir**, avec un focus sur les communications serveur-client et client-client. + +--- + +## Routes utilisé sur le quizRoom +- **`get-usage`** : Récupère les ressources des conteneurs du réseau. +- **`message-from-teacher`** : Transfert de messages des professeurs aux étudiants. +- **`message-from-student`** : Transfert de messages des étudiants aux professeurs. + +--- + +## Fonctionnement + +1. **Authentification** : Récupère un token depuis l’API backend. +2. **Configuration** : Crée les salles de quiz et connecte un professeur à chaque salle. +3. **Connexion des étudiants** : Connecte les étudiants aux salles selon les paramètres. +4. **Simulation** : Messages simulés entre professeurs et étudiants. +5. **Collecte des données** : Collecte les métriques de ressources pour analyse. + +--- + +## Exécution + +L'exécution des commandes doit se faire ici: `/test/stressTest` + +### Directe + +```bash +node main.js +``` +- Node.js doit être installé. +- Modifiez les variables dans main.js. + +### Docker + +```bash +docker-compose up +``` +- Docker doit être installé. +- Configurez un fichier .env. + + +## Variables d’Environnement + +Les variables sont définies dans un fichier `.env` : + +- **BASE_URL** : URL à tester. +- **USER_EMAIL**, **USER_PASSWORD** : Identifiants pour créer et gérer les salles. +- **NUMBER_ROOMS** : Nombre de salles. +- **USERS_PER_ROOM** : Nombre d’étudiants par salle. + +### Variables Optionnelles +- **MAX_MESSAGES_ROUND** : Nombre maximum de messages par cycle. +- **CONVERSATION_INTERVAL** : Délai (ms) entre les messages. +- **MESSAGE_RESPONSE_TIMEOUT** : Délai (ms) avant de considérer un message sans réponse. +- **BATCH_DELAY** : Délai (ms) entre les envois par lots. +- **BATCH_SIZE** : Taille des lots de messages. + +--- + +## Résultats Collectés + +### Métriques +- **Salles créées / échouées** +- **Utilisateurs connectés / échoués** +- **Messages tentés, envoyés, reçus** + +### Rapports +- **JSON** : Pour analyse automatisée. +- **Rapport texte** : Résumé lisible. +- **Graphiques** *(via ChartJS)* : + - **CPU**, **mémoire**, **charge**. + + +### Exemple graphique: + +![ Exemple graphique](./test-charge-output.png) \ No newline at end of file