summaryrefslogtreecommitdiff
path: root/00-pflichtenheft/sections/tests.tex
blob: 9d29aa1b97c933ba7b03d508b132a99f79c6fec1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605

\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.