-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-cases.yml
551 lines (519 loc) · 28.4 KB
/
test-cases.yml
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
---
#funtional
- summary: |
Проверка успешной регистрации пользователя
requirement: |
При вводе всех неоходимых данных, пользователь успешно зарегистрирован
prerequisites: |
Открыта страница регистрации
test-data: |
Логин = evgeniy
Пароль = 265677
Email = ранее не зарегистрированный на сайте
steps:
- Вводим логин
- Вводим email
- Вводим пароль
- Вводим подтверждения пароля
- Нажать Submit
expected-result: |
Пользователь успешно зарегистрирован, открывается главная страница.
- summary: |
Проверка неуспешной регистрации с уже зарегистрированными данными
requirement: |
Нельзя регистрироваться с уже ранее зарегистрированными данными
prerequisites: |
Пользователь уже зарегистрирован с логином = evgeniy, email = kauterevgeny@mail.ru
Открыта страница регистрации
test-data: |
Логин = evgeniy
Пароль = 265677
Email = kauterevgeny@mail.ru
steps:
- Вводим логин
- Вводим email
- Вводим пароль
- Вводим подтверждения пароля
- Нажать Submit
expected-result: |
Пользователь не зарегистрирован, появляется уведомление о невозможности регистрации с уже существующими данными
- summary: |
Проверка на некорректный ввод email при регистрации
requirement: |
При вводе несуществующего email появляется уведомление об ошибке
prerequisites: |
Открыта страница регистрации
test-data: |
Логин = Evgeny265677
Email = kauterevgen265677@mail.ru
Пароль = 265677
steps:
- Вводим логин
- Вводим email
- Вводим пароль
- Вводим подтверждение пароля
- Нажать Submit
expected-result: |
Рядом с полем для ввода email появляется надпись об ошибке ввода или несуществующем email
- summary: |
Проверка на возможность регистрации при не заполненных полях в форме регистрации
requirement: |
При не заполненных полях регистрация невозможна
prerequisites: |
Открыта страница регистрации
test-data: |
none
steps:
- Нажать Submit
expected-result: |
Появляются уведомления о необходимости заполнения полей
- summary: |
Проверка успешного входа пользователя с существующим логином и паролем
requirement: |
При верном вводе существующих логина и пароля, производится успешный вход, открывается главный экран
prerequisites: |
Открыта страница https://codebattle.hexlet.io
test-data: |
email = kauterevgeny@mail.ru
Пароль = 265677
steps:
- Нажать кнопку Sign in
- Вводим email
- Вводим пароль
- Нажать Submit
expected-result: |
Осуществляется переход на главную страницу
- summary: |
Проверка возможности входа с незарегистрированным email
requirement: |
При вводе незарегистрированного email появляется уведомление об ошибке
prerequisites: |
Открыта страница входа в учётную запись
test-data: |
email = kauterevgen2345@mail.ru
Пароль = 1
steps:
- Вводим email
- Вводим пароль
- Нажать Submit
expected-result: |
Появляется оповещение о неправильно введённых данных, вход не выполнен
- summary: |
Проверка возможности входа с неправильным паролем
requirement: |
При вводе несуществующих логине или пароле появляется уведомление об ошибке
prerequisites: |
Открыта страница входа в учётную запись
test-data: |
email = kauterevgeny@mail.ru
Пароль = 1234
steps:
- Вводим email
- Вводим пароль
- Нажать кнопку Submit
expected-result: |
Появляется оповещение о неправильно введённых данных, вход не выполнен
- summary: |
Проверка успешного создания новой игры с любым пользователем
requirement: |
При выборе соперника - любой пользователь, новая игра должна успешно создаваться
prerequisites: |
Пользователь авторизован, открыта главная страница
test-data: |
none
steps:
- Нажать на кнопку создания игры
- Выбрать уровень игры 1
- Выбрать тип соперника = с любым пользователем
- Выбрать контроль времени = 10 минут
- Выбрать тип задачи = math
- Выбрать задачу = rect_area
- Нажать на кнопку создания
expected-result: |
Игра успешно создана и появляется в лобби, в списке других игр на главном экране
- summary: |
Проверка успешного подключения другого пользователя к созданной игре
requirement: |
Пользователь должен успешно подключаться к созданной игре, отображённой в лобби
prerequisites: |
Пользователь1 авторизован под логином = kauterevgeny@mail.ru, пароль = 265677, |
открыта главная страница, игра создана и отображается в лобби
test-data: |
none
steps:
- Открыть другой браузер
- Перейти по url = https://codebattle.hexlet.io/
- Авторизовать пользователя2 под логином = kauterevgen@mail.ru, паролем = 265677
- Найти в лобби игру, созданную игроком evgeniy
- Нажать Fight
expected-result: |
Загружена страница для написания кода у обоих пользователей, игра запущена
- summary: |
Проверка успешного создания новой игры с ботом
requirement: |
При выборе соперника - с ботом, новая игра должна успешно создаваться
prerequisites: |
Пользователь авторизован, открыта главная страница
test-data: |
none
steps:
- Нажать на кнопку создания игры
- Выбрать уровень игры 1
- Выбрать тип соперника = с ботом
- Выбрать контроль времени = 10 мин
- Выбрать тип задачи = math
- Выбрать задачу = rect_area
- Нажать на кнопку создания
expected-result: |
Игра успешно создана, появляется экран с для написания кода
- summary: |
Проверка успешного создания новой игры с другом
requirement: |
При выборе соперника - с другом, новая игра должна успешно создаваться
prerequisites: |
Пользователь авторизован под логином = kauterevgeny@mail.ru, пароль = 265677, открыта главная страница
test-data: |
none
steps:
- Нажать на кнопку создания игры
- Выбрать уровень игры 1
- Выбрать тип соперника = с другом
- Выбрать контроль времени = 10 мин
- Выбрать имя игрока Evgeniy
- Выбрать тип задачи = math
- Выбрать задачу = rect_area
- Нажать на кнопку создания
- На верхней панели нажать на кнопку приглашения к игре
expected-result: |
Игра успешно создана, статус приглашения к игре = ожидание соперника
- summary: |
Проверка успешного подключения к игре обоих соперников, при создании новой игры с другом
requirement: |
При создании игры с другом, соперник должен успешно подключаться
prerequisites: |
Пользователь1 авторизован под логином = kauterevgeny@mail.ru, пароль = 265677, |
создана игра с другом, приглашён пользователь с именем Evgeniy
test-data: |
none
steps:
- Открыть другой браузер
- Перейти по url = https://codebattle.hexlet.io/
- Авторизовать пользователя2 под логином = kauterevgen@mail.ru, паролем = 265677
- На верхней панели нажать на кнопку приглашения к игре
- Нажать на подтверждение
expected-result: |
Подключение прошло успешно, у обоих пользователей открыта страница для написания кода
- summary: |
Проверка успешного создания игры с максимально заданным временем
requirement: |
Игра должна успешно создаваться с заданным промежутком времени
prerequisites: |
Пользователь авторизован, открыта главная страница
test-data: |
Контроль времени = 60 минут
steps:
- Нажать на кнопку создания игры
- Выбрать уровень игры 1
- Выбрать тип соперника = с ботом
- Выбрать заданный контроль времени
- Выбрать тип задачи = math
- Выбрать задачу = rect_area
- Нажать на кнопку создания
expected-result: |
Игра создана, открыта страница для написания кода, таймер ведёт обратный отсчёт от 60 минут
- summary: |
Проверка успешного создания игры с минимально заданным временем
requirement: |
Игра должна успешно создаваться с заданным промежутком времени
prerequisites: |
Пользователь авторизован, открыта главная страница
test-data: |
Контроль времени = 3 минут
steps:
- Нажать на кнопку создания игры
- Выбрать уровень игры 1
- Выбрать тип соперника = с ботом
- Выбрать заданный контроль времени
- Выбрать тип задачи = math
- Выбрать задачу = rect_area
- Нажать на кнопку создания
expected-result: |
Игра создана, открыта страница для написания кода, таймер ведёт обратный отсчёт от 3 минут
- summary: |
Проверка возможности выбора языка программирования
requirement: |
Пользователь должен иметь возможность выбирать язык программирования
prerequisites: |
Игра создана, открыт экран для написания кода
test-data: |
none
steps:
- Нажать на кнопку выбора языка программирования и выбрыть С++
expected-result: |
Язык изменён, в поле для написания кода отображается синтаксис языка C++
- summary: |
Проверка видимости написания кода соперником
requirement: |
Пользователь должен видеть написание кода соперником
prerequisites: |
Пользователь1 авторизован под логином = kauterevgeny@mail.ru, пароль = 265677, |
создана игра с любым пользователем. Остальные параметры игры произвольные
test-data: |
none
steps:
- Открыть другой браузер
- Зайти на страницу https://codebattle.hexlet.io/
- Авторизовать пользователя2 под логином = kauterevgen@mail.ru, паролем = 265677
- Найти в лобби игру, созданную игроком evgeniy
- Нажать Fight
- После загрузки страницы игры, сделать любую запись в поле для написания кода
- Перейти в браузер с авторизованным пользователем1
expected-result: |
На экране у пользователя1, в поле для ввода кода соперником, появилась запись сделанная пользователем2
- summary: |
Проверка успешного завершения игры при правильном решении
requirement: |
При записи правильного решения, игра завершена, игрок побеждает
prerequisites: |
Игра создана с задачей rect_area, открыт экран для написания кода
test-data: |
Запись = return width * length;
steps:
- Выбрать язык программирования Node.js
- В поле для ввода кода, сделать в 5 строке заданную запись
- Нажать на кнопку проверки решения
expected-result: |
Игра завершена, появляется уведомление о победе
- summary: |
Проверка на отрицательный результат при неправильном решении задачи
requirement: |
При неправильном решении задачи, пользователь должен получить уведомление
prerequisites: |
Игра создана, открыт экран для написания кода
test-data: |
Запись = return width;
steps:
- Выбрать язык программирования Node.js
- В поле для ввода кода, сделать в 5 строке заданную запись
- Нажать на кнопку проверки решения
expected-result: |
Пользователь видит уведомление об ошибке в коде и непройденных тестах
- summary: |
Проверка на отрицательный результат соревнования, при медленном решении задачи
requirement: |
При решении задачи медленнее соперника, пользователь должен видеть уведомление о проигрыше
prerequisites: |
Пользователь1 авторизован под логином = kauterevgeny@mail.ru, пароль = 265677, |
создана игра с любым пользователем. Остальные параметры игры произвольные
test-data: |
Запись = return width * length
steps:
- Авторизоваться в другом браузере через другого пользователя2 (Логин = kauterevgen@mail.ru, пароль = 265677)
- Найти в лобби игру, созданную игроком Evgeniy
- Нажать Fight
- Выбрать язык программирования Node.js
- После загрузки страницы игры, сделать заданную запись в 5 строке в поле для ввода кода
- Нажать на кнопку проверки решения
- Перейти в браузер с авторизованным пользователем1
expected-result: |
Пользователь1 видит уведомление о проигрыше, игра завершена
- summary: |
Проверка на возможность просмотра профиля пользователя
requirement: |
Пользователь должен иметь возможность просматривать информацию о своём профиле (статистика, рейтинг и т.д.)
prerequisites: |
Открыта главная страница
test-data: |
none
steps:
- Нажать на иконку в правом верхем углу экрана
- Нажать на кнопку профиля
expected-result: |
Открывается страница, где пользователь видит информацию о своём профиле, статистику игра, рейтинг.
- summary: |
Проверка на возможность просмотра предыдущих игр пользователя (для премиум аккаунтов)
requirement: |
Пользователь должен иметь возможность просматривать свои предыдущие игры
prerequisites: |
Открыта страница профиля пользователя
test-data: |
none
steps:
- Нажать на кнопку завершённых игр
- Выбрать первую игру в списке
- Нажать на кнопку просмотра игры
expected-result: |
Открывается страница с возможностью просмотра игры в записи
- summary: |
Проверка на возможность просмотра рейтинга всех игроков
requirement: |
Пользователь должен иметь возможность просматривать рейтинг всех игроков
prerequisites: |
Открыта главная страница
test-data: |
Кнопка рейтинга игроков = ТОП лист
steps:
- Нажать на кнопку просмотра рейтинга всех игроков
expected-result: |
Открывается страница для просмотра рейтинга всех игроков
#non-functional
- summary: |
Проверка на отсутсвие ошибок при загрузке главной страницы
requirement: |
Загрузка главной страницы должна быть завершена без ошибок
prerequisites: |
Открыта главная страница
test-data: |
Кнопка = DevTools
Кнопка = Network
Кнопка = Обновить страницу
steps:
- Войти в DevTools
- Перейти на вкладку Network
- Проверить положение переключателя видимых файлов на All
- Нажать на кнопку обновления страницы
expected-result: |
Все файлы загружены, ошибок нет
- summary: |
Проверка на отсутсвие ошибок при загрузке окна с выбором параметров для игры
requirement: |
Загрузка окна с выбором параметров для игры должна быть завершена без ошибок
prerequisites: |
Открыта главная страница
test-data: |
Кнопка = DevTools
Вкладка = Network
Кнопка = Создать игру
steps:
- Войти в DevTools
- Перейти на вкладку Network
- Проверить положение переключателя видимых файлов на All
- Нажать на кнопку создания игры
expected-result: |
Все файлы загружены, ошибок нет
- summary: |
Проверка на отсутсвие ошибок при загрузке страницы с созданной игрой
requirement: |
Загрузка страницы с созданной игрой должна быть завершена без ошибок
prerequisites: |
Открыта страница с созданной игрой
test-data: |
Кнопка = DevTools
Вкладка = Network
Кнопка = Обновить сраницу
steps:
- Войти в DevTools
- Перейти на вкладку Network
- Проверить положение переключателя видимых файлов на All
- Нажать на кнопку обновления страницы
expected-result: |
Все файлы загружены, ошибок нет
- summary: |
Проверка на отсутсвие ошибок при загрузке страницы с профилем пользователя
requirement: |
Загрузка страницы с профилем пользователя должна быть завершена без ошибок
prerequisites: |
Открыта страница с профилем пользователя
test-data: |
Кнопка = DevTools
Вкладка = Network
Кнопка = Обновить сраницу
steps:
- Войти в DevTools
- Перейти на вкладку Network
- Проверить положение переключателя видимых файлов на All
- Нажать на кнопку обновления страницы
expected-result: |
Все файлы загружены, ошибок нет
- summary: |
Проверка на оптимизацию для скорости работы на персональном компьютере
requirement: |
Сайт должен быть оптимизирован на высокую скорость работы
prerequisites: |
Открыта главная страница
test-data: |
none
steps:
- Скопировать URL страницы
- В новой вкладке браузера, открыть страницу |
https://pagespeed.web.dev/analysis/https-hexlet-products-store-vercel-app/mpaderez1i?form_factor=desktop
- На открывшейся странице, в поле Укажите URL, вставить URL главной страницы проверяемого сайта
- Нажать Анализировать
- Перейти на вкладку Компьютер
expected-result: |
Общая сумма показателей > 90 единиц
- summary: |
Проверка на оптимизацию для скорости работы на мобильном устройстве
requirement: |
Сайт должен быть оптимизирован на высокую скорость работы
prerequisites: |
Открыта главная страница
test-data: |
none
steps:
- Скопировать URL страницы
- В новой вкладке браузера, открыть страницу |
https://pagespeed.web.dev/analysis/https-hexlet-products-store-vercel-app/mpaderez1i?form_factor=desktop
- На открывшейся странице, в поле Укажите URL, вставить URL главной страницы проверяемого сайта
- Нажать Анализировать
- Перейти на вкладку Мобильное устройство
expected-result: |
Общая сумма показателей > 90 единиц
- summary: |
Проверка на адаптивность под мобильные устройства (разрешение 320х480px)
requirement: |
Сайт должен быть адаптирован под ширину экранов мобильных устройств
prerequisites: |
В браузере Chrome, открыта главная страница
test-data: |
Кнопка отображения на устройствах = Toggle device toolbar
Разрешение экрана = 320х480px
steps:
- Открыть DevTools
- Нажать на кнопку отображения на устройствах
- Вводим заданное разрешение экрана
expected-result: |
Все элементы на странице отображаются корректно
- summary: |
Проверка на адаптивность под мобильные устройства (разрешение 414х896px)
requirement: |
Сайт должен быть адаптирован под ширину экранов мобильных устройств
prerequisites: |
В браузере Chrome, открыта главная страница
test-data: |
Кнопка отображения на устройствах = Toggle device toolbar
Разрешение экрана = 414x896px
steps:
- Открыть DevTools
- Нажать на кнопку отображения на устройствах
- Вводим заданное разрешение экрана
expected-result: |
Все элементы на странице отображаются корректно
- summary: |
Проверка на кроссбраузерность
requirement: |
Сайт должен открываться в разных браузерах
prerequisites: |
Открыть страницу https://live.browserstack.com/dashboard
test-data: |
none
steps:
- Ввести в строке для URL https://codebattle.hexlet.io/#lobby
- Проверка в браузере Microsoft Edge
- Проверка в браузере Firefox
- Проверка в браузере Google Chrome
- Проверка в браузере Safari
expected-result: |
В каждом браузере страница открывается, элементы отображаются корректно
- summary: |
Проверка на невозможность просмотра профиля, без авторизации
requirement: |
Нельзя просматривать профиль, без авторизации на сайте
prerequisites: |
Открыта начальная страница https://codebattle.hexlet.io/
test-data: |
URL пользователя = https://codebattle.hexlet.io/users/13555
steps:
- Вводим в адресной строке браузера заданный URL
expected-result: |
Страница профиля не открыта, появляется уведомление о необходимости авторизации