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
- Erstellen Sie einen Test-Ordner:
mkdir -p ~/Downloads/test_dicom
- 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/
- 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
- Test-Ordner erstellen:
mkdir -p ~/Downloads/test_dicom
- 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/
- 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
.dcmhaben oder keine Endung - Verwenden Sie
test_dicom2pacs.shOption 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.confprü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:
- Die App mit echten DICOM-Dateien testen
- Einen PACS-Server konfigurieren für Upload-Tests
- Die App in Produktion einsetzen
Viel Erfolg beim Testen! 🚀