| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- Сценарий использования приложения «Викторина по защите персональных данных»
- Оглавление
- Общий сценарий запуска
- Сценарий прохождения викторины
- Сценарии работы с изображениями
- Сценарии обработки ошибок
- Сценарии завершения работы
- Тестовые сценарии
- 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 (европейский регламент)
- ИСПД Информационная система персональных данных
- ФСТЭК Федеральная служба по техническому и экспортному контролю
- Оператор Лицо, осуществляющее обработку ПД
- Обезличивание Удаление связи данных с конкретным человеком
|