Benutzer-Werkzeuge

Webseiten-Werkzeuge


tools:unittest

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tools:unittest [2017/04/13 10:55] – Externe Bearbeitung 127.0.0.1tools:unittest [2023/02/09 15:22] (aktuell) sschmitz
Zeile 1: Zeile 1:
-====== Unit-Test für die Zeugnisrechnung ======+====== flexCheck - Unit-Test für Zeugnisrechnung/Zeugnisdruck ======
  
-Der Unit-Test ist ein Hilfsprogramm, mit dem überprüft werden kann, ob nach einer Veränderung der Programmierung die Zeugnisrechnung weiterhin korrekt funktioniert. +Der Unit-Test ist ein Hilfsprogramm, mit dem überprüft werden kann, ob nach einer Veränderung der Programmierung die Zeugnisrechnung/der Zeugnisdruck weiterhin korrekt funktioniert. 
  
-Dazu wird eine Menge bereits existierender Zeugnisse aus der Datenbank geladen, neu berechnet, und die existierenden Noten mit den berechneten verglichen. Der Test kann also nur funktionieren, sofern die Modellierung der betroffenen Zeugnisse unverändert ist, und sofern die zugrundeliegenden Daten der einzelnen Studenten konstant bleiben. Aus diesem Grund sind Prognosezeugnisse für den Unit-Test ungeeignet. +Dazu wird eine Menge bereits existierender Zeugnisse aus der Datenbank geladen, neu berechnet, und die existierenden Daten werden mit den berechneten verglichen. Der Test kann also nur funktionieren, sofern die Modellierung der betroffenen Zeugnisse unverändert ist, und sofern die zugrundeliegenden Daten der einzelnen Studierenden konstant bleiben. Aus diesem Grund sind Prognosezeugnisse für den Unit-Test ungeeignet. 
  
-**Wichtig: Die existierenden Zeugnisse bleiben bei der Durchführung eines Unit-Tests unverändert.** +**Wichtig: Die existierenden Zeugnisse bleiben bei der Durchführung eines Unit-Tests unverändert.\\ 
 +Damit das so ist, muss Auto-Commit in der Datenbankverbindung abgeschaltet sein!** 
  
 ==== Vorbereitung ==== ==== Vorbereitung ====
  
-Wenn Sie einen Unit-Test durchführen möchten, brauchen Sie eine aktuelle Version des Testprogramms (FN_UnitTest_Zeugnis.exe). Diese muss bei jeder Softwareänderung neu erstellt werden, d.h. sie ist jeweils nur auf Anfrage verfügbar.  +Sie benötigen eine Datei mit den Schlüsseln der Zeugnissedie Sie überprüfen möchten. Diese sollten keine Prognosezeugnisse sein und einigermaßen aktuell sein. Je älter die Zeugnisse sinddesto größer ist die Gefahr, dass es inzwischen Änderungen an der Modellierung gegeben hat, oder dass die Studierendendaten verändert wurden. Beides könnte zu Abweichungen führen und den Test verfälschen 
- +
-Liegt Ihnen eine passende Datei vorbenötigen Sie weiterhin eine Textdatei mit einer Liste von bereits existierenden Zeugnissen. Diese Liste muss wie folgt aufgebaut sein+
- +
-''matrnr;studfach;po;zeugnistyp;kompzeugnis'' +
- +
-Für einfache Zeugnisse wird kompzeugnis mit -1 gefüllt; für komplexe Zeugnisse können studfach;po;zeugnistyp; leer bleiben, die ;-Zeichen müssen jedoch gesetzt werden. +
- +
-Beispiel:\\  +
-''555;UZT;1;10;-1;\\  +
-223;BB1;1;14;-1;\\  +
-223;BB2;1;13;-1;\\  +
-554;;;12;'' +
  
 In einer Textdatei können beliebig viele Zeugnisse hinterlegt werden. Einfache und komplexe Zeugnisse können gemischt werden. Bei einer großen Menge von zu überprüfenden Zeugnissen empfiehlt es sich aufgrund der Laufzeit, mehrere Textdateien mit Teilmengen zu bilden.  In einer Textdatei können beliebig viele Zeugnisse hinterlegt werden. Einfache und komplexe Zeugnisse können gemischt werden. Bei einer großen Menge von zu überprüfenden Zeugnissen empfiehlt es sich aufgrund der Laufzeit, mehrere Textdateien mit Teilmengen zu bilden. 
  
-Um die Liste zu erzeugen, greifen Sie am besten auf die Tabellen studzeugnis und kompstudzeugnis zurück, und ergänzen dann die fehlenden Felder bzw. Trennzeichen.  +Das Format ist: 
- +  * normales Zeugnis: MatrNr;StudFach;PO;ZeugnisTyp - Beispiel: 1234567;BWL;2;12 
-''select matrnr, studfach, po, zeugnistyp from studzeugnis;\\  +  * komplexes Zeugnis: MatrNr;KompZeugnis - Beispiel: 1234567;42
-select matrnr, kompzeugnis from kompstudzeugnis;''+
  
 Es bietet sich an, einen Querschnitt von Zeugnissen aus aktuellen Prüfungsordnungen und Zeugnistypen zusammenzustellen.  Es bietet sich an, einen Querschnitt von Zeugnissen aus aktuellen Prüfungsordnungen und Zeugnistypen zusammenzustellen. 
  
-==== Durchführung ====+==== Durchführung für Zeugnisrechnung ====
  
-Nach dem Start des Programms klicken Sie zunächst auf „Einlesen“ und wählen die vorbereitete Textdatei aus. Die eingelesenen Daten inklusive Rohnote und Note des Studenten werden angezeigt. Wird zu einem Eintrag der Liste kein Zeugnis gefunden (z.B. weil es inzwischen gelöscht wurde oder weil ein Tippfehler in der Liste vorliegt), bleiben die Felder Rohnote und Note leer. +Klicken Sie auf „Einlesen“ und wählen die vorbereitete Textdatei aus. Die eingelesenen Daten der Zeugnisse werden angezeigt. Wird zu einem Eintrag der Liste kein Zeugnis gefunden (z.B. weil es inzwischen gelöscht wurde oder weil ein Tippfehler in der Liste vorliegt), bleiben die Felder Berechnet a, Rohnote, Note, Volumen erreicht und Volumen in Note leer.  
  
-Falls Sie vor der Zeugnisberechnung eine Neuberechnung der Module (d.h. Prüfungsfachversionen) des jeweiligen Studenten berücksichtigen möchten, wählen Sie die entsprechende Option (Achtung, Laufzeit erhöht sich erheblich!). Klicken Sie dann auf „Auswerten“, um die Berechnung zu starten+{{:tools:unittest2.jpg?nolink |}}
  
-Das Programm arbeitet die einzelnen Einträge nun Zeile für Zeile ab und trägt die neu berechneten Ergebnisse ein. Dabei können vier unterschiedliche Fälle vorkommen:+Klicken Sie dann auf //Start//, um die Berechnung zu starten.  
 + 
 +Das Programm arbeitet die einzelnen Einträge nun Zeile für Zeile ab und trägt die neu berechneten Ergebnisse ein. Dies kann einige Zeit dauern. Je nach Systemumgebung wird jede fertig berechnete Zeile direkt ausgegeben und angezeigt (Normalfall), oder das Programm rechnet sozusagen im Hintergrund und zeigt erst nach Abschluss aller Berechnungen die Ergebnisse an. Auf dieses Umgebungsverhalten hat der Zeugnistest selbst keinen Einfluss.  
 + 
 +Bei den Ergebnissen können im Bereich der Noten vier unterschiedliche Fälle vorkommen:
   * Das angegebene Zeugnis existiert nicht: Dann werden auch keine neuen Daten berechnet.   * Das angegebene Zeugnis existiert nicht: Dann werden auch keine neuen Daten berechnet.
   * Die neu berechnete Note sowie Rohnote stimmen mit den alten Werten überein: Grüner Eintrag.    * Die neu berechnete Note sowie Rohnote stimmen mit den alten Werten überein: Grüner Eintrag. 
-  * Die neu berechnete Note stimmt mit der alten Note überein, jedoch weicht die Rohnote ab: Lila Eintrag. Dies kann auf eine Rundungsdifferenz hinweisen.+  * Die neu berechnete Note stimmt mit der alten Note überein, jedoch weicht die Rohnote ab: Lila Eintrag. Dies kann auf eine Rundungsdifferenz hinweisen und muss nicht immer einen Fehler darstellen.
   * Sowohl die Note als auch die Rohnote weichen von den gespeicherten Werten ab: Roter Eintrag.    * Sowohl die Note als auch die Rohnote weichen von den gespeicherten Werten ab: Roter Eintrag. 
  
 +Abweichendes Volumen wird ebenfalls in rot dargestellt.
 +
 +{{:tools:unittest3.jpg?nolink |}}
 +
 +\\
 Die Qualität des Ergebnisses hängt stark von der Art der ausgewählten Zeugnisse ab. Rote Einträge müssen nicht immer eine Fehlprogrammierung bedeuten, sondern können auf eine Änderung in Ihrer Modellierung hindeuten. Was genau der Hintergrund für eine abweichende Berechnung ist, kann nur im Einzelfall geklärt werden.  Die Qualität des Ergebnisses hängt stark von der Art der ausgewählten Zeugnisse ab. Rote Einträge müssen nicht immer eine Fehlprogrammierung bedeuten, sondern können auf eine Änderung in Ihrer Modellierung hindeuten. Was genau der Hintergrund für eine abweichende Berechnung ist, kann nur im Einzelfall geklärt werden. 
 +
 +==== Durchführung für Druckform ====
 +
 +Wählen Sie zunächst die gewünschte Sprache aus der Klappbox aus. Klicken Sie dann auf //Einlesen// und öffnen Sie die vorbereitete Datei. Sie können dafür die selbe Datei wie für die Zeugnisrechnung nutzen, oder auch eine andere Datei zusammenstellen. 
 +
 +{{:tools:unittest4.jpg?nolink |}}
 +
 +Sie sehen nun die geladenen Druckformen, und wann diese erzeugt wurden. Fehlt das Erzeugungsdatum, konnte die Druckform nicht gefunden werden. Eventuell liegt ein Tippfehler in der Liste der Zeugnisse vor oder die Druckform wurde inzwischen gelöscht. 
 +
 +Klicken Sie auf das + vor der einer Druckform, um die unteren Ebenen zu sehen.
 +
 +{{:tools:unittest5.jpg?nolink|}}
 +
 +Wenn Sie auf //Start// klicken, erzeugt das Programm die Druckform neu und vergleicht sämtliche Zeichenketten und Ebenen miteinander. Gibt es Abweichungen, werden diese in der entsprechenden Zeile ausgegeben. 
 +
 +{{:tools:unittest6.jpg?nolink|}}
 +
 +Dabei wird jeweils das Datenbankfeld, bei dem es zu einer Abweichung gekommen ist, ausgegeben. Im Bild ist als erstes Feld auf Ebene des Druckform-Kopfes "dapruefungsfach" genannt, auf der Ebene darunter in Position 1 das Feld "typ".
 +
 +Nach der Feldangabe steht in Klammern zuerst der vorhandene Text, dann folgt ein Schrägstrich, und danach der neu erzeugte Text. Dabei können führende oder angehängte Leerzeichen leider nicht dargestellt werden. Wenn sich die Texte also scheinbar nicht unterscheiden, dann ist wahrscheinlich ein Leerzeichen die Ursache. 
 +
 +Im Bild ist also für das Feld "dapruefungsfach" der Wert "Kolloquium" aktuell in der Datenbank gespeichert. Abweichend davon würde die Druckform nun mit dem Wert "Bachelorarbeit" erzeugt. 
 +
 +Wann eine Änderung akzeptabel ist, muss je nach Fall beurteilt werden. Unkritisch sollten sein:
 +  * Prüfernamen, die neu erscheinen
 +  * Nicht mehr auftauchende Kommata am Ende von Zeichenketten
 +  * Leere Teilprüfungen oder Teilprüfungsteile, die nicht mehr erzeugt werden
 +  * Leere Zahlenfelder, wo früher 0 stand
 +  * Beim DAVolumen wird nur noch das Volumen der Teilprüfung ausgegeben, die wirklich die Abschlussarbeit ist, und nicht mehr die Summe des Volumens aller Teilprüfungen des zugehörigen Prüfungsfaches. 
 +  * Eine veränderte Anzahl Nachkommastellen
 +  * Bei fremdsprachigen Druckformen: Prüfungsbemerkungen in der passenden Sprache
 +  * Zusätzliche Ausgaben, die früher einfach nicht gefüllt wurden
 +
 +==== Reiter Bestehensrechnung ====
 +
 +Hier werden bei unseren technischen Umstellungen wechselnde Funktionen für eine Überprüfung vorher/nachher zur Verfügung gestellt. Dabei ist lediglich eine Anzahl an zu testenden Datensätzen anzugeben. Es wird eine zufällige Kohorte von passenden Datensätzen in der angegebenen Menge ausgewählt und überprüft. 
 +
 +Zum gezielten Testen einzelner Datensätze lässt sich auch ein Lesezeichen angeben. 
 +
 +Tritt beim Testen eine Abweichung auf, werden die relevanten Werte vorher/nachher sowie das zugehörige Lesezeichen ausgegeben. 
tools/unittest.1492073739.txt.gz · Zuletzt geändert: 2017/04/13 10:55 von 127.0.0.1