Lab1 - Test Scenarios

  • Hey,
    während der Entwicklung der Lab1-Übung habe ich ein paar Test Szenarien für die zur Verfügung gestellte Testumgebung erstellt.
    Die Szenarien überprüfen zumindest rudimentär jedes der möglichen Client-Kommandos aus der Angabe.
    Das Durchlaufen der Szenarien bedeutet nicht die Fehlerfreiheit eurer Implementierung, aber vielleicht sind die Testfälle ja trotzdem für jemanden hilfreich.


    Die Szenarien sind auf den folgenden Inhalt der user.properties-Datei ausgelegt:

    Code
    1. alice.vienna.at.password = 12345
    2. bill.de.password = 23456
    3. tom.ch.password = test
    4. max.us.password = password


    Außerdem überprüft das Szenario 01_login_logout_test die Ausgabe des Clients beim Einloggen mit einem bereits vergebenen Benutzernamen.
    Diese lautet in meiner Implementierung: user already logged in on another client.


    Falls ich etwas übersehen habe, oder ein Szenario einen Fehler enthält, freue ich mich natürlich über Rückmeldungen.
    Dieser Thread kann gerne für den Austausch weiterer Testfälle verwendet werden.


    Schöne Grüße

  • Ich hab mir die Testfälle mal angesehen und mir ist ein "Fehler" aufgefallen:


    In deinem Mixed-Test wird bei mir eine Assertion geworfen, weil dort "tom.ch" NICHT vorkommen soll.
    Das betrifft deinen aller letzten list-Befehl von Client max.


    Das Problem tritt auf, weil du den Client max beim registrieren zuletzt ansprichst. Dadurch, dass max aber eine private Nachricht bekommt (und bei mir der Absender der Privaten Nachricht in der Nachricht enthalten ist), wird die Nachricht auch im userStream geschrieben und scheint damit auch in dem list Befehl auf, da dort der zu überprüfende String ebenfalls die private Nachricht enthält ;)


    Mit ist klar, dass das Implementierungsabhängig ist - Nur falls sich jemand wundert, warum dort ein Error auftreten KÖNNTE.

  • Ich hab mir die Testfälle mal angesehen und mir ist ein "Fehler" aufgefallen.


    Hey!
    Da hast du vollkommen recht. In meiner Implementierung wird der Absender einer private Nachricht nicht ausgegeben, deshalb ist mir das nicht aufgefallen.
    Ich habe den Test aktualisiert und im zweiten Post erneut hochgeladen.


    Dank für das Feedback!

  • Nur ein paar Fragen zu den Tests, sollten Successfully logged out usw nicht groß starten wie in der Angabe? Und müssen die !list und !user Strings so aussehen? Ich gebe das über shell.writeLine aus und halt auch exakt wie in der Angabe, ich glaube ich übersehe da Zwischenschritte :confused:

  • Hey,



    Nur ein paar Fragen zu den Tests, sollten Successfully logged out usw nicht groß starten wie in der Angabe?


    Die zur Verfügung gestellt Testumgebung ignoriert die Groß/Kleinschreibung bei einem verify-Aufruf ohne Flags, deshalb sollte das nicht ins Gewicht fallen.



    Und müssen die !list und !user Strings so aussehen? Ich gebe das über shell.writeLine aus und halt auch exakt wie in der Angabe, ich glaube ich übersehe da Zwischenschritte


    Die Ausgaben der !list und !user Kommandos werden nicht Zeichen für Zeichen, sondern mit einer Regular Expression überprüft.
    Welche konkreten Probleme hast du beim Ausführen der Testfälle?



    Schöne Grüße