Bugs in Workdeck SaaS gefunden

Workdeck ist eine All-in-One-Plattform, die darauf ausgelegt ist, Arbeitsabläufe zu optimieren und die Produktivität zu steigern. Der Dienst vereint alltägliche Arbeitswerkzeuge, um die Koordination zu verbessern und die Benutzerfreundlichkeit zu erhöhen.
Zu den umfassenden Funktionen von Workdeck gehören Tools für die Zusammenarbeit in Echtzeit, ein gemeinsamer Arbeitsbereich, Aufgabenmanagement, Terminplanung und integrierter Speicher, um den Anforderungen moderner Unternehmen gerecht zu werden. Außerdem unterstützt die Plattform Remote-Teams, indem sie den Austausch und die Kommunikation über Grenzen hinweg fördert.
Das QAwerk-Team hat Workdeck einer gründlichen Fehleranalyse unterzogen und dabei mehrere Probleme festgestellt, die größtenteils mit Fehlermeldungen zusammenhängen. Wir laden Sie ein, unsere Ergebnisse einzusehen und ein tieferes Verständnis für die Funktionen der Plattform zu gewinnen.
Das Aktivieren des Kontrollkästchens „Timesheet“ löst einen Schema-Validierungsfehler aus
Kritisch
- Der Benutzer ist in der App angemeldet.
- Der Benutzer bearbeitet ein bestehendes Projekt.
Aktivieren Sie das Kontrollkästchen „Timesheet“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Wenn der Benutzer das Kontrollkästchen „Timesheet“ aktiviert, schlägt der API-Aufruf mit dem Fehlercode 409 „Conflict“ fehl. Das Frontend zeigt eine rohe, unformatierte Validierungsfehlermeldung an: „Ungültiger Wert ‚true‘ für … timesheet: number …“.
Das Aktivieren des Kontrollkästchens „Timesheet“ sollte diese Einstellung im Projekt speichern; es sollten keine Fehler angezeigt werden.
Ein Benutzer, dessen Konto während einer Sitzung gelöscht wurde, sieht die rohe Fehlermeldung „Unerwarteter Fehler“ (501), anstatt abgemeldet zu werden
Kritisch
- Benutzer 1 (Admin) erstellt auf der Registerkarte „Benutzer“ ein neues Konto mit dem Namen „Benutzer 2“.
- Benutzer 2 meldet sich anschließend an und hat eine aktive Sitzung.
- Navigieren Sie als Benutzer 1 zum Abschnitt „Einstellungen“,
- wechseln Sie zur Registerkarte „Benutzer“.
- Öffnen Sie „Details zu Benutzer 2“.
- Klicken Sie auf die Schaltfläche „Benutzer löschen“.
- Führen Sie als Benutzer 2 (der sich noch in der aktiven Sitzung befindet) eine beliebige Aktion in der App aus.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Es erscheint eine Rohfehlermeldung: „Fehler! Unerwarteter Fehler“.
Die Konsole zeigt an: GET https://api.workdeck.com/quer… [HTTP/1.1 501 Not Implemented].
Antworttext: { _type: „NOT_IMPLEMENTED“, _updatedAt: …, _validationErrors: undefined, _dbErrors: [1] […], _mockErrors: undefined, _code: 501 }.
Sobald das Backend feststellt, dass die Sitzung zu einem gelöschten/nicht existierenden Benutzer gehört, sollte die App den Benutzer ordnungsgemäß abmelden und auf den Anmeldebildschirm weiterleiten.
Ein Klick auf die Schaltfläche „Schließen“ bei einer Aufgabe führt zu einer fehlerhaften/doppelt kodierten URL, was zu einer 404-Seite führt
Kritisch
Der Benutzer ist in der App angemeldet.
- Wechseln Sie zur Registerkarte „Zeit“.
- Wechseln Sie zur Registerkarte „Mein Kalender“.
- Klicken Sie im Bereich zur Erstellung neuer Aufgaben auf den Link „Hier“.
- Vergewissern Sie sich, dass der Benutzer zur Registerkarte „Meine Aufgaben“ weitergeleitet wird.
- Füllen Sie die Pflichtfelder aus, z. B. „Aufgabentitel“.
- Klicken Sie auf die Schaltfläche „Speichern“.
- Klicken Sie auf die Schaltfläche „Schließen“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Nach dem Klicken auf die Schaltfläche „Schließen“ navigiert der Browser zu einer fehlerhaften URL, in deren Pfad verschlüsselte Abfrageparameter eingebettet sind. Die Seite zeigt eine allgemeine 404-Fehlermeldung an: „Leider wurde die von Ihnen angeforderte Seite nicht gefunden.“ Die Konsole zeigt folgende Fehler an: ObjectUnsubscribedError (×2), io client disconnect.
Ein Klick auf die Schaltfläche „Schließen“ sollte den Benutzer zum Bildschirm „Mein Kalender“ zurückführen, von dem er gekommen ist, und zwar mit einer gültigen, korrekt formatierten URL.
Auf der Registerkarte „Reiseprofil“ wird die Fehlermeldung „Entität nicht gefunden“ angezeigt und der Laden schlägt fehl
Kritisch
Der Nutzer ist in der App angemeldet.
- Navigieren Sie zum Abschnitt „Mein Profil“.
- Wechseln Sie zur Registerkarte „Reiseprofil“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Es erscheint eine rote Fehlermeldung: „Fehler! Entität nicht gefunden“. Der Inhaltsbereich der Seite bleibt leer.
Die Registerkarte „Reiseprofil“ sollte fehlerfrei geladen werden und entweder Ihre vorhandenen Reisedaten anzeigen oder eine klare Aufforderung, diese einzurichten.
Bei einem veröffentlichten Projekt wird weiterhin die Option „Projekte aktivieren“ angezeigt, die jedoch beim Anklicken keine sichtbare Wirkung zeigt
Schwerwiegend
- Der Benutzer ist in der App angemeldet.
- Es ist ein veröffentlichtes Projekt vorhanden.
- Wechseln Sie zur Registerkarte „Arbeit“.
- Vergewissern Sie sich, dass die Registerkarte „Projekt“ geöffnet ist.
- Wählen Sie den Filter „Aktive Projekte“ aus.
- Markieren Sie ein aktives Projekt.
- Überprüfen Sie die Aktionsschaltflächen, die nach dem Aktivieren des Kontrollkästchens angezeigt werden.
- Klicken Sie auf die Schaltfläche „Projekte aktivieren“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Die Aktion „Projekte aktivieren“ wird für ein bereits aktiviertes Projekt angezeigt. Ein Klick auf die Schaltfläche führt zu keiner Reaktion, keiner Fehlermeldung und keiner Bestätigung. Die Schaltflächen „Aktivieren/Deaktivieren“ verschwinden ohne Erklärung vollständig vom Bildschirm.
Die Schaltfläche „Projekt aktivieren“ sollte für ein bereits aktiviertes Projekt nicht angezeigt werden.
Ein Klick auf „Richtlinie erstellen“ bei leerem Feld „Richtlinienname“ sendet doppelte API-Anfragen und zeigt die Rohfehlermeldung „Ungültige Anfrage“ anstelle einer Feldvalidierung an
Schwerwiegend
Der Nutzer ist in der App angemeldet.
- Navigieren Sie zu „Einstellungen“ → „Richtlinien“.
- Öffnen Sie die „Neue Spesenrichtlinie“.
- Lassen Sie das Feld „Richtlinienname“ leer.
- Legen Sie einen Wert für die „Genehmigungseinstellung“ fest (z. B. 10 EUR).
- Klicken Sie auf die Schaltfläche „Richtlinie erstellen“.
- Beobachten Sie das Ergebnis.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Es werden zwei identische POST-Anfragen gesendet, die beide den Status 400 (Bad Request) mit {_type: ‚INVALID_REQUEST‘, …} zurückgeben.
Auf dem Bildschirm werden zwei identische Fehlermeldungen „Fehler! Ungültige Anfrage“ angezeigt. Die Fehlermeldung gibt keinen Hinweis darauf, dass das Problem speziell im fehlenden „Richtliniennamen“ liegt, sodass der Nutzer die Ursache erraten muss.
Das System sollte das Fehlen des „Policy Name“ sofort erkennen und die Übermittlung des Formulars verhindern, indem es neben dem Feld eine klare Meldung anzeigt (z. B. „Policy Name ist erforderlich“), damit der Benutzer genau weiß, was er korrigieren muss.
Die Warnmeldung im Feld „Zugewiesene Aufgabenstunden“ ist unlesbar (zeigt den rohen, nicht übersetzten Schlüssel anstelle einer Anleitung an)
Schwerwiegend
- Der Benutzer ist in der App angemeldet.
- Eine Aufgabe wurde erstellt.
- Navigieren Sie zu einer bestehenden Aufgabe.
- Geben Sie einen Wert für „Zugewiesene Aufgabenstunden“ neben den Feldern „Formular/An“ ein.
- Setzen Sie das Feld „Zugewiesene Aufgabenstunden“ (links) auf einen Wert, der niedriger ist als die bereits für einen Teilnehmer festgelegten „Zugewiesenen Stunden“ (rechts).
- Bewegen Sie den Mauszeiger über den roten Hinweis, der neben dem Feld „Zugewiesene Aufgabenstunden“ erscheint.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Der folgende Text des Hinweises wird angezeigt:
„work.projects.edit.mainDetails.allocatedHoursWarni“.
Die Warnmeldung sollte einen lesbaren, benutzerfreundlichen Text anzeigen, der das Problem erklärt.
Beim Abbrechen erscheint der Bestätigungsdialog „Änderungen rückgängig machen“, auch wenn keine Änderungen am Projekt vorgenommen wurden
Geringfügig
- Der Benutzer ist in der App angemeldet.
- Der Benutzer hat ein Projekt erstellt.
- Öffnen Sie ein bestehendes Projekt.
- Klicken Sie auf die Schaltfläche „Projekt bearbeiten“.
- Nehmen Sie keine Änderungen vor.
- Klicken Sie auf die Schaltfläche „Abbrechen“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Es erscheint ein Bestätigungsfenster mit der Meldung: „‚Qawerk-Testprojekt‘ rückgängig machen – Möchten Sie die Änderungen am ‚Qawerk-Testprojekt‘ wirklich rückgängig machen?“, mit den Optionen „Abbrechen/Akzeptieren“, obwohl keine Änderungen vorgenommen wurden.
Da keine Änderungen vorgenommen wurden, sollte ein Klick auf die Schaltfläche „Abbrechen“ die Bearbeitungsansicht sofort schließen, ohne dass eine Bestätigungsabfrage erscheint (es gibt nichts zu verwerfen/rückgängig zu machen).
Keine rote Markierung und keine Validierungsmeldung neben dem leeren Pflichtfeld „Telefon“
Geringfügig
Der Nutzer befindet sich auf dem Anmeldeformular für die „Kostenlose Testversion“.
- Lassen Sie das Feld „Telefon“ leer.
- Klicken Sie auf die Schaltfläche „Senden“.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Das Feld „Telefon“ bleibt mit einem einfachen grauen Standardrahmen versehen, und es wird keine Fehlermeldung angezeigt.
Da „Telefon“ als Pflichtfeld (*) gekennzeichnet ist, sollte es bei einer fehlgeschlagenen Formularvalidierung mit demselben roten Fehlerrahmen hervorgehoben werden wie die anderen leeren Pflichtfelder (z. B. E-Mail, Ihr Unternehmen, Ihre Branche, Anzahl der Mitarbeiter).
Insgesamt verlief das Testen von Workdeck gut – die App ist funktionsfähig und die Kernlogik hinter Projekten, Aufgaben und der Zeiterfassung ist solide. Die meisten Probleme, die ich gefunden habe, beziehen sich auf unklare Fehlermeldungen. Ich würde empfehlen, die Art und Weise, wie die App die Nutzer anleitet und mit ihnen kommuniziert, insgesamt zu verbessern. Außerdem schlage ich in dieser Phase Regressionstests vor, um verbleibende Lücken aufzudecken.
