Merge origin/main in feature/16-test-audit
Konflikte aufgelöst: - docs/status/STATUS.md: Baustellen aus main (Basemap #88 ff., #93, #99, #100, #104) und aus dem Audit-Branch zusammengeführt und neu nummeriert; Punkt Test-Audit auf den Endstand für sn_basis (#76, PR #117) und den nächsten Schritt sn_verfahrensgebiet (#60) umgeschrieben; Stand 26.10.2026. - docs/tests/testkatalog.md/.html: nicht von Hand zusammengeführt, sondern mit scripts/testkatalog.py neu erzeugt (sn_basis auf unstable nach PR #117, sn_verfahrensgebiet auf unstable). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+39
-13
@@ -1,7 +1,7 @@
|
||||
# Status des Projekts
|
||||
|
||||
Kurz und aktuell. Wird bei jedem Merge und jeder Übergabe gepflegt (Skill `sn-uebergabe`). Älteres wandert nach unten
|
||||
in „Erledigt" oder wird gelöscht. **Stand: 18.09.2026.**
|
||||
in „Erledigt" oder wird gelöscht. **Stand: 26.10.2026.**
|
||||
|
||||
## Aktuelle Phase
|
||||
|
||||
@@ -13,7 +13,7 @@ spätere Phase und beginnt erst, wenn die Test-Baseline grün ist und das Projek
|
||||
|
||||
| Person / Behörde | Schwerpunkt | Stand |
|
||||
|---|---|---|
|
||||
| Daniel Helbig (LK Meißen) | Fachfunktionen Verfahrensgebiet, Plan41, VLN-API; aktuell Test-Audit (Basis #63 gemergt, weitere Lücken laut Testkatalog offen) | aktiv |
|
||||
| Daniel Helbig (LK Meißen) | Fachfunktionen Verfahrensgebiet, Plan41, VLN-API; Basemap im Druck (Basis #88 ff.); Test-Audit (sn_basis abgeschlossen, Basis #76; als Nächstes sn_verfahrensgebiet, Verfahrensgebiet #60) | aktiv |
|
||||
| Michael Otto (LK Mittelsachsen) | Release-Infrastruktur, Linkliste, zuletzt Verfahrensgebiet (Shape-Laden, Beteiligung) | aktiv |
|
||||
| 22munzke | Druck/Layout-Anforderungen (Issues Basis #37–#44) | Issues |
|
||||
| weitere Behörden | Einstieg über dieses Repository | ab 09/2026 |
|
||||
@@ -65,14 +65,38 @@ spätere Phase und beginnt erst, wenn die Test-Baseline grün ist und das Projek
|
||||
(fest verdrahteter NAS-Namespace `gid/6.0` in `grenzpunkt_alkis.py`, abgeflachte WFS-Feldnamen in
|
||||
`sql=`-Filtern). Vergleich 6↔7 und Anpassungsliste: `docs/konzept/09_alkis7_umstellung.md`.
|
||||
Nächster Schritt: Gitea-Issue in `Plugin_SN_Verfahrensgebiet`.
|
||||
15. **Test-Audit durchführen (Ticket #16).** Infrastruktur ist fertig, PR steht aus: `scripts/test_audit.py`
|
||||
(`status`/`markieren`) und `docs/status/testpruefungen.json` machen im Prüfstand
|
||||
(`docs/tests/testkatalog.html`) je Testfall sichtbar, ob und wann er zuletzt fachlich geprüft wurde
|
||||
(unabhängig vom Baseline-Status). Aktuell gelten alle 346 Testfälle als „nie geprüft" — nächster Schritt
|
||||
ist der eigentliche Audit-Durchgang (Team geht die Pakete durch und markiert per `test_audit.py markieren`),
|
||||
danach getrennt: Testlücken/Fachtests aus den Testkonzept-Seiten ergänzen (Ticket-Text nennt das
|
||||
ausdrücklich als separaten Folgeschritt).
|
||||
16. **Standarddatei-Existenzprüfung fehlt (Basis #59).** `Dateipruefer._handle_leere_eingabe()` und
|
||||
15. **Basemap-Legende im Druck (Basis #88).** In `unstable` gemergt: #88 (PR #89), Punktlinien-Korrektur #90
|
||||
(PR #91), Rand für weiße Flächen #92. Offen: **fachliche Abnahme des Legendenkatalogs** `sn_basis/data/basemap_legende.json`
|
||||
(Bezeichnungen, Gruppen, Zusammenfassungen; Konzept `docs/konzept/10_basemap_legende.md` Abschnitt 10,
|
||||
ADR 0010; bisher unauffällig). Unter QGIS 4 geprüft (Plugin funktioniert, Rückmeldung 02.10.2026).
|
||||
16. **Kartenrand-Überlappung bei kleinen Verfahren (Basis #93).** Gemergt (PR #95). Mehrspaltige Legenden schmaler
|
||||
(#96: Textumbruch 60 mm, ungleiche Spaltenbreiten, zweizeiliger Basemap-Titel, Mindestbreite 180 mm wie das
|
||||
Kartenschild) auf
|
||||
`Plugin_SN_Basis:bugfix/96-legenden-spaltenbreite`, gemergt (PR #97).
|
||||
17. **Basemap hinzufügen und Thema wechseln (Basis #100).** Gemergt (PR #103, Doku PR #25).
|
||||
Themen Farbe/Grau, Erkennung über Kachel-URL, Prüfwert für ungespeicherte Änderungen. Manueller QGIS-Test
|
||||
am 05.10.2026 bestanden (Laden über `styleUrl`, Themenwechsel per `setDataSource`, Prüfwert stabil). Folge-Issues: #101
|
||||
(Import/Export der Stile), P10 Vektor (#102: technisch geprüft 06.10.2026, fachliche Entscheidung offen –
|
||||
Beta-Lizenz nur zu Testzwecken, siehe `fallstricke.md`), Relief.
|
||||
18. **Langer Tab verlängert das QGIS-Fenster (Basis #104).** Gemergt (PR #105, Doku PR #26): jeder Tab im
|
||||
Scroll-Bereich über `BaseDockWidget.setWidget`, wirkt auch für Plan41/Verfahrensgebiet.
|
||||
19. **Zoom und Drucklayout bei anderem Projekt-KBS (Basis #99).** Behoben auf `Plugin_SN_Basis:bugfix/99-druck-kbs`
|
||||
und `Plugin_SN_Verfahrensgebiet:bugfix/99-zoom-kbs` (Doku: `Projektwissen:docs/99-druck-kbs`), PRs stehen aus;
|
||||
**Basis zuerst mergen** (Verfahrensgebiet nutzt `zoom_auf_layer`). Layoutkarte im KBS des Verfahrensgebiets.
|
||||
Offen: QGIS-Test. Folge-Issue (Entwurf): Projekt-KBS prüfen und amtliches KBS nach Länderkennung vorschlagen.
|
||||
20. **Test-Audit (Projektwissen #16).** Werkzeug: `scripts/test_audit.py` (`status`/`markieren`) und
|
||||
`docs/status/testpruefungen.json` zeigen im Prüfstand (`docs/tests/testkatalog.html`) je Testfall, ob und wann
|
||||
er zuletzt fachlich geprüft wurde (unabhängig vom Baseline-Status). Markiert wird nur nach Freigabe durch einen
|
||||
Menschen (`AGENTS.md`).
|
||||
- **sn_basis abgeschlossen (Basis #76, PR #117, 26.10.2026):** 304 von 365 Testfällen geprüft. Bewusst
|
||||
zurückgestellt, weil sie überarbeitet werden: Druckmodul (`test_print_logic.py`, `test_print_tab.py`) und
|
||||
`test_excel_importer.py`. Die seit dem Abzweig auf `unstable` hinzugekommenen Tests (Basemap, Kartenrand,
|
||||
Druck-KBS) sind noch „nie geprüft“. Befunde als eigene Issues: #77, #78, #84, #87, #110–#116. Tests, die
|
||||
fragwürdiges Ist-Verhalten festhalten, verweisen auf ihr Issue (#77, #78, #114, #116).
|
||||
- **sn_verfahrensgebiet als Nächstes (Verfahrensgebiet #60):** 289 Testfälle, keiner geprüft; zusätzlich ist
|
||||
für jeden roten und übersprungenen Test zu entscheiden: anpassen, Bug-Issue oder entfernen.
|
||||
- Danach getrennt: Fachtests aus den Testkonzept-Seiten ergänzen (laut #16 eigener Folgeschritt).
|
||||
21. **Standarddatei-Existenzprüfung fehlt (Basis #59).** `Dateipruefer._handle_leere_eingabe()` und
|
||||
`Pruefmanager._handle_basic_decision()` prüfen bei `standarddatei_vorschlagen` nie `file_exists()` —
|
||||
bestätigt der Nutzer eine nicht vorhandene Standarddatei, kommt trotzdem `ok=True`/`"ok"` zurück statt
|
||||
`datei_nicht_gefunden`. Bearbeitung bewusst zurückgestellt: **hängt von der Design-Entscheidung ab, ob
|
||||
@@ -80,7 +104,7 @@ spätere Phase und beginnt erst, wenn die Test-Baseline grün ist und das Projek
|
||||
(`DataGrabber.py`, `excel_importer.py`) den Parameter `standarddatei`. `TestDateipruefer.test_
|
||||
standarddatei_vorschlagen` bleibt bis zur Entscheidung bewusst ohne Gegenstück für den Fehlerfall
|
||||
(kein Testfall-„nie geprüft", sondern Verhalten ungeklärt) — siehe Kommentar im Testfall.
|
||||
17. **WMS-Zeilen im Datenabruf ungeklärt (Basis #77).** `Datenabruf._fetch_features()` liefert für
|
||||
22. **WMS-Zeilen im Datenabruf ungeklärt (Basis #77).** `Datenabruf._fetch_features()` liefert für
|
||||
`provider == "WMS"` immer `([], None)`, der Kommentar dort verspricht „caller behandelt WMS separat" —
|
||||
das tut `datenabruf()` aber nicht: jede WMS-Zeile durchläuft dieselbe relevant/ausserhalb-Klassifizierung
|
||||
wie WFS/REST/OGR und landet deshalb zwangsläufig in `ausserhalb`, ohne dass je ein Layer geschrieben
|
||||
@@ -88,9 +112,9 @@ spätere Phase und beginnt erst, wenn die Test-Baseline grün ist und das Projek
|
||||
die im Kommentar versprochene Sonderbehandlung? `DatenabrufOrchestrierungTests.
|
||||
test_wms_zeile_ohne_features_landet_in_ausserhalb` dokumentiert bewusst den Ist-Zustand, nicht den
|
||||
bestätigt gewünschten — siehe Kommentar im Testfall.
|
||||
18. **Falscher Aktionscode in `Datenschreiber.schreibe_log()` (Basis #78).** Der Erfolg wird mit
|
||||
23. **Falscher Aktionscode in `Datenschreiber.schreibe_log()` (Basis #78).** Der Erfolg wird mit
|
||||
`aktion="standarddatei_vorschlagen"` gemeldet — demselben Code, den `Dateipruefer`/`Pruefmanager` für
|
||||
die Standarddatei-Rückfrage nutzen (Punkt 16). Aktuell folgenlos, weil `Pruefmanager.verarbeite()` bei
|
||||
die Standarddatei-Rückfrage nutzen (Punkt 21). Aktuell folgenlos, weil `Pruefmanager.verarbeite()` bei
|
||||
`ok=True` sofort zurückkehrt, bevor die Aktion ausgewertet wird — aber missverständlich und zerbrechlich
|
||||
bei künftigem Code, der auf diese Aktion filtert. `SchreibeLogTests.
|
||||
test_schreibt_json_datei_mit_ergebnissen_und_gibt_pfad_zurueck` dokumentiert bewusst den Ist-Zustand —
|
||||
@@ -101,6 +125,8 @@ und `Repository` (Release 26.8.4-unstable) liegen hinter `origin`. Aktualisieren
|
||||
|
||||
## Zuletzt gemergt (unstable)
|
||||
|
||||
- 26.10.2026 Basis #76 (PR #117): fachliche Testdurchsicht sn_basis ohne Druckmodul und excel_importer;
|
||||
schwache Tests geschärft, Lücken geschlossen, Befunde als Issues #110–#116. sn_basis 526/526 grün.
|
||||
- 18.09.2026 Basis #63 (PR #64): Tests für die vier bis dahin testlosen Kernmodule der Datenpipeline
|
||||
(`Datenabruf.py`, `Datenschreiber.py`, `LayerLoader.py`, `excel_importer.py`), 70 neue Testfälle, sn_basis
|
||||
jetzt 166/166 grün. Nebenbei `_MockQgsProject` um `transformContext()`/`addMapLayer()` ergänzt.
|
||||
|
||||
Reference in New Issue
Block a user