
\section{Tests}

\subsection{Registrierung}\label{t:register}
\vspace{0.3cm}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Ein Fenster ist im Browser geöffnet.
    \item [Aktion] Der Benutzer gibt die URL der Weboberfläche in die Kopfzeile ein und drückt Enter. 
    \item [Reaktion] Der Browser wechselt zur Anmeldeseite der Weboberfläche.
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Der Browser wechselt zur Registrierungsseite.
\end{description}

\item
\begin{enumerate}

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite mit Registrierungsmöglichkeit in der Mitte des Fensters ist geladen.
    \item [Aktion] Der Benutzer gibt \enquote{pseIstToll@test.com} als E-Mail und \enquote{Test123!?} als Passwort ein. Weiter gibt er \enquote{test123!?} in das \enquote{Wiederholen} Feld ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Die Registrierungsseite bleibt geladen. Im E-Mail-Feld steht \enquote{pseIstToll@test.com}, im Feld \enquote{Passwort} steht \enquote{Test123!?} und im Feld \enquote{Wiederholen} steht \enquote{test123!?}. Der Benutzer wird aufgefordert in die Felder \enquote{Passwort} und \enquote{Wiederholen} das gleiche Passwort einzugeben.
\end{description}

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Als E-Mail ist \enquote{pseIstToll@test\-.com}, als Passwort \enquote{Test123!?} und \enquote{test123!?} in das Feld \enquote{Wiederholen} eingetragen.
    \item [Aktion] Der Benutzer gibt \enquote{Test123!?} in das Feld \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Dem Benutzer wird angezeigt, dass an die angegebene E-Mail-Adres\-se eine E-Mail mit einem Bestätigungslink versendet wurde. Der Benutzer wird aufgefordert diesen zu Bestätigen um die Registrierung abzuschließen.
\end{description}

\end{enumerate}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die Registrierung begonnen und die E-Mail mit dem Bestä\-tigungs-Link erhalten. Der Benutzer hat noch nicht auf den Bestätigungs-Link geklickt.
	\item [Aktion] Der Benutzer klickt innerhalb von 24 Stunden nach Versendung auf den Bestätigungs-Link.
	\item [Reaktion] Der Account wird erstellt und der Benutzer wird auf die Anmeldeseite weitergeleitet.
\end{description}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die Registrierung bereits abgeschlossen.
	\item [Aktion] Der Benutzer klickt auf den Bestätigungs-Link.
	\item [Reaktion] Der Benutzer erhält eine Fehlermeldung, dass der Link abgelaufen ist.
\end{description}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die Registrierung begonnen und die E-Mail mit dem Bestä\-tigungs-Link erhalten. Die E-Mail wurde vor mehr als 24 Stunden versendet. Der Benutzer hat den Bestätigungs-Link noch nicht angeklickt.
	\item [Aktion] Der Benutzer klickt auf den Bestätigungs-Link.
	\item [Reaktion] Der Benutzer erhält eine Fehlermeldung, dass der Link abgelaufen ist. Der Account wird nicht erstellt. Der Benutzer wird auf die Anmeldeseite weitergeleitet.
\end{description}

\item
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Es ist bereits ein Account mit der E-Mail-Adresse \enquote{pseIstToll@test.com} registriert.
    \item [Aktion] Der Benutzer gibt \enquote{pseIstToll@test.com} als E-Mail-Adresse und \enquote{Test123!?} als Passwort ein. Weiter gibt er das gleiche Passwort in das Feld \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Die Registrierungsseite bleibt geladen. Es wird eine Fehlermeldung ausgegeben, dass diese E-Mail-Adresse bereits vergeben ist.\\
\end{description}

\end{enumerate}

\newpage


\subsection{Passwort Anforderungen}\label{t:pw-req}
\vspace{0.3cm}

\begin{description}
	\item [Anmerkung] Die Testfälle sind beispielhaft für den Vorgang der Registrierung entworfen worden. Es wird analoges Verhalten bei den Vorgängen \enquote{Passwort ändern} \ref{t:change-pw} und \enquote{Passwort vergessen} \ref{t:forgot-pw} erwartet.
\end{description}

\begin{enumerate}

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Als E-Mail-Adresse ist \enquote{pseIstToll@test\-.com} eingetragen.
    \item [Aktion] Der Benutzer gibt \enquote{test} in die Felder \enquote{Passwort} und \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Die Registrierungsseite bleibt geladen. Dem Benutzer wird angezeigt das sein Passwort nicht die Passwort-Mindestanforderungen erfüllt. Weiter wird farblich angezeigt, dass sein Passwort nicht:
    \color{red}
    \begin{itemize}
    \item mindestens 8 Zeichen lang ist.
    \item mindestens einen Großbuchstaben enthält.
    \item mindestens eine Zahl enthält.
    \item mindestens ein Sonderzeichen enthält.
    \end{itemize}
    \color{black}
    Dem Benutzer wird farblich angezeigt dass sein Passwort:
    \color{ForestGreen}
    \begin{itemize}
    \item mindestens einen Kleinbuchstaben enthält.
    \end{itemize}
    \color{black}
\end{description}

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Als E-Mail ist \enquote{pseIstToll@test.com} eingetragen.
    \item [Aktion] Der Benutzer gibt \enquote{Test123} in die Felder \enquote{Passwort} und \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Die Registrierungsseite bleibt geladen. Dem Benutzer wird angezeigt das sein Passwort nicht die Passwort-Mindestanforderungen erfüllt. Weiter wird farblich angezeigt, dass sein Passwort nicht:
    \color{red}
    \begin{itemize}
    \item mindestens 8 Zeichen lang ist.
    \item mindestens ein Sonderzeichen enthält.
    \end{itemize}
    \color{black}
    Dem Benutzer wird farblich angezeigt dass sein Passwort:
    \color{ForestGreen}
    \begin{itemize}
    \item mindestens einen Kleinbuchstaben enthält.
    \item mindestens einen Großbuchstaben enthält.
    \item mindestens eine Zahl enthält.
    \end{itemize}
    \color{black}
\end{description}

\newpage

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Als E-Mail-Adresse ist \enquote{pseIstToll@test\-.com} eingetragen.
    \item [Aktion] Der Benutzer gibt \enquote{TEST123?} in die Felder \enquote{Passwort} und \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Die Registrierungsseite bleibt geladen. Dem Benutzer wird angezeigt das sein Passwort nicht die Passwort-Mindestanforderungen erfüllt. Weiter wird farblich angezeigt, dass sein Passwort nicht:
    \color{red}
    \begin{itemize}
    \item mindestens einen Kleinbuchstaben enthält.
    \end{itemize}
    \color{black}    
    Dem Benutzer wird farblich angezeigt dass sein Passwort:
    \color{ForestGreen}
    \begin{itemize}
    \item mindestens 8 Zeichen lang ist.
    \item mindestens einen Großbuchstaben enthält.
    \item mindestens eine Zahl enthält.
    \item mindestens ein Sonderzeichen enthält.
    \end{itemize}
    \color{black}
\end{description}

\item 
\begin{description}
    \item [Stand] Die Registrierungsseite ist geladen. Als E-Mail ist \enquote{pseIstToll@test.com} eingetragen.
    \item [Aktion] Der Benutzer gibt \enquote{Test123!?} in die Felder \enquote{Passwort} und \enquote{Wiederholen} ein. Dann klickt der Benutzer auf den Knopf \enquote{Registrieren}.
    \item [Reaktion] Dem Benutzer wird angezeigt, dass an die angegebene E-Mail-Adresse eine E-Mail mit einem Bestätigungslink versendet wurde. Der Benutzer wird aufgefordert diesen zu bestätigen um die Registrierung abzuschließen.\\
\end{description}

\end{enumerate}

\newpage


\subsection{Anmeldung}\label{t:login}
\vspace{0.3cm}

\begin{description}
	\item [Vorbedingung] Es ist nur ein Benutzer registriert. Dieser hat die E-Mail \enquote{pseIstToll@test\-.com} und das Passwort \enquote{Test123!?}. Die Option \enquote{Angemeldet bleiben} wurde nicht verwendet.
\end{description}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Ein Fenster ist im Browser geöffnet.
    \item [Aktion] Der Benutzer gibt die URL der Weboberfläche in die Kopfzeile ein und drückt Enter. 
    \item [Reaktion] Der Browser wechselt zur Anmeldeseite der Weboberfläche.
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite mit Anmeldemöglichkeit in der Mitte des Fensters ist im Browser geladen.
    \item [Aktion] Der Benutzer macht keine Eingaben und klickt auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Die Anmeldeseite bleibt geladen. Der Benutzer wird aufgefordert die Felder \enquote{E-Mail-Adresse} und \enquote{Passwort} auszufüllen.
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt als E-Mail-Adresse \enquote{pseIstToll@test.com} ein aber gibt kein Passwort ein. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}. 
    \item [Reaktion] Die Anmeldeseite bleibt geladen. Im E-Mail-Feld ist \enquote{pseIstToll@test\-.com} eingetragen. Der Benutzer wird aufgefordert das Passwort-Feld auszufüllen.
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstSuperToll@test.com} ein und gibt \enquote{Test123!?} als Passwort ein. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Die Anmeldeseite bleibt geladen. Als E-Mail ist \enquote{pseIstSuperToll@test\-.com} und als Passwort \enquote{Test123!?} eingetragen. Dem Benutzer wird eine Fehlermeldung ausgegeben: \enquote{E-Mail-Adresse oder Passwort ist ungültig!}
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstToll@test.com} ein und gibt \enquote{test} als Passwort ein. Der Benutzer wählt die Option \enquote{Angemeldet bleiben} aus. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Die Anmeldeseite bleibt geladen. Als E-Mail ist \enquote{pseIstToll@test.com} und als Passwort \enquote{test} eingetragen. Die Option \enquote{Angemeldet bleiben} ist ausgewählt. Dem Benutzer wird eine Fehlermeldung ausgegeben: \enquote{E-Mail-Adresse oder Passwort ist ungültig!}
\end{description}

\newpage

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.  Als E-Mail ist \enquote{pseIstToll@test\-.com} und als Passwort \enquote{test} eingetragen. Die Option \enquote{Angemeldet bleiben} ist ausgewählt.
    \item [Aktion] Der Benutzer gibt \enquote{Test123!?} als Passwort ein. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Der Browser wechselt zum \Gls{dashboard}.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer hat sich erfolgreich angemeldet. Bei der Anmeldung wurde die Option \enquote{Angemeldet bleiben} ausgewählt.
    \item [Aktion] Der Benutzer startet seinen Browser neu. Dann gibt er die URL der Weboberfläche in der Kopfzeile ein und drückt Enter.
    \item [Reaktion] Der Benutzer wird automatisch angemeldet und das
        \Gls{dashboard} geladen.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer hat sich erfolgreich angemeldet. Bei der Anmeldung wurde die nicht Option \enquote{Angemeldet bleiben} ausgewählt.
    \item [Aktion] Der Benutzer startet seinen Browser neu. Dann gibt er die URL der Weboberfläche in der Kopfzeile ein und drückt Enter.
    \item [Reaktion] Der Browser wechselt zur Anmeldeseite. Der Benutzer wird nicht automatisch angemeldet.\\
\end{description}

\end{enumerate}

\newpage


\subsection{Passwort ändern}\label{t:change-pw}
\vspace{0.3cm}

\begin{description}
	\item [Vorbedingung] Es gibt einen Benutzer mit der E-Mail \enquote{pseIstToll@test.com} und dem Passwort \enquote{Test123!?}.
\end{description}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Das \Gls{dashboard} ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Profil-Knopf oben rechts (Pfeil nach unten neben dem Männchen). Dann klickt er in dem geöffneten Menu oben rechts auf den Knopf \enquote{Einstellungen}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Einstellungs}-Oberfläche.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Die \enquote{Einstellungs}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer macht keine Eingaben und klickt auf den Knopf \enquote{Passwort ändern}.
    \item [Reaktion] Die \enquote{Einstellungs}-Oberfläche bleibt geladen. Der Benutzer wird aufgefordert die Felder \enquote{Altes Passwort}, \enquote{Neues Passwort} und \enquote{Wiederholen} auszufüllen.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Die \enquote{Einstellungs}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt \enquote{test} als altes Passwort ein. Weiter gibt er in die Felder \enquote{Neues Passwort} und \enquote{Wiederholen} \enquote{NeuerTest123!?} ein. Dann klickt er auf den Knopf \enquote{Passwort ändern}.
    \item [Reaktion] Die \enquote{Einstellungs}-Oberfläche bleibt geladen. Der Benutzer bekommt eine Fehlermeldung, dass das alte Passwort falsch ist. In den Feldern \enquote{Neues Passwort} und \enquote{Wiederholen} steht weiter \enquote{NeuerTest123!?}.
\end{description}

\item 
\begin{description}
        \item [Stand] Der Benutzer ist angemeldet. Die \enquote{Einstellungs}-Oberfläche ist im Browser geladen.
        \item [Aktion] Der Benutzer gibt \enquote{Test123!?} als altes Passwort ein. Weiter gibt er in die Felder \enquote{Neues Passwort} und \enquote{Wiederholen} \enquote{neuerTest} ein. Dann klickt er auf den Knopf \enquote{Passwort ändern}.
        \item [Reaktion] Die \enquote{Einstellungs}-Oberfläche bleibt geladen. Dem Benutzer wird angezeigt das sein neues Passwort nicht die Passwort-Mindestanforderungen erfüllt. Weiter wird farblich angezeigt, dass sein Passwort nicht:
    \color{red}
    \begin{itemize}
        \item mindestens eine Zahl enthält.
        \item mindestens ein Sonderzeichen enthält.
    \end{itemize}
    \color{black}    
    Dem Benutzer wird farblich angezeigt, dass sein Passwort:
    \color{ForestGreen}
    \begin{itemize}
        \item mindestens 8 Zeichen lang ist.
        \item mindestens einen Kleinbuchstaben enthält.
        \item mindestens einen Großbuchstaben enthält.
    \end{itemize}
    \color{black}
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Die \enquote{Einstellungs}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt in das \enquote{Altes Passwort}-Feld \enquote{Test123!?} ein. Er gibt in das \enquote{Neues Passwort}-Feld und in das \enquote{Wiederholen}-Feld \enquote{NeuerTest123!?} ein. Dann klickt er auf den Knopf \enquote{Passwort ändern}.
    \item [Reaktion] Die \enquote{Einstellungs}-Oberfläche bleibt geladen. Die Felder \enquote{Altes Passwort}, \enquote{Neues Passwort} und \enquote{Wiederholen} werden geleert. Dem Benutzer wird angezeigt, dass das Passwort erfolgreich geändert wurde.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Die \enquote{Einstellungs}-Oberfläche ist im Browser geladen. Sein Passwort wurde zu \enquote{NeuerTest123!?} geändert.
    \item [Aktion] Der Benutzer meldet sich ab.
    \item [Reaktion] Der Browser wechselt zur Anmeldeseite. Der Benutzer ist abgemeldet.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist abgemeldet. Die Anmeldeseite ist geladen.
    \item [Aktion] Der Benutzer gibt als E-Mail \enquote{pseIstToll@test.com} und \enquote{Test123!?} als Passwort ein. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Die Anmeldeseite bleibt geladen. Als E-Mail ist \enquote{pseIstToll@test.com} eingetragen und als Passwort ist \enquote{Test123!?} eingetragen. Dem Benutzer wird per Fehlermeldung ausgegeben, dass E-Mail-Adresse oder Passwort ungültig sind.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer ist abgemeldet. Die Anmeldeseite ist geladen.
    \item [Aktion] Der Benutzer gibt als E-Mail \enquote{pseIstToll@test.com} und \enquote{NeuerTest123!?} als Passwort ein. Dann klickt der Benutzer auf den Knopf \enquote{Anmelden}.
    \item [Reaktion] Der Browser wechselt zum \Gls{dashboard}.\\
\end{description}

\end{enumerate}

\newpage


\subsection{Passwort vergessen}\label{t:forgot-pw}
\vspace{0.3cm}

\begin{description}
	\item [Vorbedingung] Es gibt nur einen registrierten Benutzer. Dieser hat die E-Mail \enquote{pseIstToll@test.com} und \enquote{Test123!?} als Passwort.
\end{description}

\begin{enumerate}

\item
\begin{description}   
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Knopf \enquote{Passwort vergessen?}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Passwort vergessen}-Seite.
\end{description}

\item
\begin{description}
    \item [Stand] Die Passwort-Vergessen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstSuperToll@test.com} ein. Dann klickt der Benutzer auf den Knopf \enquote{Bestätigen}.
    \item [Reaktion] Die \enquote{Passwort zurücksetzen}-Seite bleibt geladen. Dem Benutzer wird eine Fehlermeldung angezeigt, dass diese E-Mail-Adresse nicht vergeben ist.
\end{description}

\item
\begin{description}
    \item [Stand] Die Passwort-Vergessen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstToll@test.com} ein. Der Benutzer klickt auf den Knopf \enquote{Bestätigen}.
    \item [Reaktion] Der Benutzer wird darüber benachrichtigt, dass an die angegebene E-Mail-Adresse eine E-Mail mit einem Link zum Zurücksetzen des Passworts versendet wurde.
\end{description}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die E-Mail mit dem Link zum Zurücksetzen des Passworts erhalten und sein Passwort noch nicht zurückgesetzt.
	\item [Aktion] Der Benutzer klickt innerhalb von 24 Stunden nach Versendung auf den Link zum Passwort Zurücksetzen.
	\item [Reaktion] Der Browser wechselt zur \enquote{Passwort zurücksetzen}-Seite.
\end{description}

\item 
\begin{description}
        \item [Stand] Im Browser ist die \enquote{Passwort zurücksetzen}-Seite geladen.
        \item [Aktion] Der Benutzer gibt in die Felder \enquote{Neues Passwort} und \enquote{Wiederholen} \enquote{neuerTest} ein. Dann klickt er auf den Knopf \enquote{Passwort zurücksetzen}.
        \item [Reaktion] Die \enquote{Passwort zurücksetzen}-Seite bleibt geladen. Dem Benutzer wird angezeigt das sein neues Passwort nicht die Passwort-Mindestanforderungen erfüllt. Weiter wird farblich angezeigt, dass sein Passwort nicht:
    \color{red}
    \begin{itemize}
        \item mindestens eine Zahl enthält.
        \item mindestens ein Sonderzeichen enthält.
    \end{itemize}
    \color{black}    
    Dem Benutzer wird farblich angezeigt, dass sein Passwort:
    \color{ForestGreen}
    \begin{itemize}
        \item mindestens 8 Zeichen lang ist.
        \item mindestens einen Kleinbuchstaben enthält.
        \item mindestens einen Großbuchstaben enthält.
    \end{itemize}
    \color{black}
\end{description}

\newpage

\item
\begin{description}
	\item [Stand] Im Browser ist die \enquote{Passwort zurücksetzen}-Seite geladen.
	\item [Aktion] Der Benutzer gibt in das \enquote{Neues Passwort}-Feld und in das \enquote{Wiederholen}-Feld \enquote{NeuerTest123!?} ein. Dann klickt der Benutzer auf den Knopf \enquote{Passwort zurücksetzen}.
	\item [Reaktion] Der Browser wechselt zur Anmeldeseite. Der verwendete Link zum zurücksetzen des Passworts wird ungültig.
\end{description}

\item
\begin{description}
	\item [Stand] Im Browser ist die Anmeldeseite geladen.
	\item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstToll@test.com} und \enquote{Test\-123!?} als Passwort ein.
	\item [Reaktion] Die Anmeldeseite bleibt geladen. Der Benutzer bekommt eine Fehlermeldung, dass die E-Mail oder das Passwort ungültig ist.
\end{description}

\item
\begin{description}
	\item [Stand] Im Browser ist die Anmeldeseite geladen.
	\item [Aktion] Der Benutzer gibt in das \enquote{E-Mail}-Feld \enquote{pseIstToll@test.com} und \enquote{NeuerTest123!?} als Passwort ein.
        \item [Reaktion] Der Browser wechselt zum \Gls{dashboard}.
\end{description}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die E-Mail mit dem Link zum Zurücksetzen des Passworts erhalten und sein Passwort noch nicht zurückgesetzt. Die E-Mail wurde vor mehr als 24 Stunden versendet.
	\item [Aktion] Der Benutzer klickt auf den Link zum Passwort Zurücksetzen.
	\item [Reaktion] Der Benutzer bekommt eine Fehlermeldung, dass der Link abgelaufen ist. Das Passwort wird nicht zurückgesetzt. Der Benutzer wird auf die Anmeldeseite weitergeleitet.
\end{description}

\item
\begin{description}
	\item [Stand] Der Benutzer hat die E-Mail mit dem Link zum Zurücksetzen des Passworts erhalten und sein Passwort bereits über diesen Link zurückgesetzt.
	\item [Aktion] Der Benutzer klickt erneut auf den Link zum Passwort Zurücksetzen.
	\item [Reaktion] Der Benutzer bekommt eine Fehlermeldung, dass der Link abgelaufen ist. Das Passwort wird nicht zurückgesetzt. Der Benutzer wird auf die Anmeldeseite weitergeleitet.\\
\end{description}

\end{enumerate}

\newpage


\subsection{Account Löschen}\label{t:delete-acc}
\vspace{0.3cm}

\begin{description}
	\item [Vorbedingung] Es gibt den registrierten Benutzer mit der E-Mail \enquote{pseIstToll@test.com} und \enquote{Test123!?} als Passwort.
\end{description}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Der Benutzer ist angemeldet. Im Browser ist die Einstellungsseite geladen.  Möglichkeit zum Löschen des Accounts unten links.  
    \item [Aktion] Der Benutzer klickt auf den Knopf \enquote{Account löschen}.
    \item [Reaktion] Der Browser wechselt zur Account-Löschen-Seite. Auf dieser wird der Benutzer aufgefordert sein Passwort einzugeben um den Vorgang des Löschens zu Bestätigen.
\end{description}

\item
\begin{description}
    \item [Stand] Die Account-Löschen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer macht keine Eingaben und klickt auf den Knopf \enquote{Account löschen bestätigen}.
    \item [Reaktion] Die Account-Löschen-Seite bleibt geladen. Dem Benutzer wird eine Fehlermeldung angezeigt, dass er um die Account Löschung zu bestätigen sein Passwort eingeben muss.
\end{description}

\item
\begin{description}
    \item [Stand] Die Account-Löschen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt \enquote{test123!?} als Passwort ein und klickt auf den Knopf \enquote{Account löschen bestätigen}.
    \item [Reaktion] Es bleibt die Account-Löschen-Seite geladen. Dem Benutzer wird eine Fehlermeldung angezeigt, dass das Passwort falsch ist.
\end{description}

\item
\begin{description}
    \item [Stand] Die Account-Löschen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt \enquote{Test123!?} als Passwort ein und klickt auf den Knopf \enquote{Account löschen bestätigen}.
    \item [Reaktion] Der Account des Benutzers wird zusammen mit allen dazugehörigen gespeicherten Daten gelöscht. Der Browser wechselt zur Anmeldeseite.
\end{description}

\item
\begin{description}
    \item [Stand] Die Anmeldeseite ist im Browser geladen.
    \item [Aktion] Der Benutzer gibt als E-Mail \enquote{pseIstToll@test.com} und \enquote{Test123!?} als Passwort ein. Dann klickt er auf den \enquote{Anmelden} Knopf.
    \item [Reaktion] Die Anmeldeseite bleibt geladen und dem Benutzer wird eine Fehlermeldung angezeigt: \enquote{E-Mail-Adresse oder Passwort ist ungültig!}
\end{description}

\item
\begin{description}
    \item [Stand] Die Account-Löschen-Seite ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den \enquote{Abbrechen} Knopf.
    \item [Reaktion] Der Account wird nicht gelöscht. Der Browser wechselt zur Einstellungsseite.
\end{description}

\end{enumerate}

\newpage


\subsection{Synchronisation: Podcast abonnieren}\label{t:sync-sub}
\vspace{0.3cm}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Der Benutzer ist in einem synchronisierten \Gls{podcatcher} angemeldet.
    \item [Aktion] Der Benutzer fügt den \Gls{podcast} \enquote{Der tagesschau
        Zukunfts-Podcast: mal angenommen} zu seinen \Glspl{abo} hinzu.
    \item [Reaktion] Der \Gls{podcatcher} synchronisiert das neue \Gls{abo}.
\end{description}

\item
\begin{description}
    \item [Stand] Dem Benutzer wird die \enquote{Zuletzt gehört}-Oberfläche angezeigt.
    \item [Aktion] Der Benutzer klickt auf den Reiter \enquote{Podcasts}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Podcasts}-Oberfläche.
        Diese zeigt eine Liste aller abonnierten \Glspl{podcast}. Der oberste
        Eintrag ist der \Gls{podcast} \enquote{Der tagesschau Zukunfts-Podcast:
        mal angenommen}.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer meldet sich über ein anderes Gerät in einem
        synchronisierten \Gls{podcatcher} an.
    \item [Aktion] Der Benutzer lässt sich im \Gls{podcatcher} die Liste seiner
        \Glspl{abo} anzeigen.
    \item [Reaktion] Nach kurzer Zeit oder durch manuelles Synchronisieren wird
        dem Benutzer dort ebenfalls die aktualisierte Liste der \Glspl{abo}
        angezeigt. Diese enthält insbesondere den Eintrag mit dem \Gls{podcast} \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen}.\\
\end{description}

\end{enumerate}


\subsection{Synchronisation: Podcast deabonnieren}\label{t:sync-unsub}
\vspace{0.3cm}

\begin{description}
    \item [Vorbedingung] Der Benutzer hat den \Gls{podcast} \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen} abonniert.
\end{description}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Der Benutzer ist in einem synchronisierten \Gls{podcatcher} angemeldet.
    \item [Aktion] Der Benutzer deabonniert den \Gls{podcast} \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen}.
    \item [Reaktion] Der \Gls{podcatcher} synchronisiert die reduzierte Liste
        der \Glspl{abo}.
\end{description}

\item
\begin{description}
    \item [Stand] Die \enquote{Zuletzt gehört}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Reiter \enquote{Podcasts}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Podcasts}-Oberfläche.
        Diese zeigt die aktuelle Liste aller abonnierten \Glspl{podcast}. Der Eintrag \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen} ist nicht mehr in der Liste enthalten.\\
\end{description}

\end{enumerate}

\newpage

\subsection{Synchronisation: \Gls{episode} anhören}\label{t:sync-episode}
\vspace{0.3cm}

\begin{enumerate}

\item
\begin{description}
    \item [Stand] Der Benutzer ist in einem synchronisierten \Gls{podcatcher} angemeldet.
    \item [Aktion] Der Benutzer hört sich die \Gls{episode} \enquote{Kein Handel mit
        China? Was dann?} des \Glspl{podcast} \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen} bis zum Zeitpunkt 7 Minuten 19 Sekunden an. Dann beendet er die Wiedergabe.
    \item [Reaktion] Der \Gls{podcatcher} synchronisiert den Fortschritt beim
        Anhören der \Gls{episode}.
\end{description}

\item
\begin{description}
    \item [Stand] Die \enquote{Podcasts}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Reiter \enquote{Zuletzt gehört}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Zuletzt
        gehört}-Oberfläche. Diese zeigt eine Liste aller angefangenen, aber
        nicht beendeten \Glspl{episode} mit korrespondierendem Hörfortschritt
        an. Die Liste ist nach der Aktualität des Anhörens oder Ansehens einer
        \Gls{episode} sortiert. Der oberste Eintrag ist die \Gls{episode} \enquote{Kein Handel mit China? Was dann?} mit dem Fortschritt 7 Minuten 19 Sekunden.
\end{description}

\item
\begin{description}
    \item [Stand] Der Benutzer meldet sich über ein anderes Gerät in einem
        synchronisierten \Gls{podcatcher} an.
    \item [Aktion] Der Benutzer hört sich die \Gls{episode} \enquote{Kein Handel mit
        China? Was dann?} des \Glspl{podcast} \enquote{Der tagesschau Zukunfts-Podcast: mal angenommen} bis zum Zeitpunkt 4 Minuten 30 Sekunden an. Dann beendet er die Wiedergabe.
    \item [Reaktion] Der \Gls{podcatcher} synchronisiert den Fortschritt beim
        Anhören der \Gls{episode}.
\end{description}

\item
\begin{description}
    \item [Stand] Die \enquote{Podcasts}-Oberfläche ist im Browser geladen.
    \item [Aktion] Der Benutzer klickt auf den Reiter \enquote{Zuletzt gehört}.
    \item [Reaktion] Der Browser wechselt zur \enquote{Zuletzt
        gehört}-Oberfläche. Der oberste Eintrag der \enquote{Zuletzt
        gehört}-Liste ist die \Gls{episode} \enquote{Kein Handel mit China? Was dann?} mit dem Fortschritt 4 Minuten 30 Sekunden.\\
\end{description}

\end{enumerate}


\subsection{Benutzeranleitung anzeigen}\label{t:man}
\vspace{0.3cm}

\begin{description}
	\item [Stand] Der Benutzer ist im Webfrontend angemeldet.
	\item [Aktion] Der Benutzer klickt auf den \enquote{Hilfe}-Button oben rechts (Abbildung \ref{fig:help-desktop}).
	\item [Reaktion] Dem Benutzer wird ein leeres \enquote{Hilfe}-Fenster
            angezeigt. (Dieses kann nachträglich um Hilfestellungen zum
            Synchronisieren von \Glspl{podcast} ergänzt werden. \ref{r:no-man})\\
\end{description}


\subsection{Lasttest}\label{t:lasttest}
\vspace{0.3cm}
Es werden Lasttests zur Überprüfung der Leitungsfähigkeit des Synchronisa\-tions-Server Systems durchgeführt.
Dabei müssen über einen längeren Zeitraum mindestens 50 Anfragen pro Sekunde verarbeitet werden.
Die Antwortzeit pro Anfrage darf dabei nicht mehr als 500 Millisekunden betragen.
Der Test gilt als bestanden, wenn diese Anforderungen erfüllt sind. 

