Procès-verbal de
Recette
Dictable
DJEKOUNDAKOM Providence
24/04/2024
Table des matières
Introduction ......................................................................................................................... 2
I. Approche de test......................................................................................................... 3
II. Couverture des fonctionnalités ................................................................................. 3
III. Définition des exigences ............................................................................................ 4
IV. Identification et rédaction des tests ...................................................................... 4
V. Exécution des tests .................................................................................................... 5
VI. Focus sur les bugs ................................................................................................... 5
VII. Résultats des tests non fonctionnels ................................................................... 16
1. Résultats des tests de performances .................................................................. 16
1.1. Résultat de tests de performances version Web ......................................... 16
1.2. Résultat de test de performance sur la version mobile ............................... 18
2. Réalisation des tests de sécurité sur OWASP ZAP ............................................. 20
Conclusion ........................................................................................................................ 21
Introduction
Ce Procès-Verbal de Recette a pour objet de valider la conformité et le bon
fonctionnement de l'application Dictable, une plateforme en ligne conçue pour
améliorer les compétences en orthographe et en langue par le biais de dictées.
L'objectif de cette recette est de vérifier que toutes les fonctionnalités du système
répondent aux exigences spécifiées et fonctionnent de manière adéquate.
Le présent document vise à présenter le travail qui a été réalisé dans le but de
garantir cette qualité, en présentant tout d'abord les exigences auxquelles le
système doit répondre, ensuite les tests réalisés pour évaluer que le système répond
aux différentes exigences identifiées, et enfin les anomalies identifiées afin de
pouvoir perfectionner le système.
I. Approche de test
L'approche de test que nous avons utilisé pour ce projet est basée sur une stratégie
de test complète visant à garantir la qualité et la fiabilité de la plateforme. Cette
approche comprend les étapes suivantes :
1. Analyse et définition des Exigences : Tout d’abord, nous avons identifié et définis
les exigences fonctionnelles et non fonctionnelles du système en détail pour définir
la portée des tests et identifier les fonctionnalités critiques.
2. Conception des Cas de Test : Ensuite, une série de cas de test a été élaborée pour
couvrir l'ensemble des fonctionnalités de Dictable, afin de garantir que l’ensemble
des exigences ont bien été respecté.
3. Création de Jeux de Données : Des jeux de données ont été créés pour chaque
scénario de test pour garantir une couverture complète des différentes conditions et
situations possibles.
Pour le choix des jeux de données, nous avons utilisé des méthodes comme la
partition d’équivalence ainsi que l’analyse des valeurs limites pour sélectionner des
catégories de données représentant le plus grand nombre de cas possibles.
4. Exécution des Tests : Les tests ont été exécutés de manière exhaustive pour
vérifier le bon fonctionnement de chaque fonctionnalité de Dictable, en utilisant une
combinaison de méthodes manuelles et automatisées.
5. Identification et Suivi des Anomalies : Tout au long du processus de test, les
anomalies ont été identifiées, documentées et remontées dans ce document.
Cette approche de test rigoureuse vise à garantir que Dictable répond aux attentes
des utilisateurs en termes de fonctionnalités, de performances, de sécurité et de
convivialité.
II. Couverture des fonctionnalités
Ces activités de tests qui ont été réalisées ont permis de couvrir les grandes
fonctionnalités suivantes :
o Authentification
o Internationalisation
o Gestion de compte et de profil
o Filtrage et recherche de dictées
o Participation aux concours et intégration de classes
o Réalisation de dictée
o Abonnement et paiement
o Sécurité et performance
III. Définition des exigences
Plusieurs exigences doivent être respectées par le système afin de répondre aux
besoins des utilisateurs. À cet effet, 27 exigences ont été identifiées, parmi
lesquels :
o 6 exigences mineures ;
o 11 exigences majeures ;
o 10 exigences critiques ;
Note : Les exigences ont été identifiées et gérés sur Squash TM, se référer aux
projets Dictable créé sur Squash TM.
IV. Identification et rédaction des
tests
A la suite de tout cela, des tests ont été mis en place pour évaluer la conformité du
système par rapport à ces exigences. Ces tests ont permis de vérifier chaque
fonctionnalité et de s'assurer que le système fonctionne comme prévu. En cas de
non-conformité, des anomalies ont été relevées et documentées pour permettre leur
correction ultérieure.
Au total, plus de 61 cas de tests ont été définis afin d’évaluer chaque aspect du
système. Ces cas de tests ont été rédigés en Gherkin et réparties en fonction de
leurs importances : faible, moyenne, haute, très haute.
o 18 cas de tests d’importances faibles ;
o 14 cas de tests d’importance moyenne ;
o 14 cas de tests d’importance haute ;
o 15 cas de tests d’importance très haute ;
Note : Les cas de tests ont été identifiées et gérés sur Squash TM, se référer aux
projets Dictable créé sur Squash TM pour plus de détails.
V. Exécution des tests
La phase d'exécution des tests pour le projet Dictable a impliqué la mise en place et
la réalisation de plusieurs campagnes de tests. Chaque campagne de test a été
conçue pour couvrir des aspects spécifiques de la plateforme, afin d'assurer une
validation complète des fonctionnalités.
Les campagnes de tests suivantes ont été mise en place :
o Campagne de Test de Non-Régression
o Campagne de tests non fonctionnels
o Campagne Authentification et habilitation
o Campagne de test configuration globale, menu et navigation
o Campagne de test gestion de compte et profils
o Campagne de test : Processus participation aux concours et intégration de
classe(institution)
o Campagne de test Processus complet de Recherche et Réalisation de dictée
Toutes ces campagnes ont été gérées sur Squash TM, permettant une gestion
efficace et une traçabilité des résultats.
VI. Focus sur les bugs
A la fin de de l’exécution des différentes campagnes, nous avons identifiés les
anomalies qui sont répertoriées dans le présent document afin d’envisager des
corrections ultérieures du système.
Au total 9 bugs ont été identifiés par lesquels :
o 6 de sévérité mineure ;
o 2 de sévérité majeure ;
o 1 de sévérité bloquante ;
Sévérité Mineure
Description Quelques messages d’erreurs sont affichés en anglais alors que l’on
utilise la plateforme en français (vice versa).
Référence au CDT CDT01.4
Etape • Allez à l’url [Link]
• Assurez vous que la plateforme soit bien chargée en Français.
• Cliquer sur le bouton « Connexion » pour aller à l’onglet
d’authentification.
• Connectez-vous avec les accès suivants : E-mail :
« unexist@[Link] » et « passpass ».
Résultats Observés La connexion échoue et un message d’erreur est affiché en Anglais.
Résultats attendus La connexion doit échouer et un message d’erreur devrait être affiché à
l’utilisateur en Français.
Environnement Web, Mobile
URL [Link]
Datasets Email : unexist@[Link] » et Mot de passe : passpass
Preuve :
Sévérité
Majeure
Description La session de connexion n’expire pas, même après un certain temps
d’inactivité.
Référence au CDT CDT01.11
Etape • Allez à l’url [Link]
• Connectez-vous avec les accès suivants : E-mail :
« djek@[Link] » et « 1234AZER ».
• Laisser la plateforme inactive mais sans la fermée au moins
24heures.
• Revenez sur la plateforme et réaliser une action qui nécessite
d’être connecté comme par exemple, consultée une dictée à l’url
Résultats Observés L’utilisateur n’est pas déconnecté et peut avoir accès aux dictées
Résultats attendus L’utilisateur devrait être automatiquement déconnecté et ne devrait plus
avoir accès aux dictées.
Environnement Web, Mobile
URL [Link]
Datasets Email : djek@[Link] et Mot de passe : 1234AZER
Preuve :
L’utilisateur étant connecté et sur la page des dictées, à la date du 15/05/2024 à 10 :
29. Plus de 24h plus tard sans aucune activité sur cet onglet ayant la session en court,
La session n’est pas expirée et l’utilisateur est toujours connecté (A la date du
16/05/2024 à 14 :50).
Sévérité Bloquante
Description Le lien de réinitialisation de mot de passe n’est pas envoyé à l’adresse de
l’utilisateur lors de la réinitialisation d’un mot de passe.
Référence au CDT CDT01.8
Etape • Allez à l’url [Link]
• Cliquez sur l’option « Mot de passe oublié »
• Renseignez l’adresse mail « djek@[Link] » et validez
• Rendez-vous dans votre boîte de réception mail
• Vérifier si vous avez réussi un email de réinitialisation.
Résultats Observés L’utilisateur ne reçoit pas le mail de réinitialisation.
Résultats attendus L’utilisateur devrait recevoir un lien de réinitialisation par mail afin de
créer un nouveau mot de passe.
Environnement Web, Mobile
URL [Link]
Datasets Email : djek@[Link]
Preuve :
Sévérité Majeure
Description Le message d’erreur pour la réinitialisation de mot de passe d’un compte
inexistant n’est pas adéquat.
Référence au CDT CDT01.10
Etape • Allez à l’url [Link]
• Cliquez sur l’option « Mot de passe oublié »
• Renseignez l’adresse mail « yasmine@[Link] » et validez
Résultats Observés L’utilisateur est notifié par le message suivant « Le lien de réinitialisation
du mot de passe sera envoyé à l’adresse électronique fournie »
Résultats attendus Le message d’erreur doit indiquer clairement à l’utilisateur qu’un compte
n’existe pas avec cette adresse mail.
Environnement Web, Mobile
URL [Link]
Datasets Email : yasmine@[Link]
Preuve :
Sévérité Mineure
Description Un lien externe ne s’ouvre pas dans un nouvel onglet
Référence au CDT CDT02.1
Etape • Allez à l’url [Link]
• Cliquez sur l’option « KITS PRESSES »
Résultats Observés Le lien est un lien externe et ne s’ouvre pas un nouvel onglet, comme les
autres.
Résultats attendus Le lien devrait s’ouvrir dans un nouvel onglet afin de maintenir toujours
l’utilisateur sur la plateforme.
Environnement Web, Mobile
URL [Link]
Datasets
Preuve :
Sévérité Mineure
Description Le lien LinkedIn du pied de la page ne renvoie pas vers la page LinkedIn
de Dictable
Référence au CDT CDT02.1
Etape • Allez à l’url [Link]
• Scrollez vers le bas de la page
• Cliquez sur le média social « LinkedIn»
Résultats Observés Le lien ne renvoie pas vers la page LinkedIn de Dictable mais de WAKKEH.
Résultats attendus Le lien doit rediriger l’utilisateur vers la page LinkedIn de Dictable.
Environnement Web, Mobile
URL [Link]
Datasets
Preuve :
Sévérité Mineure
Description Une erreur d’orthographe sur la bannière de la chaîne YouTube.
Référence au CDT CDT02.1
Etape • Allez à l’url [Link]
• Scrollez vers le bas de la page
• Cliquez sur le média social « YouTube »
• Allez à l’onglet qui vient de s’ouvrir à côté
Résultats Observés La bannière affichée sur la chaîne YouTube contient une typo sur le mot
« Inteligent »
Résultats attendus Dictable étant un site d'éducation, il est impératif que tout son contenu
soit parfaitement structuré et dépourvu de fautes, en particulier sur les
éléments visibles tels que les bannières et autres éléments graphiques.
Environnement Web, Mobile
URL [Link]
Datasets
Preuve :
Sévérité
Mineure
Description La recherche des dictées ne renvoie pas toutes les dictées ayant le titre
contenant le terme recherché.
Référence au CDT CDT02.1
Etape • Allez à l’url [Link]
• Connectez-vous avec les accès suivants : Email :
provitest@[Link] et Mot de passe : 1234AZER
• Cliquez sur l’icône pour effectuer une recherche, et rechercher le
terme « Je fais un rêve »
Résultats Observés Le résultat de recherche ne comporte pas toutes les dictées ayant le titre
« Je fais un rêve ». Il ne comporte que 8 dictées au lieu de 14.
Résultats attendus Le résultat de la recherche doit comporter toutes les 14 dictées
comportant le titre « Je fais un rêve ». L’application doit pouvoir proposer
un système de pagination au cas le résultat d’une recherche se trouve
être très volumineux afin d’éviter tout problème de ralentissement.
Environnement Web
URL [Link]
Datasets Email : provitest@[Link] ; Mot de passe : 1234AZER ; Terme
recherché : « Je fais un rêve »
Preuve :
Sévérité Mineure
Description Les mauvaises données affectées aux paramètres d’url ne sont pas bien
gérées.
Référence au CDT CDT07.4
Etape • Allez à l’url [Link]
• Connectez-vous avec les accès suivants : Email : djek@[Link] et
Mot de passe : 1234AZER
• Affecter les valeurs suivantes aux paramètres de l’URL
[Link]
Résultats Observés L'application traite la valeur comme un paramètre et filtre les dictées en
fonction de ce paramètre.
Résultats attendus L'utilisateur ne devrait pas pouvoir insérer des valeurs de paramètres qui
n'existent pas. Dans ce cas, l'application devrait les rejeter et renvoyer une page
d'erreur 404.
Environnement Web, Mobile
URL [Link]
Datasets academic_level=<h1>Test</h1>
Preuve :
VII. Résultats des tests non
fonctionnels
Une partie des tests non fonctionnels ont été réalisés en utilisant des outils
spécifiques pour cela.
1. Résultats des tests de performances
Pour la réalisation des tests de performances, nous avons utilisé PageSpeed
Insights, un outil de Google permettant d’analyser un site et de ressortir plusieurs
indicateurs (en plus de la performance). L’analyse donc de l’application présente les
résultats suivants :
1.1. Résultat de tests de performances version Web
Interprétation :
o Performances 45% : Montre que l’application présente des problèmes de
vitesse et de temps de chargement. Des optimisations sont nécessaires pour
améliorer l'expérience utilisateur.
o Accessibilité 96% : Ce score élevé suggère que la page est bien conçue pour
être accessible à un large public, en tenant compte des besoins des
utilisateurs handicapés.
o Bonnes pratiques 93% : Le site suit la plupart des recommandations pour un
développement web moderne et sécurisé. Quelques ajustements mineurs
peuvent encore être faits.
o SEO 100% : Le site est parfaitement optimisé pour les moteurs de recherche,
ce qui améliore sa visibilité et son classement.
Focus sur le test de performance
Interprétation du résultat :
o First Contentful Paint (FCP) 0,6s : Le contenu initial de la page se charge
rapidement, offrant une première indication de performance positive pour
l'utilisateur.
o Largest Contentful Paint (LCP) 3,6s : Le principal contenu de la page prend
plus de temps à charger, ce qui peut affecter la perception de la vitesse du
site. Idéalement, cela devrait être en dessous de 2,5 secondes.
o Total Blocking Time (TBT) 1 080 ms : Temps total pendant lequel l'utilisateur
a été empêché d'interagir avec la page en raison du chargement et de
l'exécution de scripts. Réduire le TBT en dessous de 300 ms est
recommandé.
o Cumulative Layout Shift (CLS) 0.073 : Le décalage cumulé de mise en page
est faible, ce qui signifie que les éléments de la page se stabilisent
rapidement et offrent une expérience utilisateur stable.
o Speed Index 2,4 s : Mesure de la vitesse à laquelle le contenu de la page est
visuellement affiché aux utilisateurs. Un index de vitesse bas indique que le
contenu apparaît rapidement à l'écran, ce qui est essentiel.
1.2. Résultat de test de performance sur la version mobile
2. Réalisation des tests de sécurité sur OWASP ZAP
Afin d’identifier les failles de sécurité possible pouvant exister sur l’application, nous
avons également lancé un scan avec l’outils OWASP ZAP. Ce scan de sécurité a
soumis le système à plusieurs types d’attaque afin d’évaluer la robustesse de celui-
ci. Aucune vulnérabilité de haute importance n’a été identifié, cependant, nous avons
néanmoins identifié des failles mineures qui peuvent être corriger afin de garantir
une meilleure qualité. Ci-dessous la liste des failles mineures détectées grâce à ce
scan :
1. Content Security Policy (CSP) Header Not Set (Politique de sécurité de contenu
non définie)
Description : L'en-tête CSP n'est pas défini. Cela peut permettre à des attaquants
d'injecter des scripts malveillants.
2. Strict-Transport-Security Header Not Set (En-tête Strict-Transport-Security non
défini)
Description : L'absence de cet en-tête peut permettre à des attaquants d'exploiter
des communications non sécurisées.
3. Cross-Domain JavaScript Source File Inclusion (Inclusion de fichier JavaScript
cross-domain)
Description : Inclusion de fichiers JavaScript provenant de domaines différents, ce
qui peut présenter des risques de sécurité si ces sources ne sont pas fiables.
4. X-Content-Type-Options Header Missing (En-tête X-Content-Type-Options
manquant)
Description : L'absence de cet en-tête peut permettre à des attaquants d'exécuter
des scripts avec des types de contenu incorrects.
Conclusion
Sur la base des résultats de la recette, le système Dictable est considéré comme
apte à être mis en production. Bien que quelques anomalies mineures aient été
identifiées lors des tests, telles que des erreurs de validation de formulaire mineures
et des incohérences dans les messages d'erreur, celles-ci n'ont pas d'impact majeur
sur la fonctionnalité globale du système. Ces anomalies ont été notées et seront
corrigées dans une version ultérieure du logiciel, garantissant ainsi une expérience
utilisateur optimale.