Befund aus dem QGIS-Test (Fenster immer auf dem Hauptbildschirm, im Vollbild nicht zu verlassen) in fallstricke.md festgehalten; Testkonzept, Modulkarte und Testkatalog an das Fenster mit Rahmen und die Pfadanzeige der Korrektur-Datei angepasst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.0 KiB
Testkonzept: Anzeige für den Eigentümer und Korrekturen
Plugin: sn_verfahrensgebiet · Stand: 06.10.2026 · Pflege: bei jeder Änderung an diesem Ablauf
Worum es fachlich geht
Im Termin sitzt der Eigentümer vor einem zweiten Bildschirm. Dort sieht er nur seine eigenen gespeicherten Daten: Name, Anschrift und E-Mail. Den QGIS-Bildschirm mit Trefferliste, Konten und anderen Personen sieht er nicht. Die Sachbearbeitung beginnt zu Beginn der Termine eine Sitzung und schiebt das Anzeigefenster auf den Bildschirm des Eigentümers; beim nächsten Mal erscheint es wieder dort. Für jeden Eigentümer wählt sie in der Trefferliste die passenden Einträge und zeigt sie an. Stimmt etwas nicht, korrigiert sie es im Plugin. Der Eigentümer sieht die Korrektur sofort. Vor dem nächsten Eigentümer leert sie die Anzeige, ohne das Fenster zu schließen. Am Ende beendet sie die Sitzung.
Die Eigentümerdatei selbst wird nie verändert. Jede Korrektur landet als eigene Zeile in einer Korrektur-CSV neben der Eigentümerdatei und kann später in das Fachverfahren übernommen werden.
Die Suche bis zur Trefferliste beschreibt verfahrensgebiet-eigentuemersuche.md.
Der Ablauf
flowchart TD
A["1 Sitzung beginnen"] --> B["2 Anzeigefenster öffnet leer, mit Rahmen;<br/>Bearbeiter schiebt es auf den zweiten Bildschirm"]
T["Trefferliste: Einträge wählen,<br/>„Daten anzeigen“"] --> C{"Sitzung läuft?"}
C -->|nein| A
C -->|ja| D["3 Eigentümer sieht Name,<br/>Anschrift, E-Mail"]
B --> D
D --> E{"4 Daten richtig?"}
E -->|nein| F["5 Korrigieren: Änderung<br/>in Korrektur-CSV, sofort angezeigt"]
F --> E
E -->|ja| G["6 Anzeige leeren<br/>(Fenster bleibt offen)"]
G --> T
G --> H["7 Sitzung beenden:<br/>Fenster schließt"]
style G fill:#e9f5e9,stroke:#2b8a3e
Was geprüft wird
Die Tests liegen in Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_anzeige.py (Anzeigetext, Fenster öffnen),
tests/test_eigentuemer_korrektur.py (Korrekturlogik, Korrektur-CSV) und tests/test_eigentuemer_tab.py
(Sitzung, Korrektur im Tab).
| # | Schritt | Wird geprüft durch | Ebene |
|---|---|---|---|
| 2 | Sitzung beginnen: leeres Fenster mit Rahmen, nie Vollbild | test_sitzung_beginnen_oeffnet_leeres_fenster_mit_rahmen, test_normales_fenster_in_standardgroesse |
Mock |
| 2 | Lage des Fensters gilt für die nächste Sitzung | test_lage_gilt_fuer_naechste_sitzung, test_gemerkte_lage_wird_wiederhergestellt, test_unbrauchbare_lage_ergibt_standardgroesse |
Mock |
| 3 | „Daten anzeigen“ beginnt bei Bedarf die Sitzung | test_daten_anzeigen_beginnt_sitzung_bei_bedarf, test_daten_anzeigen_gibt_auswahl_weiter |
Mock |
| 3 | Ohne Auswahl nur ein Hinweis | test_daten_anzeigen_ohne_auswahl |
Mock |
| 3 | Inhalt: Name, Anschrift, E-Mail; mehrere Einträge | test_name_anschrift_email, test_mehrere_eintraege_getrennt |
Mock |
| 3 | Keine internen Angaben für den Eigentümer | test_keine_internen_angaben |
Mock |
| 3 | Fehlende E-Mail ausdrücklich nennen | test_fehlende_email_wird_genannt |
Mock |
| 5 | Nur echte Änderungen, Leeren zählt | test_nur_echte_aenderungen, test_feld_leeren_ist_aenderung, test_feldwerte |
Mock |
| 5 | Korrektur festhalten und sofort anzeigen | test_korrektur_wird_festgehalten_und_angezeigt, test_wende_an |
Mock |
| 5 | Unverändert oder abgebrochen: nichts schreiben | test_ohne_aenderung_nichts_schreiben, test_abbruch_nichts_schreiben |
Mock |
| 5 | Korrektur-CSV: Kopfzeile, BOM, anhängen | test_neue_datei_mit_kopfzeile_und_bom, test_anhaengen_ohne_zweite_kopfzeile, test_ohne_aenderung_keine_datei |
Mock |
| 5 | Pfad neben der Eigentümerdatei, sonst Rückfrage | test_textdatei_provider, test_ogr_provider, test_keine_csv, test_vorschlag_neben_der_eigentuemerdatei, test_ohne_csv_quelle_wird_gefragt |
Mock |
| 5 | Schreibfehler | test_schreibfehler_wird_weitergereicht, test_schreibfehler_warnung_und_anzeige_unveraendert |
Mock |
| 5 | Ohne Anzeige keine Korrektur | test_ohne_anzeige_keine_korrektur |
Mock |
| 5 | Pfad der Korrektur-Datei unter den Knöpfen | test_ohne_eigentuemerdatei, test_pfad_neben_der_eigentuemerdatei, test_ohne_csv_quelle_wird_abgefragt, test_gewaehlter_pfad_wird_angezeigt |
Mock |
| 6 | Anzeige leeren, Fenster bleibt offen | test_anzeige_leeren_laesst_fenster_offen, test_leer_nur_platzhalter |
Mock |
| 7 | Sitzung beenden bzw. Fenster von außen geschlossen | test_sitzung_beenden_schliesst_fenster, test_von_aussen_geschlossen_beendet_sitzung |
Mock |
| — | Keine Personendaten auf der Konsole | test_schreibt_nichts_auf_die_konsole |
Mock |
| — | Sieht das in QGIS richtig aus, auf zwei Bildschirmen? | manueller Test | manuell |
Ebene: Mock (ohne QGIS, Sekunden) · QGIS (gegen echtes QGIS) · manuell (Mensch in QGIS).
Fachliche Sonderfälle
| Sonderfall | Kommt vor bei | Wird geprüft durch |
|---|---|---|
| Nur ein Bildschirm (Notebook) | Termin ohne zweiten Monitor, Ausprobieren | test_normales_fenster_in_standardgroesse (immer mit Rahmen, verdeckt QGIS nie ausweglos) |
| Eheleute oder Miteigentümer erscheinen gemeinsam | mehrere Einträge auf einmal anzeigen und einzeln korrigieren | test_mehrere_eintraege_getrennt, test_korrektur_wird_festgehalten_und_angezeigt |
| Eigentümer hat keine E-Mail hinterlegt | häufig; soll beim Termin ergänzt werden | test_fehlende_email_wird_genannt |
| Neue Anschrift mit Komma („Am Anger 3, Haus B“) | Zusatz zur Hausnummer | test_neue_datei_mit_kopfzeile_und_bom |
| Eigentümerdatei liegt in einem schreibgeschützten Ordner | Export auf einem Netzlaufwerk ohne Schreibrecht | test_ohne_csv_quelle_wird_gefragt (Rückfrage), test_schreibfehler_warnung_und_anzeige_unveraendert |
| Sonderzeichen oder spitze Klammern in den Daten | Firmennamen | test_werte_werden_maskiert |
Bewusst nicht getestet
| Was | Warum | Wie stattdessen abgesichert |
|---|---|---|
| Wiederherstellen der Lage auf dem zweiten Bildschirm | braucht echte Bildschirme; im Mock-Modus gibt es keine | Aufruf mit Attrappe geprüft, manueller Test mit zwei Bildschirmen |
| Korrekturdialog mit echten Eingabefeldern | im Mock-Modus gibt es keine Widgets; die Vorbelegung (feldwerte) und die Auswertung sind als reine Funktionen getestet |
manueller Test |
| Schriftgröße und Lesbarkeit der Anzeige | Geschmack und Bildschirmgröße | manueller Test im Termin |
Bekannte Lücken
| Lücke | Auswirkung | Issue |
|---|---|---|
| Wiederherstellen der Lage in der nächsten Sitzung ist in QGIS noch nicht bestätigt | Das Fenster erscheint dann wieder auf dem Hauptbildschirm und muss erneut verschoben werden – lästig, aber gefahrlos | Verfahrensgebiet #56 |
| Die Lage wird nur bis zum Neustart von QGIS gemerkt | nach jedem Start einmal verschieben | bei Bedarf eigenes Issue (QSettings) |
| Eine neue Suche leert die Anzeige nicht von selbst | Wer „Anzeige leeren“ vergisst, zeigt dem nächsten Eigentümer noch die vorherigen Daten | bewusst so (Bearbeiter entscheidet); bei Bedarf eigenes Issue |