Testkonzept docs/tests/verfahrensgebiet-eigentuemersuche.md, Fallstricke zu personenbezogenen Eigentümerdaten und zur Zahlerkennung beim CSV-Laden (PLZ ohne führende Null), Modulkarte und Testkatalog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.9 KiB
Testkonzept: Flurstückssuche im Tab „Eigentümer“
Plugin: sn_verfahrensgebiet · Stand: 06.10.2026 · Pflege: bei jeder Änderung an diesem Ablauf
Worum es fachlich geht
Im Termin mit einem Eigentümer soll die Sachbearbeitung ein Flurstück schnell auf der Karte zeigen können. Sie gibt Gemarkung und Flurstücksnummer ein, das Plugin wählt das Flurstück im geladenen Flurstückslayer aus und springt dorthin. Gesucht wird nur in den Flurstücken, die vorher mit dem Verfahrensgebiet aus ALKIS geladen wurden. So muss im Tab keine Gemarkung aus ganz Sachsen ausgewählt werden.
Die Eigentümersuche im selben Tab beschreibt verfahrensgebiet-eigentuemersuche.md.
Der Ablauf
flowchart TD
A["1 Anwender gibt Gemarkung<br/>und Flurstücksnummer ein"] --> B{"2 Flurstückslayer<br/>im Projekt?"}
B -->|nein| C["Hinweis: zuerst Verfahrensgebiet<br/>und Flurstücke aus ALKIS laden"]
B -->|ja| D{"3 Flurstücksnummer lesbar?<br/>z. B. 562 oder 12/3"}
D -->|nein| E["Hinweis zur Schreibweise"]
D -->|ja| F{"4 Gemarkung als Nummer<br/>oder als Name?"}
F -->|Nummer| H["5 Flurstücke vergleichen"]
F -->|Name| G{"Gemarkungslayer geladen<br/>und Name darin?"}
G -->|nein| E2["Hinweis: Nummer eingeben<br/>oder Gemarkungen laden"]
G -->|ja| H
H --> I{"6 Treffer?"}
I -->|nein| J["Hinweis: nicht gefunden"]
I -->|ja| K["7 Treffer auswählen,<br/>hinzoomen, aufblinken"]
style C fill:#fff4e6,stroke:#d9822b
style E fill:#fff4e6,stroke:#d9822b
style E2 fill:#fff4e6,stroke:#d9822b
Was geprüft wird
Die Tests liegen in Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_suche.py (Suchlogik) und
tests/test_eigentuemer_tab.py (Bedienung im Tab).
| # | Schritt | Wird geprüft durch | Ebene |
|---|---|---|---|
| — | Tab erscheint nach „Bearbeitung“ | test_tab_ist_im_dockwidget_eingetragen |
Mock |
| 2 | Kein Flurstückslayer: Suche bricht ab | test_fehlender_flurstueckslayer_bricht_ab |
Mock |
| 2 | … und der Hinweis kommt als Dialog | test_ohne_flurstueckslayer_erscheint_hinweisdialog |
Mock |
| 3 | Zähler und Nenner lesen, führende Nullen | test_flurstuecksnummer_mit_und_ohne_nenner |
Mock |
| 3 | Unlesbare Nummer abweisen | test_ungueltige_flurstuecksnummer, test_eingabefehler_als_warnung |
Mock |
| 4 | Gemarkungsnummer, auch ohne Nullen oder als langer Schlüssel | test_gemarkungsnummer_aus_ziffern |
Mock |
| 4 | Gemarkungsname, auch mehrfach vorkommend | test_gemarkungsname_ueber_gemarkungslayer |
Mock |
| 4 | Name ohne Gemarkungslayer oder unbekannt | test_gemarkungsname_ohne_layer_oder_unbekannt |
Mock |
| 5 | Flurstückskennzeichen zerlegen | test_kennzeichen_zerlegen |
Mock |
| 5 | Layer ohne Kennzeichenfeld | test_layer_ohne_kennzeichenfeld |
Mock |
| 6 | Mit Nenner genau ein Treffer | test_mit_nenner_genau_ein_treffer |
Mock |
| 6 | Ohne Nenner alle mit diesem Zähler, nur in der Gemarkung | test_ohne_nenner_alle_mit_diesem_zaehler |
Mock |
| 6 | Kein Treffer | test_kein_treffer (Logik), test_kein_treffer (Tab) |
Mock |
| 7 | Auswahl, Zoom, Aufblinken | test_treffer_werden_ausgewaehlt_und_angezoomt |
Mock |
| 7 | Auswahl auch ohne Kartenansicht | test_ohne_kartenansicht_bleibt_auswahl |
Mock |
| — | Sieht das in QGIS richtig aus? | 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 |
|---|---|---|
Buchstaben-Nenner (12/a) |
ältere Flurstücke | test_mit_nenner_genau_ein_treffer, test_kennzeichen_zerlegen |
| Gleichnamige Gemarkungen | verbreitete Ortsnamen in mehreren Landkreisen | test_gemarkungsname_ueber_gemarkungslayer |
Gemarkungsschlüssel mit Landesnummer (140268) |
kopiert aus anderen Programmen | test_gemarkungsnummer_aus_ziffern |
| Flurstücke mit leerem Kennzeichen | unvollständige Daten | test_ohne_nenner_alle_mit_diesem_zaehler (Feature ohne Kennzeichen wird übersprungen) |
| Im Flurstückslayer ist schon etwas ausgewählt | Verfahrensgebiet aus der Flurstücksauswahl bilden | test_treffer_werden_ausgewaehlt_und_angezoomt: Die Suche ersetzt die Auswahl, wie die Suchen in QGIS selbst |
Bewusst nicht getestet
| Was | Warum | Wie stattdessen abgesichert |
|---|---|---|
| Zoomen und Aufblinken in der Kartenansicht | QGIS-Funktionen (zoomToSelected, flashFeatureIds), im Mock-Modus gibt es keine Karte |
manueller Test in QGIS |
| Aussehen des Tabs | nicht sinnvoll automatisiert prüfbar | manueller Test |
| Echter Flurstückslayer aus dem ALKIS-WFS | kein Netzwerk in Tests | Aufbau des Kennzeichens in ../wissen/alkis_objektarten.md, manueller Test |
Bekannte Lücken
| Lücke | Auswirkung | Issue |
|---|---|---|
| Der manuelle Test in QGIS steht aus | Zoom auf sehr kleine Flurstücke und das Aufblinken sind nicht gesehen | Verfahrensgebiet #56 |