Files
dicom2pacs/README_TESTS.md

5.3 KiB

Test-Anleitung für dicom2pacs

Diese Anleitung erklärt, wie Sie die dicom2pacs-App testen können.

Verfügbare Testskripte

1. test_dicom2pacs.sh - Interaktives Bash-Testskript

Ein interaktives Skript mit Menü für verschiedene Test-Optionen.

Verwendung:

./test_dicom2pacs.sh

Optionen:

  • Option 1: GUI-Test - Öffnet die App mit GUI für manuelles Testen
  • Option 2: Unit-Test - Prüft alle Module ohne GUI
  • Option 3: Integrationstest - Vollständiger Test mit GUI
  • Option 4: Aufräumen - Löscht Test-Ordner und Transfer-Ordner

Was das Skript macht:

  • Erstellt Test-Ordner ~/Downloads/test_dicom
  • Kopiert Test-DICOM-Dateien aus pydicom
  • Prüft Konfiguration
  • Führt Tests basierend auf Ihrer Auswahl durch

2. test_dicom2pacs.py - Automatisiertes Python-Testskript

Ein Python-Skript, das automatisch alle Module testet.

Verwendung:

# Mit aktiviertem venv
source venv/bin/activate
python3 test_dicom2pacs.py

# Oder direkt mit venv-Python
venv/bin/python3 test_dicom2pacs.py

Getestete Funktionen:

  • ✓ Module-Imports
  • ✓ DICOM-Datei-Erkennung
  • ✓ Dateiverwaltung
  • ✓ Konfigurationsladen
  • ✓ Patientenname-Formatierung
  • ✓ Geburtsdatum-Formatierung

Manuelle Tests

Test 1: GUI öffnet sich

source venv/bin/activate
python dicom2pacs.py "Mustermann" "Max" "19800101" "12345"

Erwartetes Verhalten:

  • GUI-Fenster öffnet sich
  • "Durchsuchen"-Button ist sichtbar
  • "Abbruch"-Button ist sichtbar

Test 2: DICOM-Dateien finden

  1. Erstellen Sie einen Test-Ordner:
mkdir -p ~/Downloads/test_dicom
  1. Kopieren Sie Test-DICOM-Dateien:
# Von der gebauten App
cp dist/dicom2pacs.app/Contents/Resources/lib/python3.13/pydicom/data/test_files/CT_small.dcm ~/Downloads/test_dicom/

# Oder vom venv
cp venv/lib/python3.13/site-packages/pydicom/data/test_files/CT_small.dcm ~/Downloads/test_dicom/
  1. Starten Sie die App und wählen Sie den Test-Ordner

Erwartetes Verhalten:

  • App findet DICOM-Dateien
  • Fortschrittsanzeige wird angezeigt
  • Dateien werden in Transfer-Ordner kopiert

Test 3: Patientendaten-Vergleich

Die App vergleicht Patientendaten aus den DICOM-Dateien mit den übergebenen Argumenten.

Erwartetes Verhalten:

  • Wenn Daten übereinstimmen: Kein Dialog
  • Wenn Daten abweichen: Dialog mit Vergleichsanzeige
  • Benutzer kann wählen: Tomedo-Daten oder Original-Daten

Test 4: Server-Verfügbarkeit

Die App prüft, ob der PACS-Server erreichbar ist.

Erwartetes Verhalten:

  • Server erreichbar: Upload startet
  • Server nicht erreichbar: Meldung "PACS SERVER NICHT ERREICHBAR"

Test 5: Upload (mit konfiguriertem Server)

Wenn ein PACS-Server konfiguriert ist, werden Dateien hochgeladen.

Konfiguration prüfen:

cat ~/.dicom2pacs.conf

Erwartetes Verhalten:

  • Fortschrittsanzeige während Upload
  • Erfolgsmeldung nach Upload
  • Transfer-Ordner wird gelöscht

Test-Daten vorbereiten

Automatisch (empfohlen)

Das Bash-Testskript erledigt dies automatisch:

./test_dicom2pacs.sh

Manuell

  1. Test-Ordner erstellen:
mkdir -p ~/Downloads/test_dicom
  1. DICOM-Dateien kopieren:
# Option A: Von gebauter App
cp dist/dicom2pacs.app/Contents/Resources/lib/python3.13/pydicom/data/test_files/*.dcm ~/Downloads/test_dicom/

# Option B: Von venv
cp venv/lib/python3.13/site-packages/pydicom/data/test_files/*.dcm ~/Downloads/test_dicom/
  1. App starten:
source venv/bin/activate
python dicom2pacs.py "Mustermann" "Max" "19800101" "12345"

Häufige Probleme

Problem: "Keine DICOM-Dateien gefunden"

Lösung:

  • Stellen Sie sicher, dass der Test-Ordner DICOM-Dateien enthält
  • Prüfen Sie, ob Dateien die Endung .dcm haben oder keine Endung
  • Verwenden Sie test_dicom2pacs.sh Option 1, um Dateien automatisch zu kopieren

Problem: "PACS SERVER NICHT ERREICHBAR"

Lösung:

  • Normal, wenn kein Server konfiguriert ist
  • Für vollständigen Test: Orthanc-Server einrichten
  • Konfiguration in ~/.dicom2pacs.conf prüfen

Problem: "ModuleNotFoundError"

Lösung:

source venv/bin/activate
pip install pydicom aiohttp aiofiles tqdm

Problem: GUI öffnet sich nicht

Lösung:

  • Prüfen Sie die Konsole auf Fehlermeldungen
  • Stellen Sie sicher, dass tkinter installiert ist:
    python3 -m tkinter
    

Aufräumen nach Tests

# Manuell
rm -rf ~/Downloads/test_dicom
rm -rf ~/Downloads/D2OTrans

# Oder mit Testskript
./test_dicom2pacs.sh
# Option 4 wählen

Test-Zusammenfassung

Nach Ausführung von test_dicom2pacs.py erhalten Sie eine Zusammenfassung:

=== dicom2pacs Automatisierte Tests ===

Teste Imports...
✓ Alle Module erfolgreich importiert

Teste DICOM-Datei-Erkennung...
✓ DICOM-Datei erkannt: CT_small.dcm -> True

...

==================================================
Test-Zusammenfassung:
==================================================
✓ PASS: Imports
✓ PASS: DICOM-Datei-Erkennung
✓ PASS: Dateiverwaltung
...
==================================================
Ergebnis: 6/6 Tests bestanden
🎉 Alle Tests bestanden!

Nächste Schritte

Nach erfolgreichen Tests können Sie:

  1. Die App mit echten DICOM-Dateien testen
  2. Einen PACS-Server konfigurieren für Upload-Tests
  3. Die App in Produktion einsetzen

Viel Erfolg beim Testen! 🚀