Systemmodellierung 2019: Optionale Zusatzhausaufgabe (Cucumber)

Die optionale Zusatzhausaufgabe ist das funktionale Testen der eigenen Schachuhren, die Sie in Ihren Hausaufgaben modelliert haben.

Sie müssen Testfälle (Szenarien) schreiben, die für Ihre Schachuhr eine Sequenz von Eingaben (Knopfdrücke), gegebenfalls Zeitvorstellungen, und erwartete Ausgaben (Ausschreibungen, Pipstöne) definieren. Am Ende jedes Testfalles (und wo es sinnvoll ist, auch innerhalb der Sequenzen) müssen die Ausgaben überprüft werden. Die Testfälle müssen am Ende an Ihrer Schachuhr natürlich erfolgreich ablaufen.

Während der Entwicklung Ihrer Testfälle sollen Sie die Struktur Ihres Modelles berücksichtigen, um eine möglichst hohe Abdeckung zu erreichen. Die Übergangsabdeckung Ihres Testsatzes soll mit einem Werkzeug (EclEmma) gezeigt werden, welches den generierten Kode Ihrer Schachuhr bearbeiten, und die Abdeckung (mit etwas Ungenauigkeit) am Kode auch graphisch darstellen kann. Für ein Maximum an Extra-Punkte muss die Übergangsabdeckung vollständig sein. (Praktisch können Sie es daran messen, wie großer Teil der die Übergänge implementierenden Funktionen check_, react_, effect_, und der die Zustandseintreten und -austreten implementierenden Funktionen enterSequence_, exitSequence_ abgedeckt werden.)

Ihre Testfälle sollen in der chessclock.feature-Datei in der Gherkin-Sprache spezifiziert werden, und mit Hilfe des Cucumber- Werkzeugs ausgeführt werden. Die Gherkin-Sprache bietet ein gut lesbares Format für die Spezifikation der Testfälle an. Wir bieten ein Cucumber-Projekt zum Herunterladen an, welches alle nötige Ausführungschritte implementiert.Dasselbe Projekt enthält auch eine chessclock.feature-Datei mit Muster-Testfällen (die für Ihre Schachuhr nicht unbedingt gültig oder sinnvoll sind), um die Gherkin-Sprache zu demonstrieren, Ihre Anfangsschritte zu erleichtern.

Falls Sie vorhaben, diese Zusatzaufgabe zu lösen, bitte lesen Sie zuerst unsere technische Beschreibung über die Installation und Benutzung der oben erwähnten Technologien und Werkzeuge, die sowohl auf ungarisch, als auch auf englisch zu lesen ist. Fertigen Sie Ihre Lösung in dem oben erwähnten Cucumber-Projekt an.

Bedingungen:

  • Abgabefrist: Ende des Semesters (19. Mai 2019 23:59), Abgabe durch das Hausaufgabenportal (Extra / IMSc feladat)
  • In einer ZIP-Datei abzugeben sind:
    • die chessclock.feature-Datei mit Ihrem Testsatz
    • eine kurze deutschsprachige Dokumentation (in PDF-Format) Ihres Testsatzes mit Ihrem Entwicklungansatz und mit Bildschirmbilder (Coverage-Ansicht des EclEmma) über der erreichten Abdeckung
  • Sie müssen Ihre Lösung auch mündlich verteidigen.
  • Für Ihre Lösung können Sie maximal 10 Extra-Punkte bekommen.