Bugs trouvés dans Workdeck SaaS

Workdeck

Workdeck est une plateforme tout-en-un conçue pour rationaliser les flux de travail et booster la productivité. Ce service regroupe les outils de travail quotidiens afin d’améliorer la coordination et la facilité d’utilisation. Les fonctionnalités complètes de Workdeck comprennent des outils de collaboration en temps réel, un espace de travail partagé, la gestion des tâches, la planification de réunions et un espace de stockage intégré pour répondre aux besoins des entreprises modernes. La plateforme soutient également les équipes à distance en favorisant les liens et la communication au-delà des frontières. L’équipe de QAwerk a mené une analyse approfondie des bugs de Workdeck et a identifié plusieurs problèmes, principalement liés aux messages d’erreur. Nous vous invitons à consulter nos conclusions afin de mieux comprendre les fonctionnalités de la plateforme.

La case à cocher « Timesheet » provoque une erreur de validation du schéma

Gravité :

Critical

Condition préalable :
  1. L’utilisateur est connecté à l’application.
  2. L’utilisateur modifie un projet existant.
Étapes de reproduction :

Cochez la case « Timesheet ».

Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Lorsque l’utilisateur coche la case « Timesheet », l’appel à l’API échoue avec le code d’erreur 409 Conflict. L’interface utilisateur affiche un message d’erreur de validation brut et non formaté : « Valeur invalide « true » fournie à … timesheet : nombre … ».

Résultat attendu :

Coche la case « Feuille de temps » devrait enregistrer ce paramètre dans le projet ; aucune erreur ne devrait s’afficher.

La case à cocher « Timesheet » provoque une erreur de validation du schéma

L’utilisateur dont le compte a été supprimé en cours de session voit s’afficher le message brut « Erreur inattendue » (501) au lieu d’être déconnecté

Gravité :

Critical

Condition préalable :
  1. L’utilisateur 1 (administrateur) crée un nouveau compte nommé « Utilisateur 2 » dans l’onglet « Utilisateurs ».
  2. L’utilisateur 2 se connecte ensuite et dispose d’une session active.
Étapes de reproduction :
  1. Accédez à la section « Paramètres » en tant qu’utilisateur 1,
  2. passez à l’onglet « Utilisateurs ».
  3. Ouvrez « Détails de l’utilisateur 2 ».
  4. Cliquez sur le bouton « Supprimer l’utilisateur ».
  5. En tant qu’utilisateur 2 (toujours dans la session active), effectuez n’importe quelle action dans l’application.
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Un message d’erreur brut s’affiche : « Erreur ! Erreur inattendue ».
La console affiche : GET https://api.workdeck.com/quer… [HTTP/1.1 501 Not Implemented]
Corps de la réponse : { _type: « NOT_IMPLEMENTED », _updatedAt: …, _validationErrors: undefined, _dbErrors: [1] […], _mockErrors: undefined, _code: 501 }.

Résultat attendu :

Dès que le backend détecte que la session appartient à un utilisateur supprimé ou inexistant, l’application doit déconnecter l’utilisateur de manière élégante et le rediriger vers l’écran de connexion.

L’utilisateur dont le compte a été supprimé en cours de session voit s’afficher le message brut « Erreur inattendue » (501) au lieu d’être déconnecté

Cliquer sur le bouton « Fermer » d’une tâche redirige vers une URL mal formée ou à double encodage, ce qui entraîne l’affichage d’une page 404

Gravité :

Critical

Condition préalable :

L’utilisateur est connecté à l’application.

Étapes de reproduction :
  1. Accédez à l’onglet « Heure ».
  2. Accédez à l’onglet « Mon calendrier ».
  3. Cliquez sur le lien « Ici » dans la section de création d’une nouvelle tâche.
  4. Vérifiez que l’utilisateur est redirigé vers l’onglet « Mes tâches ».
  5. Remplissez les champs obligatoires, par exemple « Titre de la tâche ».
  6. Cliquez sur le bouton « Enregistrer ».
  7. Cliquez sur le bouton « Fermer ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Après avoir cliqué sur le bouton « Fermer », le navigateur accède à une URL mal formée contenant des paramètres de requête encodés intégrés dans le chemin d’accès. La page affiche un message d’erreur 404 générique : « Désolé, la page que vous avez demandée est introuvable. » La console affiche les erreurs suivantes : ObjectUnsubscribedError (×2), déconnexion du client io.

Résultat attendu :

Cliquer sur le bouton « Fermer » devrait ramener l’utilisateur à l’écran « Mon calendrier » d’où il venait, avec une URL valide et correctement formatée.

L’onglet « Profil de voyage » affiche le message d’erreur « Entité introuvable » et ne se charge pas

Gravité :

Critical

Condition préalable :

L’utilisateur est connecté à l’application.

Étapes de reproduction :
  1. Accédez à la section « Mon profil ».
  2. Passez à l’onglet « Profil de voyage ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Un message d’erreur rouge s’affiche : « Erreur ! Entité introuvable ». La zone de contenu de la page reste vide.

Résultat attendu :

L’onglet « Profil de voyage » devrait se charger sans erreur, en affichant soit vos informations de voyage existantes, soit un message clair vous invitant à les configurer.

L’onglet « Profil de voyage » affiche le message d’erreur « Entité introuvable » et ne se charge pas

L'option « Activer les projets » s'affiche toujours dans un projet publié, mais ne produit aucun effet visible lorsqu'on clique dessus

Gravité :

Major

Condition préalable :
  1. L’utilisateur est connecté à l’application.
  2. Un projet publié existe.
Étapes de reproduction :
  1. Accédez à l’onglet « Travail ».
  2. Vérifiez que l’onglet « Projet » est ouvert.
  3. Sélectionnez le filtre « Projets actifs ».
  4. Cochez un projet actif.
  5. Vérifiez les boutons d’action affichés après avoir coché la case.
  6. Cliquez sur le bouton « Activer les projets ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

L’action « Activer les projets » s’affiche pour un projet déjà activé. Cliquer sur le bouton ne provoque aucune réaction, erreur ou confirmation. Les boutons « Activer/Désactiver » disparaissent complètement de l’écran sans aucune explication.

Résultat attendu :

Le bouton « Activer le projet » ne devrait pas s’afficher pour un projet déjà activé.

Cliquer sur « Créer une politique » alors que le champ « Nom de la politique » est vide envoie des requêtes API en double et affiche le message d’erreur brut « Requête non valide » au lieu de la validation du champ

Gravité :

Major

Condition préalable :

L’utilisateur est connecté à l’application.

Étapes de reproduction :
  1. Accédez à « Paramètres » → « Politiques ».
  2. Ouvrez la « Nouvelle politique de dépenses ».
  3. Laissez le champ « Nom de la politique » vide.
  4. Définissez une valeur pour le « Paramètre d’approbation » (par exemple, 10 EUR).
  5. Cliquez sur le bouton « Créer une politique ».
  6. Observez le résultat.
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Deux requêtes POST identiques sont envoyées ; toutes deux renvoient le code 400 (Bad Request) avec {_type: “INVALID_REQUEST”, …}.
Deux messages d’erreur identiques « Erreur ! Requête non valide » s’affichent à l’écran. Le message d’erreur n’indique pas que le problème est spécifiquement lié à l’absence du « Nom de la politique » ; l’utilisateur doit donc deviner la cause.

Résultat attendu :

Le système devrait détecter immédiatement l’absence du « Nom de la politique » et empêcher l’envoi du formulaire, en affichant un message clair à côté du champ (par exemple, « Le nom de la politique est obligatoire ») afin que l’utilisateur sache exactement ce qu’il doit corriger.

Cliquer sur « Créer une politique » alors que le champ « Nom de la politique » est vide envoie des requêtes API en double et affiche le message d’erreur brut « Requête non valide » au lieu de la validation du champ

Le message d’avertissement dans le champ « Heures allouées à la tâche » est illisible (il affiche la clé brute non traduite au lieu d’une indication)

Gravité :

Major

Condition préalable :
  1. L’utilisateur est connecté à l’application.
  2. Une tâche a été créée.
Étapes de reproduction :
  1. Accédez à une tâche existante.
  2. Saisissez une valeur dans le champ « Heures allouées à la tâche » situé à côté des champs « Formulaire/À ».
  3. Définissez le champ « Heures allouées à la tâche » (côté gauche) sur une valeur inférieure aux « Heures allouées » déjà définies pour un participant (côté droit).
  4. Passez la souris sur l’indice rouge qui apparaît à côté du champ « Heures allouées à la tâche ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Le texte suivant s’affiche dans l’info-bulle :
« work.projects.edit.mainDetails.allocatedHoursWarni ».

Résultat attendu :

Le message d’avertissement devrait afficher un texte lisible et compréhensible expliquant le problème.

Le message d’avertissement dans le champ « Heures allouées à la tâche » est illisible (il affiche la clé brute non traduite au lieu d’une indication)

La boîte de dialogue de confirmation « Annuler les modifications » s’affiche lors de l’annulation, même si aucune modification n’a été apportée au projet

Gravité :

Minor

Condition préalable :
  1. L’utilisateur est connecté à l’application.
  2. L’utilisateur a créé un projet.
Étapes de reproduction :
  1. Ouvrez un projet existant.
  2. Cliquez sur le bouton « Modifier le projet ».
  3. N’effectuez aucune modification.
  4. Cliquez sur le bouton « Annuler ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Une fenêtre modale de confirmation s’affiche : « Annuler « Qawerk Test Project » — Êtes-vous sûr de vouloir annuler les modifications apportées à « Qawerk Test Project » ? » avec les options « Annuler/Accepter », alors qu’aucune modification n’a été effectuée.

Résultat attendu :

Aucune modification n’ayant été effectuée, cliquer sur le bouton « Annuler » devrait fermer immédiatement la vue d’édition sans message de confirmation (rien à supprimer/annuler).

Aucune mise en évidence en rouge et aucun message de validation à côté du champ « Téléphone » obligatoire laissé vide

Gravité :

Minor

Condition préalable :

L’utilisateur se trouve sur le formulaire d’inscription à l’« Essai gratuit ».

Étapes de reproduction :
  1. Laissez le champ « Téléphone » vide.
  2. Cliquez sur le bouton « Envoyer ».
Environnement :

Google Chrome version 152.0.7977.83 Firefox 155.0.1 Edge version 153.0.4234.32

Résultat réel :

Le champ « Téléphone » conserve une bordure grise standard et aucun message d’erreur ne s’affiche.

Résultat attendu :

Le champ « Téléphone » étant marqué comme obligatoire (*), il devrait être surligné avec le même contour rouge d’erreur que les autres champs obligatoires vides (par exemple, E-mail, Votre entreprise, Secteur d’activité de votre entreprise, Nombre d’employés) lorsque le formulaire échoue à la validation.

Aucune mise en évidence en rouge et aucun message de validation à côté du champ « Téléphone » obligatoire laissé vide
Dans l’ensemble, les tests de Workdeck se sont bien déroulés : l’application est fonctionnelle et la logique sous-jacente aux projets, aux tâches et au suivi du temps est solide. La plupart des problèmes que j’ai relevés concernent des messages d’erreur peu clairs. Je recommanderais d’améliorer la manière dont l’application guide et communique avec les utilisateurs de manière générale. Je suggère également de réaliser des tests de régression à ce stade afin de détecter d’éventuelles lacunes restantes.
Tetiana, QA engineer

Tetiana, QA engineer

Vous avez besoin d'un partenaire QA fiable ?

Embauchez-nous