Billed
Débuggez et testez un SaaS RH
Brief mission : résumé des tâches et des livrables demandés
Ceci est un projet pour un développeur front-end qui doit intervenir sur un logiciel RH (Ressources Humaines) en tant que SaaS. Voyons comment nous pourrions aborder cela étape par étape :
1. Installation et configuration de l’environnement:
- Cloner le repo backend et frontend à partir des liens donnés.
- Installer toutes les dépendances nécessaires à l’aide de npm ou yarn.
- Assurez-vous que tout est configuré correctement en démarrant les deux applications.
2. Évaluation de la situation:
- Examiner le code et identifier où se trouvent les bugs.
- Vérifier l’état actuel des tests, en particulier pour le parcours employé, pour voir quels tests manquent.
- Regardez le rapport des bugs dans le Kanban Notion mentionné.
3. Débogage avec le Chrome Debugger:
- Utilisez Chrome Debugger pour examiner le code lors de l’exécution et identifier les erreurs ou les comportements non attendus.
- Corrigez les bugs un par un, en veillant à tester les corrections à chaque fois.
4. Écriture des tests:
- En utilisant Jest, commencez à écrire des tests pour tous les fichiers d’UI (
src/views
) et des fichiers d’UX (src/containers
). - Mettre l’accent sur le parcours employé, car c’est ce qui nécessite le plus de travail.
- Écrivez à la fois des tests unitaires (qui testent une seule unité de code à la fois, comme une fonction) et des tests d’intégration (qui testent plusieurs unités ensemble).
5. Écriture du plan de tests End-to-End:
- Utilisez le rapport de tests End-to-End comme guide pour écrire vos propres tests.
- Assurez-vous de couvrir tous les scénarios possibles pour le parcours employé, en particulier les cas limites.
6. Préparation des livrables:
- Assurez-vous que le code est poussé sur GitHub.
- Prenez des captures d’écran des rapports de tests Jest et de couverture.
- Rédigez le plan de tests End-to-End en format PDF.
- Nommez tous les fichiers conformément aux instructions.
7. Préparation de la soutenance:
- Préparez une présentation qui couvre tous les points mentionnés sous la section « Soutenance ».
- Pratiquez cette présentation pour vous assurer qu’elle dure entre 10 et 20 minutes.
8. Compétences à montrer pendant la soutenance:
- Capacité à déboguer avec le Chrome Debugger.
- Connaissance de l’écriture de tests unitaires et d’intégration avec JavaScript.
- Compréhension de la rédaction d’un plan de tests End-to-End manuel.
compétences Acquises Suite au Projet
Débogage avec Chrome Debugger :
- Utilisation efficace des outils de débogage de Chrome pour identifier et résoudre les problèmes dans le code.
- Tracer l’exécution du code, inspecter les variables et analyser les piles d’appels.
Écriture de tests unitaires avec JavaScript :
- Comprendre l’importance des tests unitaires pour garantir la fiabilité du code.
- Utiliser des bibliothèques de tests comme Jest pour rédiger des tests pour les fonctions et composants individuels.
Rédaction d'un plan de test end-to-end manuel :
- Comprendre le flux complet de l’application, de l’entrée de l’utilisateur jusqu’à l’affichage attendu ou l’action résultante.
- Anticiper les scénarios d’utilisation réels et les comportements des utilisateurs pour s’assurer que l’application fonctionne de manière fluide dans des conditions réelles.
Utilisation de l'environnement de développement GitHub :
- Mise à jour, suivi et gestion des versions du code à l’aide de Git.
- Collaboration avec d’autres développeurs et gestion des contributions.
Compréhension des architectures front-end et back-end :
- Capacité à installer, configurer et faire fonctionner à la fois le front-end et le back-end d’une application.
Utilisation efficace des bibliothèques de tests :
- Familiarité avec les outils comme Jest pour la génération de rapports de tests et de couverture.
Analyse critique et résolution de problèmes :
- Identifier les problèmes et bugs dans le code.
- Utiliser une approche systématique pour résoudre ces problèmes.
Adaptabilité :
- Travailler sur un projet commencé par quelqu’un d’autre et s’adapter à différents styles de codage ou d’architecture.