66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
<!--
|
|||
|
|
Vorlage für eine Testkonzept-Seite unter docs/tests/<ablauf>.md.
|
||
|
|
Zweck: Eine Fachperson soll ohne Blick in den Quelltext beurteilen können, ob die Tests
|
||
|
|
fachlich das Richtige prüfen. Deshalb: fachliche Sprache, keine Klassennamen im Diagramm.
|
||
|
|
Erläuterung: docs/leitfaden/06_tests.md Abschnitt 7.
|
||
|
|
Diesen Kommentar beim Ausfüllen entfernen.
|
||
|
|
-->
|
||
|
|
|
||
|
|
# Testkonzept: <Name des fachlichen Ablaufs>
|
||
|
|
|
||
|
|
Plugin: `sn_<paket>` · Stand: <TT.MM.JJJJ> · Pflege: bei jeder Änderung an diesem Ablauf
|
||
|
|
|
||
|
|
## Worum es fachlich geht
|
||
|
|
|
||
|
|
<Zwei bis vier Sätze aus Sicht der Sachbearbeitung: Was macht der Anwender, was soll dabei herauskommen,
|
||
|
|
warum ist das wichtig. Keine Dateinamen, keine Funktionsnamen.>
|
||
|
|
|
||
|
|
## Der Ablauf
|
||
|
|
|
||
|
|
```mermaid
|
||
|
|
flowchart TD
|
||
|
|
A["1 <Was der Anwender tut>"] --> B["2 <Was das Plugin daraufhin tut>"]
|
||
|
|
B --> C{"<Fachliche Entscheidung>"}
|
||
|
|
C -->|"<Fall a>"| D["3a <Ergebnis>"]
|
||
|
|
C -->|"<Fall b>"| E["3b <Ergebnis>"]
|
||
|
|
D --> F["4 <Endzustand>"]
|
||
|
|
E --> F
|
||
|
|
```
|
||
|
|
|
||
|
|
## Was geprüft wird
|
||
|
|
|
||
|
|
| # | Schritt | Wird geprüft durch | Ebene |
|
||
|
|
|---|---|---|---|
|
||
|
|
| 1 | <Schritt aus dem Diagramm> | `test_<name>` in `tests/test_<modul>.py` | Mock |
|
||
|
|
| 2 | <Schritt> | `test_<name>` | Mock |
|
||
|
|
| 3a | <Fall a> | `test_<name>` | Mock |
|
||
|
|
| 3b | <Fall b> | — | — |
|
||
|
|
| 4 | <Endzustand> | manueller Test in QGIS | manuell |
|
||
|
|
|
||
|
|
Ebene: `Mock` (ohne QGIS, Sekunden) · `QGIS` (gegen echtes QGIS) · `manuell` (Mensch in QGIS).
|
||
|
|
Erläuterung der Ebenen: `docs/leitfaden/06_tests.md` Abschnitt 2.
|
||
|
|
|
||
|
|
## Fachliche Sonderfälle
|
||
|
|
|
||
|
|
Die Fälle, die in der Praxis wirklich vorkommen — hier entscheidet sich, ob die Suite etwas taugt.
|
||
|
|
|
||
|
|
| Sonderfall | Kommt vor bei | Wird geprüft durch |
|
||
|
|
|---|---|---|
|
||
|
|
| <z. B. leerer Export> | <Situation in der Praxis> | `test_<name>` |
|
||
|
|
| <z. B. abweichender Feldname> | <Situation> | `test_<name>` |
|
||
|
|
| <z. B. Datensatz aus dem Nachbarlandkreis> | <Situation> | — |
|
||
|
|
|
||
|
|
## Bewusst nicht getestet
|
||
|
|
|
||
|
|
| Was | Warum | Wie stattdessen abgesichert |
|
||
|
|
|---|---|---|
|
||
|
|
| <Aspekt> | <nachvollziehbarer Grund — „zu aufwendig" ist keiner> | <manueller Test, Review, anderer Test> |
|
||
|
|
|
||
|
|
## Bekannte Lücken
|
||
|
|
|
||
|
|
| Lücke | Auswirkung | Issue |
|
||
|
|
|---|---|---|
|
||
|
|
| <Was fehlt> | <Was im schlimmsten Fall unbemerkt bleibt> | #<nr> |
|
||
|
|
|
||
|
|
<Keine Lücken bekannt? Dann hier „Derzeit keine bekannten Lücken." und das Datum der letzten Durchsicht.>
|