Ajout de 5 nouveaux scénarios pour couvrir les cas non testés : - Désabonnement créateur (-5% sur tous ses tags) - Skip à 30% avec like auto standard déjà appliqué - Skip tardif entre 30% et 79% (neutre après like auto) - Désabonnement avec borne minimale (ne descend pas sous 0%) - Écoute entre 10s et 30% (ni pénalité ni bonus) Ces scénarios complètent les règles métier 03 (centres d'intérêt et jauges) et clarifient les comportements limites du système de recommandation.
238 lines
10 KiB
Gherkin
238 lines
10 KiB
Gherkin
# language: fr
|
|
Fonctionnalité: Évolution des jauges d'intérêt
|
|
En tant que système de recommandation
|
|
Je veux faire évoluer les jauges d'intérêt selon les actions utilisateur
|
|
Afin d'affiner les recommandations personnalisées
|
|
|
|
Contexte:
|
|
Étant donné que l'API RoadWave est disponible
|
|
Et qu'un utilisateur est connecté
|
|
|
|
Scénario: Like automatique renforcé après écoute ≥80%
|
|
Étant donné qu'un contenu de 5 minutes est tagué "Automobile"
|
|
Et que ma jauge "Automobile" est à 45%
|
|
Quand j'écoute le contenu pendant 4 minutes 30 secondes (90%)
|
|
Alors je reçois un like automatique renforcé
|
|
Et ma jauge "Automobile" augmente de 2%
|
|
Et ma jauge "Automobile" est maintenant à 47%
|
|
|
|
Scénario: Like automatique renforcé exactement à 80%
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Voyage"
|
|
Et que ma jauge "Voyage" est à 60%
|
|
Quand j'écoute le contenu pendant exactement 8 minutes (80%)
|
|
Alors je reçois un like automatique renforcé
|
|
Et ma jauge "Voyage" augmente de 2%
|
|
Et ma jauge "Voyage" est maintenant à 62%
|
|
|
|
Scénario: Like automatique standard après écoute 30-79%
|
|
Étant donné qu'un contenu de 5 minutes est tagué "Automobile"
|
|
Et que ma jauge "Automobile" est à 45%
|
|
Quand j'écoute le contenu pendant 2 minutes 30 secondes (50%)
|
|
Alors je reçois un like automatique standard
|
|
Et ma jauge "Automobile" augmente de 1%
|
|
Et ma jauge "Automobile" est maintenant à 46%
|
|
|
|
Scénario: Like automatique standard à 30% exactement
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Musique"
|
|
Et que ma jauge "Musique" est à 40%
|
|
Quand j'écoute le contenu pendant exactement 3 minutes (30%)
|
|
Alors je reçois un like automatique standard
|
|
Et ma jauge "Musique" augmente de 1%
|
|
|
|
Scénario: Like automatique standard à 79%
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Sport"
|
|
Et que ma jauge "Sport" est à 55%
|
|
Quand j'écoute le contenu pendant 7 minutes 54 secondes (79%)
|
|
Alors je reçois un like automatique standard
|
|
Et ma jauge "Sport" augmente de 1%
|
|
Et ma jauge "Sport" est maintenant à 56%
|
|
|
|
Scénario: Like explicite (manuel) +2%
|
|
Étant donné qu'un contenu est tagué "Économie"
|
|
Et que ma jauge "Économie" est à 70%
|
|
Quand j'écoute le contenu partiellement
|
|
Et que je clique manuellement sur le bouton "Like"
|
|
Alors ma jauge "Économie" augmente de 2%
|
|
Et ma jauge "Économie" est maintenant à 72%
|
|
|
|
Scénario: Like manuel cumulable avec like automatique
|
|
Étant donné qu'un contenu de 5 minutes est tagué "Automobile"
|
|
Et que ma jauge "Automobile" est à 45%
|
|
Quand j'écoute le contenu pendant 2 minutes 30 secondes (50%)
|
|
Alors je reçois un like automatique standard (+1%)
|
|
Quand je clique ensuite sur le bouton "Like"
|
|
Alors ma jauge augmente encore de 2% (like manuel)
|
|
Et ma jauge "Automobile" a augmenté de 3% au total
|
|
Et ma jauge "Automobile" est maintenant à 48%
|
|
|
|
Scénario: Abonnement créateur impacte tous ses tags
|
|
Étant donné qu'un créateur publie des contenus tagués "Automobile" et "Technologie"
|
|
Et que mes jauges sont:
|
|
| catégorie | niveau |
|
|
| Automobile | 50% |
|
|
| Technologie | 45% |
|
|
Quand je m'abonne à ce créateur
|
|
Alors ma jauge "Automobile" augmente de 5%
|
|
Et ma jauge "Technologie" augmente de 5%
|
|
Et mes nouvelles jauges sont:
|
|
| catégorie | niveau |
|
|
| Automobile | 55% |
|
|
| Technologie | 50% |
|
|
|
|
Scénario: Désabonnement créateur retire les bonus de tous ses tags
|
|
Étant donné qu'un créateur publie des contenus tagués "Voyage" et "Culture générale"
|
|
Et que mes jauges sont:
|
|
| catégorie | niveau |
|
|
| Voyage | 65% |
|
|
| Culture générale | 58% |
|
|
Et que je suis abonné à ce créateur
|
|
Quand je me désabonne de ce créateur
|
|
Alors ma jauge "Voyage" diminue de 5%
|
|
Et ma jauge "Culture générale" diminue de 5%
|
|
Et mes nouvelles jauges sont:
|
|
| catégorie | niveau |
|
|
| Voyage | 60% |
|
|
| Culture générale | 53% |
|
|
|
|
Scénario: Skip rapide (<10s) diminue la jauge
|
|
Étant donné qu'un contenu est tagué "Économie"
|
|
Et que ma jauge "Économie" est à 45%
|
|
Quand je skip le contenu après 5 secondes
|
|
Alors ma jauge "Économie" diminue de 0.5%
|
|
Et ma jauge "Économie" est maintenant à 44.5%
|
|
|
|
Scénario: Skip à exactement 10s ne diminue pas la jauge
|
|
Étant donné qu'un contenu est tagué "Politique"
|
|
Et que ma jauge "Politique" est à 50%
|
|
Quand je skip le contenu après exactement 10 secondes
|
|
Alors ma jauge "Politique" ne change pas
|
|
Et reste à 50%
|
|
|
|
Scénario: Skip à exactement 30% déclenche like auto puis skip neutre
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Musique"
|
|
Et que ma jauge "Musique" est à 60%
|
|
Quand j'écoute pendant 3 minutes (30%)
|
|
Alors je reçois un like automatique standard (+1%)
|
|
Quand je skip ensuite
|
|
Alors ma jauge "Musique" ne diminue pas (signal neutre)
|
|
Et ma jauge "Musique" est maintenant à 61% (like auto déjà appliqué)
|
|
|
|
Scénario: Skip tardif entre 30% et 79% ne diminue pas la jauge
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Sport"
|
|
Et que ma jauge "Sport" est à 55%
|
|
Quand j'écoute pendant 5 minutes (50%)
|
|
Alors je reçois un like automatique standard (+1%)
|
|
Et ma jauge "Sport" est maintenant à 56%
|
|
Quand je skip après avoir écouté 50%
|
|
Alors ma jauge "Sport" ne diminue pas
|
|
Et reste à 56%
|
|
|
|
Scénario: Contenu avec plusieurs tags impacte toutes les jauges
|
|
Étant donné qu'un contenu est tagué "Automobile" et "Voyage"
|
|
Et que mes jauges sont:
|
|
| catégorie | niveau |
|
|
| Automobile | 45% |
|
|
| Voyage | 60% |
|
|
Quand j'écoute le contenu à 90%
|
|
Alors les deux jauges augmentent de 2%
|
|
Et mes nouvelles jauges sont:
|
|
| catégorie | niveau |
|
|
| Automobile | 47% |
|
|
| Voyage | 62% |
|
|
|
|
Scénario: Contenu avec 3 tags impacte les 3 jauges
|
|
Étant donné qu'un contenu est tagué "Sport", "Santé" et "Technologie"
|
|
Et que mes jauges sont à 50% pour chaque catégorie
|
|
Quand je skip rapidement après 5 secondes
|
|
Alors les 3 jauges diminuent de 0.5%
|
|
Et toutes passent à 49.5%
|
|
|
|
Scénario: Jauges bornées - ne peut pas dépasser 100%
|
|
Étant donné que ma jauge "Cryptomonnaie" est à 99%
|
|
Et qu'un contenu tagué "Cryptomonnaie" est disponible
|
|
Quand j'écoute le contenu à 95% (like auto renforcé +2%)
|
|
Alors ma jauge "Cryptomonnaie" passe à 100% (maximum)
|
|
Et ne dépasse pas 100%
|
|
|
|
Scénario: Jauges bornées - ne peut pas descendre sous 0%
|
|
Étant donné que ma jauge "Politique" est à 0.3%
|
|
Et qu'un contenu tagué "Politique" est disponible
|
|
Quand je skip rapidement après 3 secondes (-0.5%)
|
|
Alors ma jauge "Politique" passe à 0% (minimum)
|
|
Et ne devient pas négative
|
|
|
|
Scénario: Désabonnement avec jauge proche de 0% respecte la borne
|
|
Étant donné qu'un créateur publie des contenus tagués "Économie"
|
|
Et que ma jauge "Économie" est à 3%
|
|
Et que je suis abonné à ce créateur
|
|
Quand je me désabonne de ce créateur
|
|
Alors ma jauge "Économie" devrait diminuer de 5%
|
|
Mais elle passe à 0% (minimum respecté)
|
|
Et ne devient pas négative
|
|
|
|
Scénario: Écoute entre 10s et 30% n'impacte pas la jauge
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Santé"
|
|
Et que ma jauge "Santé" est à 50%
|
|
Quand j'écoute pendant 2 minutes (20%)
|
|
Et que je skip ensuite
|
|
Alors ma jauge "Santé" ne change pas
|
|
Et reste à 50%
|
|
Car l'écoute est entre 10s (pas de pénalité) et 30% (pas de like auto)
|
|
|
|
Scénario: Calcul immédiat à chaque action
|
|
Étant donné que ma jauge "Voyage" est à 50%
|
|
Quand j'écoute un contenu "Voyage" à 85%
|
|
Alors la jauge est mise à jour immédiatement (pas de batch)
|
|
Et passe à 52%
|
|
Quand je demande mes recommandations dans la seconde suivante
|
|
Alors l'algorithme utilise déjà la valeur 52%
|
|
|
|
Scénario: Like manuel après écoute <30% (pas de like auto)
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Culture"
|
|
Et que ma jauge "Culture" est à 60%
|
|
Quand j'écoute pendant 2 minutes (20%)
|
|
Alors je ne reçois pas de like automatique
|
|
Quand je clique sur le bouton "Like"
|
|
Alors ma jauge "Culture" augmente de 2% uniquement
|
|
Et ma jauge "Culture" est maintenant à 62%
|
|
|
|
Scénario: Unlike retire le like manuel
|
|
Étant donné que j'ai liké manuellement un contenu "Sport"
|
|
Et que ma jauge "Sport" est passée de 55% à 57% (+2%)
|
|
Quand je clique sur "Unlike"
|
|
Alors ma jauge "Sport" diminue de 2%
|
|
Et ma jauge "Sport" revient à 55%
|
|
|
|
Scénario: Unlike ne peut pas retirer un like automatique
|
|
Étant donné que j'ai écouté un contenu "Musique" à 90%
|
|
Et que j'ai reçu un like automatique renforcé (+2%)
|
|
Et que ma jauge "Musique" est à 52%
|
|
Quand j'essaie de faire "Unlike"
|
|
Alors l'action n'est pas disponible
|
|
Et ma jauge reste à 52%
|
|
Car les likes automatiques ne peuvent pas être retirés
|
|
|
|
Scénario: Tags définis par créateur à la publication
|
|
Étant donné que je suis un créateur
|
|
Quand je publie un contenu
|
|
Alors je dois sélectionner 1 à 3 tags
|
|
Et ces tags sont fixés après publication
|
|
Et impacteront les jauges de tous les auditeurs
|
|
|
|
Plan du Scénario: Calculs avec différentes durées d'écoute
|
|
Étant donné qu'un contenu de 10 minutes est tagué "Voyage"
|
|
Et que ma jauge "Voyage" est à 50%
|
|
Quand j'écoute pendant <duree> (<pourcentage>)
|
|
Alors ma jauge évolue de <impact>
|
|
Et ma nouvelle jauge est à <nouveau_niveau>
|
|
|
|
Exemples:
|
|
| duree | pourcentage | impact | nouveau_niveau |
|
|
| 1 min | 10% | 0% | 50% |
|
|
| 3 min | 30% | +1% | 51% |
|
|
| 5 min | 50% | +1% | 51% |
|
|
| 7.9 min | 79% | +1% | 51% |
|
|
| 8 min | 80% | +2% | 52% |
|
|
| 9.5 min | 95% | +2% | 52% |
|
|
| 5 sec | <1% | -0.5% | 49.5% |
|