Zurück zum Blog Business Applications

Können zwei Personen denselben Datensatz sicher bearbeiten? Eine Checkliste für selbst gehostete Apps

Automatisches Speichern, ein Änderungsverlauf und eine gemeinsam genutzte Datenbank zeigen für sich genommen nicht, was passiert, wenn zwei Personen gleichzeitig einen Datensatz bearbeiten. Mit dieser Checkliste prüfen Sie das Verhalten in Ihren eigenen Abläufen.

Zwei Teammitglieder testen Änderungen am selben Geschäftsdatensatz in einer selbst gehosteten App

Warum Sie gleichzeitige Änderungen gezielt testen sollten

Dass mehrere Personen denselben Datensatz öffnen können, sagt noch nicht, was beim gleichzeitigen Bearbeiten passiert. Je nach Anwendung und Arbeitsablauf können frühere Werte ersetzt, Konflikte angezeigt oder Änderungen unterschiedlich behandelt werden. Prüfen Sie das Verhalten Ihrer konkreten Anwendung, statt ein bestimmtes Ergebnis vorauszusetzen.

Automatisches Speichern, eine Verlaufsansicht und eine gemeinsam genutzte Datenbank sind für sich genommen keine Garantie dafür, dass Änderungen erhalten oder Konflikte sichtbar werden. Testen Sie deshalb die Datensatztypen, Felder, Benutzerrollen und Abläufe, die Ihr Team tatsächlich nutzt.

  • Beginnen Sie mit Datensätzen, bei denen ein falscher Wert betriebliche Auswirkungen hätte.
  • Testen Sie die Anwendungsversion und Konfiguration, die Ihr Team verwenden möchte.
  • Beziehen Sie die normalen Benutzerrollen in die Prüfung ein.
Warum Sie gleichzeitige Änderungen gezielt testen sollten

Zwei unterschiedliche Änderungsszenarien prüfen

Testen Sie Änderungen im selben Feld getrennt von Änderungen an verschiedenen Feldern. Im ersten Fall ändern zwei Personen beispielsweise denselben Statuswert. Im zweiten Fall aktualisieren sie unterschiedliche Angaben, etwa ein Fälligkeitsdatum und einen Verantwortlichen. Ein Ergebnis aus einem Szenario lässt keine verlässliche Schlussfolgerung über das andere zu.

Verwechseln Sie die Bearbeitung eines Geschäftsdatensatzes auch nicht mit gemeinsamer Dokumentbearbeitung. CRM- und Projektmanagement-Datensätze können andere Formulare, Speicheraktionen und Verlaufsfunktionen haben. Prüfen Sie daher den konkreten Arbeitsablauf.

  • Notieren Sie Ausgangswerte und beabsichtigte Änderungen.
  • Verwenden Sie beim selben Feld zwei eindeutig unterschiedliche Testwerte.
  • Prüfen Sie nach dem Speichern, ob die beabsichtigten Werte im Datensatz vorhanden sind.
Zwei unterschiedliche Änderungsszenarien prüfen

Dokumentation für Anwendung und Version prüfen

Suchen Sie in der offiziellen Hilfe oder Administrator-Dokumentation nach Hinweisen zu gleichzeitiger Bearbeitung, Sperren, Konflikterkennung, automatischem Speichern, Verlauf, Audit-Protokollen und Sitzungs-Timeouts. Achten Sie darauf, ob die Dokumentation die für Ihr Team relevanten Datensatztypen und Benutzeraktionen abdeckt.

Die tatsächliche Konfiguration kann Berechtigungen, Erweiterungen oder Arbeitsabläufe umfassen, die das Ergebnis beeinflussen. Ergänzen Sie die Dokumentation daher durch Tests. Wenn Angaben fehlen oder mehrdeutig sind, halten Sie diese Unsicherheit fest.

  • Können mehrere Personen den Datensatz bearbeiten, oder wird eine Bearbeitung verhindert?
  • Was wird Benutzern bei einem erkannten Konflikt angezeigt?
  • Wann wird das konkrete Formular oder Feld gespeichert?
  • Welche Verlaufsinformationen sind verfügbar, und wer kann sie einsehen?
  • Gelten dokumentierte Funktionen nur für bestimmte Versionen, Konfigurationen oder Rollen?

Einen kontrollierten Test mit zwei Benutzern durchführen

Nutzen Sie eine Testinstanz oder einen eindeutig gekennzeichneten Testdatensatz, damit keine aktiven Geschäftsdaten verändert werden. Wählen Sie zwei normale Benutzerkonten mit repräsentativen Rollen. Beide öffnen denselben Datensatz, bevor eine Person Änderungen vornimmt.

Führen Sie die Tests für dasselbe Feld und für unterschiedliche Felder getrennt durch. Notieren Sie die Aktionsreihenfolge, sichtbare Meldungen und den gespeicherten Zustand. Aktualisieren Sie anschließend beide Sitzungen und prüfen Sie den Datensatz erneut. Ersetzen Sie normale Berechtigungen nicht durch ein Administratorkonto.

  • Notieren Sie Ausgangszustand und geplante Änderungen von Benutzer A und Benutzer B.
  • Speichern Sie in einer kontrollierten Reihenfolge und vertauschen Sie diese beim nächsten Durchlauf.
  • Aktualisieren Sie beide Sitzungen und prüfen Sie die gespeicherten Werte.
  • Halten Sie Meldungen und Beobachtungen fest, ohne echte Kunden- oder Mitarbeiterdaten zu verwenden.

Zeitabläufe und Sitzungsunterbrechungen einbeziehen

Ein einzelner Test deckt nicht unbedingt die Abläufe ab, die Ihr Team erlebt. Prüfen Sie, was geschieht, wenn eine Person vor der anderen speichert, einen Bearbeitungsbildschirm geöffnet lässt oder nach einer Pause zurückkehrt. Diese Punkte sind Testbedingungen, keine Annahmen über das Verhalten der Anwendung.

Wenn langsame oder unterbrochene Verbindungen für Ihren Arbeitsalltag relevant sind, testen Sie sie möglichst sicher in einer Nicht-Produktivumgebung. Achten Sie darauf, ob ein Speichervorgang bestätigt wird und was beim erneuten Öffnen der Seite erscheint. Ein Wert, der noch im Browser angezeigt wird, belegt für sich genommen nicht, dass er gespeichert wurde.

  • Prüfen Sie, ob zuerst Benutzer A oder Benutzer B speichert.
  • Testen Sie eine geöffnete oder verlassene Sitzung und aktualisieren Sie die Seite.
  • Untersuchen Sie Verbindungsunterbrechungen nur in einer geeigneten sicheren Umgebung.
  • Notieren Sie, welche Meldungen die Anwendung währenddessen anzeigt.

Konflikthinweise und Wiederherstellung bewerten

Achten Sie darauf, ob Benutzer erkennen können, dass sich ein Datensatz seit dem Öffnen geändert hat, und ob sie den aktuellen Wert vor dem Speichern prüfen können. Wird kein Hinweis angezeigt, dokumentieren Sie das Ergebnis, statt anzunehmen, dass ein Konflikt automatisch sicher behandelt wurde.

Falls eine Verlaufs- oder Audit-Ansicht vorhanden ist, prüfen Sie, ob sie die für Ihr Team nötigen Angaben enthält. Wenn sich ein strittiger Wert damit nicht nachvollziehen oder korrigieren lässt, legen Sie ein separates Prüf- oder Dokumentationsverfahren fest.

  • Können Benutzer den aktuellen Wert mit dem geplanten Wert vergleichen?
  • Sind relevante Änderungen, Benutzer und Zeitpunkte nachvollziehbar?
  • Gibt es ein dokumentiertes und getestetes Verfahren zur Korrektur eines strittigen Werts?

Berechtigungen und nachgelagerte Auswirkungen berücksichtigen

Wiederholen Sie wichtige Tests mit den Rollen, die den Arbeitsablauf tatsächlich nutzen werden. Berechtigungen können beeinflussen, wer Datensätze oder einzelne Felder bearbeiten und Verlaufsinformationen einsehen kann. Halten Sie Testkonten und Beispieldatensätze von laufenden Geschäftsvorgängen getrennt.

Wenn das Speichern eines Datensatzes eine Integration oder Automatisierung auslösen kann, nehmen Sie deren Ergebnis in den Testplan auf. Prüfen Sie, ob die erwarteten Datensatzwerte weiterverarbeitet werden. Wie eine bestimmte Anwendung oder Integration damit umgeht, muss für die verwendete Konfiguration geprüft werden.

  • Testen Sie repräsentative Rollen und gegebenenfalls Berechtigungen auf Feldebene.
  • Listen Sie verbundene Integrationen und Automatisierungen für den Datensatztyp auf.
  • Prüfen Sie nach den Tests, ob die erwarteten nachgelagerten Ergebnisse eintreten.

Abnahmekriterien vorab festlegen

Definieren Sie vor dem Test, was für den jeweiligen Arbeitsablauf als sicher gilt. Für ein kritisches Feld kann Ihr Team beispielsweise eine sichtbare Konfliktwarnung verlangen. Andere Abläufe können ein dokumentiertes Prüfverfahren akzeptieren, mit dem sich Änderungen erkennen und abgleichen lassen. Formulieren Sie die Anforderungen so, dass sie überprüfbar sind.

Halten Sie Anwendung und Version, Datensatztyp, Rollen, Testschritte, beobachtetes Verhalten und offene Fragen fest. Entspricht das Ergebnis nicht den Kriterien, prüfen Sie eine Anpassung des Arbeitsablaufs, zusätzliche Kontrollen oder eine andere Anwendungs- oder Bereitstellungswahl. Verwaltete Infrastruktur kann Hosting-Aufgaben übernehmen; Entscheidungen zu Daten, Zugriff und Governance bleiben ebenfalls zu bewerten.

  • Legen Sie fest, für welche Felder zusätzliche Prüfungen erforderlich sind.
  • Definieren Sie, welche Hinweise Benutzer bei Änderungen durch andere Personen benötigen.
  • Wiederholen Sie Tests nach wesentlichen Änderungen an Anwendung oder Konfiguration.
  • Geben Sie einen Arbeitsablauf mit ungeklärten Szenarien erheblicher Auswirkung nicht frei.

Häufige Fragen

Verhindert automatisches Speichern den Verlust von Änderungen, wenn zwei Personen einen Datensatz bearbeiten?

Nicht unbedingt. Automatisches Speichern allein legt nicht fest, wie gleichzeitige Änderungen behandelt werden. Prüfen Sie die Dokumentation der konkreten Anwendung und testen Sie den Arbeitsablauf mit repräsentativen Benutzerkonten.

Reicht der Datensatzverlauf aus, um einen strittigen Wert wiederherzustellen?

Das hängt davon ab, welche Angaben die Anwendung erfasst und wer sie einsehen kann. Prüfen Sie den Verlauf und testen Sie das Wiederherstellungsverfahren, das Ihr Team verwenden würde.

Sollten für Tests gleichzeitiger Bearbeitung Administratorkonten verwendet werden?

Verwenden Sie für den Haupttest normale Benutzerkonten mit repräsentativen Berechtigungen. Administrationsrechte können sich von den Berechtigungen im Arbeitsalltag unterscheiden.

Legt Selbsthosting fest, wie gleichzeitige Änderungen funktionieren?

Das Hosting-Modell allein bestimmt nicht, wie eine Anwendung Datensätze bearbeiten lässt. Prüfen Sie die offizielle Dokumentation und testen Sie die relevanten Abläufe in der vorgesehenen Konfiguration.

Quellen und weiterführende Literatur

  1. Docker documentation — Docker
  2. Traefik documentation — Traefik Labs
  3. Let’s Encrypt documentation — Internet Security Research Group