сценарий.txt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. Сценарий использования приложения «Викторина по защите персональных данных»
  2. Оглавление
  3. Общий сценарий запуска
  4. Сценарий прохождения викторины
  5. Сценарии работы с изображениями
  6. Сценарии обработки ошибок
  7. Сценарии завершения работы
  8. Тестовые сценарии
  9. 1. Общий сценарий запуска
  10. Сценарий 1.1: Успешный запуск приложения
  11. Шаг Действие пользователя Ожидаемая реакция системы
  12. 1 Двойной клик по файлу quiz_app.py Открывается окно размером 1000x700
  13. 2 - Появляется стартовый экран с голубым фоном
  14. 3 - Отображается заголовок «Викторина по защите персональных данных»
  15. 4 - Показываются правила и инструкция
  16. 5 - Активна кнопка «Начать викторину»
  17. Сценарий 1.2: Запуск без установленного Pillow
  18. Шаг Действие пользователя Ожидаемая реакция системы
  19. 1 Запуск приложения В консоли выводится сообщение: «PIL (Pillow) не установлен. Установите: pip install Pillow»
  20. 2 - Приложение запускается, но работа с изображениями ограничена
  21. 3 - Поддерживаются только JPG через стандартный PhotoImage
  22. 2. Сценарий прохождения викторины
  23. Сценарий 2.1: Стандартное прохождение (мышь)
  24. Шаг Действие пользователя Ожидаемая реакция системы
  25. 1 Нажатие на кнопку «Начать викторину» Вопросы перемешиваются в случайном порядке
  26. 2 - Отображается первый вопрос
  27. 3 - Показывается текст вопроса, изображение (если есть), 4 варианта ответа
  28. 4 - Отображается прогресс «Вопрос 1 из 50»
  29. 5 Клик мышью по одному из вариантов ответа Вариант выделяется (меняет фон при наведении и выборе)
  30. 6 Нажатие на кнопку «Проверить (Enter)» Открывается модальное окно с результатом
  31. 7 - Если ответ правильный: зелёное окно с текстом «Правильно!»
  32. 8 - Если ответ неправильный: красное окно с правильным ответом и пояснением
  33. 9 Нажатие на кнопку «Продолжить (Enter)» Модальное окно закрывается, загружается следующий вопрос
  34. Сценарий 2.2: Прохождение с клавиатуры
  35. Шаг Действие пользователя Ожидаемая реакция системы
  36. 1 Нажатие клавиши «1» Выбирается первый вариант ответа
  37. 2 Нажатие клавиши «2» Выбирается второй вариант ответа
  38. 3 Нажатие клавиши «3» Выбирается третий вариант ответа
  39. 4 Нажатие клавиши «4» Выбирается четвёртый вариант ответа
  40. 5 Нажатие клавиши «Enter» Проверка выбранного ответа
  41. 6 Нажатие клавиши «Enter» в окне результата Переход к следующему вопросу
  42. Сценарий 2.3: Попытка ответить без выбора
  43. Шаг Действие пользователя Ожидаемая реакция системы
  44. 1 Нажатие на кнопку «Проверить» без выбора варианта Появляется окно с предупреждением: «Пожалуйста, выберите один из вариантов (клавиши 1-4)»
  45. 2 Нажатие «OK» Возврат к вопросу, выбор не засчитан
  46. Сценарий 2.4: Завершение викторины
  47. Шаг Действие пользователя Ожидаемая реакция системы
  48. 1 Ответ на 50-й вопрос После проверки последнего ответа открывается экран результатов
  49. 2 - Отображается количество правильных ответов (например, «42 из 50»)
  50. 3 - Отображается процент выполнения (например, «84.0%»)
  51. 4 - Показывается текстовая оценка («Отлично!», «Хорошо!» и т.д.)
  52. 5 - Активны кнопки «Пройти заново (Enter)» и «Завершить (Esc)»
  53. Сценарий 2.5: Повторное прохождение
  54. Шаг Действие пользователя Ожидаемая реакция системы
  55. 1 Нажатие на кнопку «Пройти заново» или клавишу Enter Вопросы снова перемешиваются
  56. 2 - Счётчик правильных ответов сбрасывается до 0
  57. 3 - Отображается первый вопрос
  58. 4 - Викторина начинается заново
  59. 3. Сценарии работы с изображениями
  60. Сценарий 3.1: Отображение существующего изображения
  61. Шаг Действие пользователя Ожидаемая реакция системы
  62. 1 Загрузка вопроса с полем image: 'q1.jpg' Система ищет файл в папке quiz_images/
  63. 2 - Файл найден → загрузка через Pillow
  64. 3 - Изображение масштабируется до 350x350
  65. 4 - Изображение отображается в левой части окна
  66. 5 - Определяется доминирующий цвет изображения
  67. 6 - Фон окна меняется на этот цвет
  68. 7 - Цвет текста автоматически становится чёрным или белым для читаемости
  69. Сценарий 3.2: Поиск изображения с разными расширениями
  70. Шаг Действие пользователя Ожидаемая реакция системы
  71. 1 В вопросе указано image: 'q1.jpg' Система проверяет наличие q1.jpg
  72. 2 - Файл q1.jpg отсутствует
  73. 3 - Система ищет q1.png
  74. 4 - Файл q1.png найден → загружает его
  75. 5 - Работает как с оригинальным именем
  76. Сценарий 3.3: Отсутствие изображения
  77. Шаг Действие пользователя Ожидаемая реакция системы
  78. 1 Загрузка вопроса с полем image: 'missing.jpg' Система ищет файл во всех поддерживаемых форматах
  79. 2 - Файл не найден
  80. 3 - Вместо изображения отображается текст: «[Файл не найден: missing.jpg] Поддерживаемые форматы: PNG, JPG, JPEG, GIF, BMP»
  81. 4 - Фон окна выбирается из списка DEFAULT_COLORS
  82. Сценарий 3.4: Повреждённое изображение
  83. Шаг Действие пользователя Ожидаемая реакция системы
  84. 1 Загрузка повреждённого JPG-файла Pillow выбрасывает исключение
  85. 2 - Отображается текст: «[Ошибка: damaged.jpg] некорректный заголовок...»
  86. 3 - Викторина продолжает работу без сбоев
  87. 4. Сценарии обработки ошибок
  88. Сценарий 4.1: Отсутствие папки с изображениями
  89. Шаг Действие пользователя Ожидаемая реакция системы
  90. 1 Папка quiz_images не создана Система не находит ни одного изображения
  91. 2 Загрузка любого вопроса с image Для всех вопросов отображается сообщение о ненайденном файле
  92. 3 - Приложение работает, вопросы отображаются нормально
  93. Сценарий 4.2: Некорректные данные в вопросах
  94. Шаг Действие пользователя Ожидаемая реакция системы
  95. 1 Вопрос содержит correct: 5 (индекс вне диапазона 0-3) При проверке ответа будет сравниваться с несуществующим индексом
  96. 2 - Результат может быть некорректным (нужна валидация данных)
  97. 3 - Рекомендуется: предварительная проверка вопросов
  98. Сценарий 4.3: Определение цвета фона (ошибка в изображении)
  99. Шаг Действие пользователя Ожидаемая реакция системы
  100. 1 Изображение существует, но не может быть прочитано для определения цвета В консоль выводится «Ошибка определения цвета: [причина]»
  101. 2 - Система использует цвет из DEFAULT_COLORS
  102. 3 - Викторина продолжает работу
  103. 5. Сценарии завершения работы
  104. Сценарий 5.1: Выход через кнопку
  105. Шаг Действие пользователя Ожидаемая реакция системы
  106. 1 Нажатие на кнопку «Выход (Esc)» на экране вопроса Появляется диалог подтверждения: «Вы действительно хотите выйти?»
  107. 2 Нажатие «Да» Приложение закрывается
  108. 3 Нажатие «Нет» Возврат к викторине
  109. Сценарий 5.2: Выход через клавишу Esc
  110. Шаг Действие пользователя Ожидаемая реакция системы
  111. 1 Нажатие клавиши Esc на любом экране Появляется диалог подтверждения выхода
  112. 2 Нажатие Enter или клик по «Да» Приложение закрывается
  113. Сценарий 5.3: Выход с экрана результатов
  114. Шаг Действие пользователя Ожидаемая реакция системы
  115. 1 Завершение викторины, отображение результатов Активна кнопка «Завершить (Esc)»
  116. 2 Нажатие на кнопку или клавишу Esc Диалог подтверждения НЕ появляется (по логике кода)
  117. 3 - Приложение закрывается
  118. 6. Тестовые сценарии
  119. Сценарий 6.1: Проверка цвета текста на тёмном фоне
  120. Шаг Действие пользователя Ожидаемая реакция системы
  121. 1 Загрузить вопрос с тёмным изображением Доминирующий цвет тёмный (#1a1a2e)
  122. 2 - Яркость фона < 128 → цвет текста становится белым
  123. 3 - Все надписи читаемы на тёмном фоне
  124. Сценарий 6.2: Проверка цвета текста на светлом фоне
  125. Шаг Действие пользователя Ожидаемая реакция системы
  126. 1 Загрузить вопрос со светлым изображением Доминирующий цвет светлый (#f0f0f0)
  127. 2 - Яркость фона > 128 → цвет текста остаётся чёрным
  128. 3 - Контрастность достаточная
  129. Сценарий 6.3: Перемешивание вопросов
  130. Шаг Действие пользователя Ожидаемая реакция системы
  131. 1 Запустить викторину, запомнить порядок вопросов Порядок: 15, 3, 42, 7...
  132. 2 Завершить и запустить снова Новый порядок: 38, 5, 22, 50...
  133. 3 Запустить в третий раз Порядок отличается от первых двух
  134. 4 - Каждый запуск уникален (вероятностно)
  135. Сценарий 6.4: Проверка всех 50 вопросов
  136. Шаг Действие пользователя Ожидаемая реакция системы
  137. 1 Пройти викторину до конца Все 50 вопросов отображены по одному разу
  138. 2 - Ни один вопрос не пропущен и не повторён
  139. 3 - Счётчик прогресса доходит до «50 из 50»
  140. Сценарий 6.5: Проверка эффектов наведения
  141. Шаг Действие пользователя Ожидаемая реакция системы
  142. 1 Навести курсор на вариант ответа Фон кнопки меняется на более тёмный/светлый оттенок
  143. 2 Увести курсор Фон возвращается к исходному цвету
  144. 3 Навести на кнопку «Проверить» Курсор меняется на руку (hand2)
  145. Сценарий 6.6: Стресс-тест (быстрое нажатие клавиш)
  146. Шаг Действие пользователя Ожидаемая реакция системы
  147. 1 Быстро нажимать клавиши 1-2-3-4-Enter Приложение обрабатывает каждое нажатие последовательно
  148. 2 - Нет зависаний или множественных окон
  149. 3 - Последний выбранный вариант проверяется
  150. 7. Пользовательские роли и сценарии
  151. Сценарий 7.1: Студент (самостоятельное обучение)
  152. Действие Ожидание
  153. Запускает викторину Видит 50 вопросов по защите ПД
  154. Отвечает неправильно Получает пояснение, учится на ошибках
  155. Проходит викторину несколько раз Каждый раз новый порядок вопросов
  156. Стремится к 100% Тренируется до идеального результата
  157. Сценарий 7.2: Преподаватель (демонстрация на лекции)
  158. Действие Ожидание
  159. Открывает викторину на проекторе Все видят крупный текст и изображения
  160. Вызывает студента к доске Студент выбирает ответ клавишами 1-4
  161. Объясняет неправильные ответы Пояснения помогают аудитории
  162. Сценарий 7.3: Сотрудник компании (проверка знаний)
  163. Действие Ожидание
  164. Проходит викторину на ПК Сохраняет результат (пока нет экспорта)
  165. Набирает <60% Рекомендовано повторить лекцию
  166. Набирает >80% Знания удовлетворительные
  167. 8. Диаграмма последовательности (основной поток)
  168. text
  169. Пользователь → Стартовый экран → Начать викторину
  170. Перемешивание вопросов
  171. Отображение вопроса №1
  172. ← Выбор ответа (мышь/клавиши 1-4)
  173. Нажатие Enter / Проверить
  174. ← Модальное окно с результатом
  175. Продолжить (Enter)
  176. ← Есть ещё вопросы? → Да → следующий вопрос
  177. ↓ Нет
  178. Экран результатов
  179. ← Пройти заново? → Да → начало
  180. ↓ Нет
  181. Завершение (Esc)
  182. 9. Рекомендации по тестированию
  183. Приоритетные тест-кейсы:
  184. ✅ Запуск и закрытие приложения
  185. ✅ Выбор ответа мышью и клавиатурой
  186. ✅ Проверка правильности ответов
  187. ✅ Отображение пояснений
  188. ✅ Переход между всеми 50 вопросами
  189. ✅ Корректный подсчёт результатов
  190. ✅ Повторное прохождение
  191. Дополнительные тест-кейсы:
  192. ⚠️ Работа с изображениями (есть/нет/битые)
  193. ⚠️ Определение цвета фона
  194. ⚠️ Поведение при отсутствии Pillow
  195. ⚠️ Быстрые многократные нажатия
  196. ⚠️ Разрешение экрана (штатное 1000x700)
  197. 10. Словарь терминов
  198. Термин Определение
  199. ПД Персональные данные
  200. 152-ФЗ Федеральный закон «О персональных данных»
  201. GDPR General Data Protection Regulation (европейский регламент)
  202. ИСПД Информационная система персональных данных
  203. ФСТЭК Федеральная служба по техническому и экспортному контролю
  204. Оператор Лицо, осуществляющее обработку ПД
  205. Обезличивание Удаление связи данных с конкретным человеком