-
Notifications
You must be signed in to change notification settings - Fork 2
Testing
Pour la réalisation des testings, nous avons décidé d'utiliser les ressources proposées par Symfony directement. C'est-à-dire que nous testons le bon fonctionnement des formulaires, des erreurs de connexion, des redirections de page, ... directement dans des sections tests apportées par Symfony 5.
Néanmoins, pour connaitre le Test Coverage, nous devrions savoir utiliser une extension PHP très importante "XDebug" qui ne fonctionne pas pour des raisons que nous ne comprenons pas encore, cependant nous pensons qu'une fois cette extension utilisable, le test coverage devrait rapidement être obtenu. Nous avons finalement réussi à résoudre les problèmes concernant XDebug et nous avons ainsi pu avoir accès à un index.html nous présentant l'avancée dans nos tests, voici un screeshot de la page test-coverage créée automatiquement avec la commande php bin/phpunit --coverage-html var/log/test/test-coverage et que nous avons utilisé dans l'avancement de nos tests.

Dans un premier temps, nous avons décidé de réaliser des tests d'unité, c'est-à-dire que nous avons vérifié que les créations de nouveaux utilisateurs ne pouvaient pas avoir lieu si les données entrées dans le formulaire d'inscription, qu'ils ne pouvaient pas modifier leurs informations avec de mauvaises entrées.
Pour entre plus dans le détail, nous avons vérifié le bon fonctionnement des champs utilisés pour l'entité "User", si celui-ci entre un chiffre dans son prénom par exemple, une erreur doit avoir lieu, s'il entre une adresse comportant à peine trois mots une erreur, de même qu'un mauvais mot de passe, ... la majorité des tests concernant cette unité ont été réalisés.
Ensuite nous avons également testé la simple réponse de page du site, comme par exemple l'envoi d'une requête GET à la page d'accueil qui se déroule sans problème, la présence de certains champs dans certaines pages, ... .
Nous avons réalisé les test End 2 End en parallèle des tests d'intégration, c'est-à-dire que nous avons vérifié les bonnes redirections après les inscriptions, les connexions, les modifications de profil, ... . Nous nous sommes ainsi placés dans la peau d'un utilisateur lambda et avons vérifié que tout fonctionnait correctement.
Nous avons par exemple vérifié le bon fonctionnement de la redirection avec message d'erreur lors d'une mauvaise connexion, avec bonne connexion, lors d'une modification de profil, ... .
En ce qui concerne les test End 2 End plus poussés, nous utiliserons Panther qui est un outil facilitant la mise en place de ces tests. Au final, cette solution pour effectuer les tests End 2 End s'est avérée plus compliquée que prévue et nous avons rencontré des problèmes.
Nous avons également utilisé l'extension "Thunder Client" qui nous permis d'effectuer des appels URL et nous permettant ainsi de visualiser les retours de ces appels.
- Doc Officielle Symfony
- Youtube, Introduction au testing avec Symfony
- Youtube, Tests End2End avec Panther
- Youtube, Test Coverage
- Github
- R2 Backlog
- R2 US Perso Arthur Schamroth
- R2 US Perso Arthur Schamroth 2
- R2 US Perso Louis Carlier
- R2 US Perso Baptiste Bemelmans
- R2 US Perso Baptiste Bemelmans 2
- R2 US Perso Nicolas Martou
- R2 US Perso Nicolas Martou 2
- R4 Choix et justification des technologies Front End
- R3/5 Choix et justification des technologies Back End
- R7 Choix et justification de la base de données
- R14/19 Sécurité