Просмотр исходного кода

Загрузить файлы ''

u23-27tsukanovich 1 месяц назад
Родитель
Сommit
9e46bff7c8
1 измененных файлов с 231 добавлено и 0 удалено
  1. 231 0
      сценарий.txt

+ 231 - 0
сценарий.txt

@@ -0,0 +1,231 @@
+Сценарий использования приложения «Викторина по защите персональных данных»
+Оглавление
+Общий сценарий запуска
+
+Сценарий прохождения викторины
+
+Сценарии работы с изображениями
+
+Сценарии обработки ошибок
+
+Сценарии завершения работы
+
+Тестовые сценарии
+
+1. Общий сценарий запуска
+Сценарий 1.1: Успешный запуск приложения
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Двойной клик по файлу quiz_app.py	Открывается окно размером 1000x700
+2	-	Появляется стартовый экран с голубым фоном
+3	-	Отображается заголовок «Викторина по защите персональных данных»
+4	-	Показываются правила и инструкция
+5	-	Активна кнопка «Начать викторину»
+Сценарий 1.2: Запуск без установленного Pillow
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Запуск приложения	В консоли выводится сообщение: «PIL (Pillow) не установлен. Установите: pip install Pillow»
+2	-	Приложение запускается, но работа с изображениями ограничена
+3	-	Поддерживаются только JPG через стандартный PhotoImage
+2. Сценарий прохождения викторины
+Сценарий 2.1: Стандартное прохождение (мышь)
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие на кнопку «Начать викторину»	Вопросы перемешиваются в случайном порядке
+2	-	Отображается первый вопрос
+3	-	Показывается текст вопроса, изображение (если есть), 4 варианта ответа
+4	-	Отображается прогресс «Вопрос 1 из 50»
+5	Клик мышью по одному из вариантов ответа	Вариант выделяется (меняет фон при наведении и выборе)
+6	Нажатие на кнопку «Проверить (Enter)»	Открывается модальное окно с результатом
+7	-	Если ответ правильный: зелёное окно с текстом «Правильно!»
+8	-	Если ответ неправильный: красное окно с правильным ответом и пояснением
+9	Нажатие на кнопку «Продолжить (Enter)»	Модальное окно закрывается, загружается следующий вопрос
+Сценарий 2.2: Прохождение с клавиатуры
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие клавиши «1»	Выбирается первый вариант ответа
+2	Нажатие клавиши «2»	Выбирается второй вариант ответа
+3	Нажатие клавиши «3»	Выбирается третий вариант ответа
+4	Нажатие клавиши «4»	Выбирается четвёртый вариант ответа
+5	Нажатие клавиши «Enter»	Проверка выбранного ответа
+6	Нажатие клавиши «Enter» в окне результата	Переход к следующему вопросу
+Сценарий 2.3: Попытка ответить без выбора
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие на кнопку «Проверить» без выбора варианта	Появляется окно с предупреждением: «Пожалуйста, выберите один из вариантов (клавиши 1-4)»
+2	Нажатие «OK»	Возврат к вопросу, выбор не засчитан
+Сценарий 2.4: Завершение викторины
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Ответ на 50-й вопрос	После проверки последнего ответа открывается экран результатов
+2	-	Отображается количество правильных ответов (например, «42 из 50»)
+3	-	Отображается процент выполнения (например, «84.0%»)
+4	-	Показывается текстовая оценка («Отлично!», «Хорошо!» и т.д.)
+5	-	Активны кнопки «Пройти заново (Enter)» и «Завершить (Esc)»
+Сценарий 2.5: Повторное прохождение
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие на кнопку «Пройти заново» или клавишу Enter	Вопросы снова перемешиваются
+2	-	Счётчик правильных ответов сбрасывается до 0
+3	-	Отображается первый вопрос
+4	-	Викторина начинается заново
+3. Сценарии работы с изображениями
+Сценарий 3.1: Отображение существующего изображения
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Загрузка вопроса с полем image: 'q1.jpg'	Система ищет файл в папке quiz_images/
+2	-	Файл найден → загрузка через Pillow
+3	-	Изображение масштабируется до 350x350
+4	-	Изображение отображается в левой части окна
+5	-	Определяется доминирующий цвет изображения
+6	-	Фон окна меняется на этот цвет
+7	-	Цвет текста автоматически становится чёрным или белым для читаемости
+Сценарий 3.2: Поиск изображения с разными расширениями
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	В вопросе указано image: 'q1.jpg'	Система проверяет наличие q1.jpg
+2	-	Файл q1.jpg отсутствует
+3	-	Система ищет q1.png
+4	-	Файл q1.png найден → загружает его
+5	-	Работает как с оригинальным именем
+Сценарий 3.3: Отсутствие изображения
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Загрузка вопроса с полем image: 'missing.jpg'	Система ищет файл во всех поддерживаемых форматах
+2	-	Файл не найден
+3	-	Вместо изображения отображается текст: «[Файл не найден: missing.jpg] Поддерживаемые форматы: PNG, JPG, JPEG, GIF, BMP»
+4	-	Фон окна выбирается из списка DEFAULT_COLORS
+Сценарий 3.4: Повреждённое изображение
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Загрузка повреждённого JPG-файла	Pillow выбрасывает исключение
+2	-	Отображается текст: «[Ошибка: damaged.jpg] некорректный заголовок...»
+3	-	Викторина продолжает работу без сбоев
+4. Сценарии обработки ошибок
+Сценарий 4.1: Отсутствие папки с изображениями
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Папка quiz_images не создана	Система не находит ни одного изображения
+2	Загрузка любого вопроса с image	Для всех вопросов отображается сообщение о ненайденном файле
+3	-	Приложение работает, вопросы отображаются нормально
+Сценарий 4.2: Некорректные данные в вопросах
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Вопрос содержит correct: 5 (индекс вне диапазона 0-3)	При проверке ответа будет сравниваться с несуществующим индексом
+2	-	Результат может быть некорректным (нужна валидация данных)
+3	-	Рекомендуется: предварительная проверка вопросов
+Сценарий 4.3: Определение цвета фона (ошибка в изображении)
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Изображение существует, но не может быть прочитано для определения цвета	В консоль выводится «Ошибка определения цвета: [причина]»
+2	-	Система использует цвет из DEFAULT_COLORS
+3	-	Викторина продолжает работу
+5. Сценарии завершения работы
+Сценарий 5.1: Выход через кнопку
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие на кнопку «Выход (Esc)» на экране вопроса	Появляется диалог подтверждения: «Вы действительно хотите выйти?»
+2	Нажатие «Да»	Приложение закрывается
+3	Нажатие «Нет»	Возврат к викторине
+Сценарий 5.2: Выход через клавишу Esc
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Нажатие клавиши Esc на любом экране	Появляется диалог подтверждения выхода
+2	Нажатие Enter или клик по «Да»	Приложение закрывается
+Сценарий 5.3: Выход с экрана результатов
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Завершение викторины, отображение результатов	Активна кнопка «Завершить (Esc)»
+2	Нажатие на кнопку или клавишу Esc	Диалог подтверждения НЕ появляется (по логике кода)
+3	-	Приложение закрывается
+6. Тестовые сценарии
+Сценарий 6.1: Проверка цвета текста на тёмном фоне
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Загрузить вопрос с тёмным изображением	Доминирующий цвет тёмный (#1a1a2e)
+2	-	Яркость фона < 128 → цвет текста становится белым
+3	-	Все надписи читаемы на тёмном фоне
+Сценарий 6.2: Проверка цвета текста на светлом фоне
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Загрузить вопрос со светлым изображением	Доминирующий цвет светлый (#f0f0f0)
+2	-	Яркость фона > 128 → цвет текста остаётся чёрным
+3	-	Контрастность достаточная
+Сценарий 6.3: Перемешивание вопросов
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Запустить викторину, запомнить порядок вопросов	Порядок: 15, 3, 42, 7...
+2	Завершить и запустить снова	Новый порядок: 38, 5, 22, 50...
+3	Запустить в третий раз	Порядок отличается от первых двух
+4	-	Каждый запуск уникален (вероятностно)
+Сценарий 6.4: Проверка всех 50 вопросов
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Пройти викторину до конца	Все 50 вопросов отображены по одному разу
+2	-	Ни один вопрос не пропущен и не повторён
+3	-	Счётчик прогресса доходит до «50 из 50»
+Сценарий 6.5: Проверка эффектов наведения
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Навести курсор на вариант ответа	Фон кнопки меняется на более тёмный/светлый оттенок
+2	Увести курсор	Фон возвращается к исходному цвету
+3	Навести на кнопку «Проверить»	Курсор меняется на руку (hand2)
+Сценарий 6.6: Стресс-тест (быстрое нажатие клавиш)
+Шаг	Действие пользователя	Ожидаемая реакция системы
+1	Быстро нажимать клавиши 1-2-3-4-Enter	Приложение обрабатывает каждое нажатие последовательно
+2	-	Нет зависаний или множественных окон
+3	-	Последний выбранный вариант проверяется
+7. Пользовательские роли и сценарии
+Сценарий 7.1: Студент (самостоятельное обучение)
+Действие	Ожидание
+Запускает викторину	Видит 50 вопросов по защите ПД
+Отвечает неправильно	Получает пояснение, учится на ошибках
+Проходит викторину несколько раз	Каждый раз новый порядок вопросов
+Стремится к 100%	Тренируется до идеального результата
+Сценарий 7.2: Преподаватель (демонстрация на лекции)
+Действие	Ожидание
+Открывает викторину на проекторе	Все видят крупный текст и изображения
+Вызывает студента к доске	Студент выбирает ответ клавишами 1-4
+Объясняет неправильные ответы	Пояснения помогают аудитории
+Сценарий 7.3: Сотрудник компании (проверка знаний)
+Действие	Ожидание
+Проходит викторину на ПК	Сохраняет результат (пока нет экспорта)
+Набирает <60%	Рекомендовано повторить лекцию
+Набирает >80%	Знания удовлетворительные
+8. Диаграмма последовательности (основной поток)
+text
+Пользователь → Стартовый экран → Начать викторину
+                                    ↓
+                            Перемешивание вопросов
+                                    ↓
+                            Отображение вопроса №1
+                                    ↓
+                    ← Выбор ответа (мышь/клавиши 1-4)
+                                    ↓
+                            Нажатие Enter / Проверить
+                                    ↓
+                    ← Модальное окно с результатом
+                                    ↓
+                            Продолжить (Enter)
+                                    ↓
+                    ← Есть ещё вопросы? → Да → следующий вопрос
+                                    ↓ Нет
+                            Экран результатов
+                                    ↓
+                    ← Пройти заново? → Да → начало
+                                    ↓ Нет
+                            Завершение (Esc)
+9. Рекомендации по тестированию
+Приоритетные тест-кейсы:
+✅ Запуск и закрытие приложения
+
+✅ Выбор ответа мышью и клавиатурой
+
+✅ Проверка правильности ответов
+
+✅ Отображение пояснений
+
+✅ Переход между всеми 50 вопросами
+
+✅ Корректный подсчёт результатов
+
+✅ Повторное прохождение
+
+Дополнительные тест-кейсы:
+⚠️ Работа с изображениями (есть/нет/битые)
+
+⚠️ Определение цвета фона
+
+⚠️ Поведение при отсутствии Pillow
+
+⚠️ Быстрые многократные нажатия
+
+⚠️ Разрешение экрана (штатное 1000x700)
+
+10. Словарь терминов
+Термин	Определение
+ПД	Персональные данные
+152-ФЗ	Федеральный закон «О персональных данных»
+GDPR	General Data Protection Regulation (европейский регламент)
+ИСПД	Информационная система персональных данных
+ФСТЭК	Федеральная служба по техническому и экспортному контролю
+Оператор	Лицо, осуществляющее обработку ПД
+Обезличивание	Удаление связи данных с конкретным человеком