Тестирование
Обозначения
- Девайс A / Девайс B — два разных телефона/планшета
- Старая версия — клиент версии ниже 3.0 (без механизма сессий)
- Новая версия — клиент версии 3.0 и выше
- Соцсеть — Google, Apple или Facebook аккаунт
1. Первый запуск игры
Что делаем: 1. Установить игру на чистый девайс (или после полного удаления) 2. Запустить игру
Что проверяем: - [ ] Игра загружается без ошибок - [ ] Создаётся новый аккаунт (1 уровень, нет прогресса) - [ ] Можно играть и сохранять прогресс
2. Повторный вход на том же девайсе
Что делаем: 1. Полностью закрыть игру (убить процесс) 2. Запустить игру заново
Что проверяем: - [ ] Вход автоматический, без дополнительных действий - [ ] Прогресс сохранён (тот же уровень, ресурсы)
3. Привязка соцсети
Подготовка: Аккаунт без привязанных соцсетей
Что делаем: 1. Открыть настройки профиля 2. Нажать "Привязать Google" (или Apple / Facebook) 3. Авторизоваться в соцсети
Что проверяем: - [ ] Появляется окно авторизации Google/Apple/Facebook - [ ] После авторизации — соцсеть отображается как привязанная в настройках - [ ] Прогресс не изменился
4. Отвязка соцсети
Подготовка: Аккаунт с привязанными Google + Facebook
Что делаем: 1. Открыть настройки профиля 2. Нажать "Отвязать Facebook"
Что проверяем: - [ ] Facebook исчезает из списка привязанных - [ ] Google остаётся привязанным - [ ] Прогресс не изменился
5. Перенос аккаунта на новый девайс (выбираем старый прогресс)
Подготовка: - Девайс A: аккаунт 50 уровня, привязан Google - Девайс B: новая установка игры (или другой аккаунт)
Что делаем: 1. Девайс B: запустить игру → автоматический вход (новый аккаунт или низкий уровень) 2. Девайс B: открыть настройки → "Привязать Google" → авторизоваться тем же Google что на Девайсе A 3. Появится диалог конфликта — показывает два аккаунта: - Текущий (Девайс B) — например, 1 уровень - Привязанный (с Девайса A) — 50 уровень 4. Выбрать привязанный (50 уровень)
Что проверяем: - [ ] Диалог конфликта показывает корректные данные обоих аккаунтов (уровень, имя) - [ ] После выбора — игра перезапускается - [ ] После перезапуска — на Девайсе B аккаунт 50 уровня с полным прогрессом - [ ] Девайс A: запустить игру → тоже входит в аккаунт 50 уровня (оба девайса привязаны)
6. Перенос аккаунта (выбираем текущий прогресс)
Подготовка: - Девайс A: аккаунт 50 уровня, привязан Google - Девайс B: аккаунт 30 уровня, привязан Facebook
Что делаем: 1. Девайс B: настройки → "Привязать Google" → авторизоваться Google с Девайса A 2. Появится диалог конфликта: - Текущий (Девайс B) — 30 уровень - Привязанный (Девайс A) — 50 уровень 3. Выбрать текущий (30 уровень)
Что проверяем: - [ ] Прогресс на Девайсе B не изменился (30 уровень) - [ ] Google теперь привязан к аккаунту 30 уровня (Девайс B) - [ ] Девайс A: запустить игру → по-прежнему аккаунт 50 уровня - [ ] У аккаунта 50 уровня Google больше не привязан (остались Apple/Facebook, если были)
7. Кик сессии — вход с другого устройства
Подготовка: Один аккаунт привязан к Девайсу A и Девайсу B (после переноса из сценария 5)
Что делаем: 1. Девайс A: запустить игру, дождаться полной загрузки, начать играть 2. Девайс B: запустить игру
Что проверяем на Девайсе A: - [ ] Появляется диалог "Сессия завершена" (или аналогичный текст) - [ ] Диалог содержит кнопку OK - [ ] После нажатия OK — приложение закрывается
Что проверяем на Девайсе B: - [ ] Вход выполнен успешно - [ ] Прогресс актуальный - [ ] Можно играть и сохранять
8. Кик сессии — обратное переключение
Подготовка: Продолжение сценария 7 — Девайс B активен, Девайс A закрыт
Что делаем: 1. Девайс A: снова запустить игру
Что проверяем: - [ ] Девайс A входит в игру успешно - [ ] Девайс B (если ещё открыт) получает диалог "Сессия завершена" → закрывается - [ ] Прогресс на Девайсе A актуальный (включая изменения, сделанные на Девайсе B)
9. Кик сессии — первый девайс был офлайн
Подготовка: Один аккаунт на двух девайсах
Что делаем: 1. Девайс A: запустить игру, поиграть 2. Девайс A: включить авиарежим (или отключить Wi-Fi/мобильные данные) 3. Девайс B: запустить игру (вход успешен) 4. Девайс A: выключить авиарежим (вернуть интернет)
Что проверяем: - [ ] Девайс B вошёл нормально, даже пока A был в игре (A не мог получить кик — офлайн) - [ ] Когда Девайс A восстановил сеть — при следующей попытке сохранения или запроса к серверу появляется ошибка сессии - [ ] На Девайсе A показывается диалог о проблеме с сессией → приложение закрывается
10. Сворачивание и разворачивание
Что делаем: 1. Запустить игру, дождаться загрузки 2. Свернуть приложение (кнопка Home / свайп) 3. Подождать 5-10 секунд 4. Развернуть приложение
Что проверяем: - [ ] Игра возвращается без ошибок - [ ] Прогресс не потерян - [ ] Можно продолжить играть и сохранять
11. Сворачивание + вход с другого девайса
Подготовка: Один аккаунт на двух девайсах
Что делаем: 1. Девайс A: запустить игру, поиграть 2. Девайс A: свернуть приложение 3. Девайс B: запустить игру 4. Девайс A: развернуть приложение
Что проверяем: - [ ] Девайс B вошёл в игру - [ ] Девайс A при разворачивании получает диалог "Сессия завершена" → закрывается
12. Сохранение прогресса в облако
Что делаем: 1. Запустить игру 2. Сделать что-то, что меняет прогресс (пройти уровень, купить предмет) 3. Подождать автосохранение (или вызвать его вручную)
Что проверяем: - [ ] Нет ошибок сохранения - [ ] Закрыть игру, открыть заново — прогресс на месте - [ ] Открыть на другом девайсе (с тем же аккаунтом) — прогресс тоже на месте
13. Переустановка игры — Device ID не изменился
Подготовка: Аккаунт с прогрессом, привязан Google
Что делаем: 1. Запомнить уровень и ресурсы 2. Удалить игру 3. Установить игру заново 4. Запустить
Что проверяем: - [ ] Если Device ID не изменился — автоматический вход в старый аккаунт, прогресс на месте - [ ] Если Device ID изменился — новый пустой аккаунт. Нужно восстановить через Google (см. сценарий 5)
14. Восстановление после переустановки через соцсеть
Подготовка: Device ID изменился после переустановки, вошли в новый пустой аккаунт
Что делаем: 1. Настройки → "Привязать Google" (тот же Google, что был привязан к старому аккаунту) 2. Появляется диалог конфликта: - Текущий — пустой аккаунт - Привязанный — старый аккаунт с прогрессом 3. Выбрать привязанный
Что проверяем: - [ ] Игра перезапускается - [ ] Старый прогресс восстановлен - [ ] Все ресурсы и уровень соответствуют тому, что было до удаления
15. Смена платформы (iOS → Android)
15а. Есть кроссплатформенная соцсеть (Google или Facebook)
Что делаем: 1. На iOS: убедиться что привязан Google (или Facebook) 2. На Android: установить игру, запустить (новый аккаунт) 3. Настройки → "Привязать Google" → тот же Google 4. Появляется диалог конфликта → выбрать привязанный (iOS аккаунт)
Что проверяем: - [ ] Прогресс с iOS перенесён на Android - [ ] Всё работает как обычно
15б. Только Apple ID
Что проверяем: - [ ] На Android нет кнопки "Привязать Apple" (или она недоступна) - [ ] Перенос невозможен — нужно сначала привязать Google/Facebook на iOS
16. Шаринг аккаунта между людьми
Подготовка: - Вася играет на Девайсе A, привязал Facebook - Петя хочет поиграть на Девайсе B
Первый раз: 1. Девайс B: войти через Facebook Васи → конфликт → выбрать привязанный 2. Оба девайса теперь на одном аккаунте
Переключение: 1. Вася играет на A 2. Петя запускает игру на B → Вася получает "Сессия завершена" → игра закрывается 3. Петя играет 4. Когда Вася хочет вернуться — просто запускает игру на A → Петя получает "Сессия завершена"
Что проверяем: - [ ] Переключение работает без повторного входа через соцсеть - [ ] Прогресс общий — изменения одного видны другому - [ ] Кик всегда срабатывает при входе второго устройства
17. Обновление со старой версии на новую (миграция)
Подготовка: Девайс со старой версией игры (< 3.0), есть прогресс
Что делаем: 1. Запомнить уровень и ресурсы 2. Обновить игру до версии 3.0+ 3. Запустить
Что проверяем: - [ ] Игра запускается без ошибок - [ ] Автоматический вход в тот же аккаунт - [ ] Прогресс полностью сохранён - [ ] Можно играть и сохранять как обычно
18. Нет интернета
Что делаем: 1. Запустить игру с интернетом, дождаться загрузки 2. Отключить интернет (авиарежим) 3. Поиграть некоторое время 4. Включить интернет
Что проверяем: - [ ] Игра продолжает работать офлайн (локальный прогресс сохраняется) - [ ] Облачное сохранение не работает (ожидаемо) - [ ] После возврата интернета — прогресс синхронизируется
Краткий чек-лист
АУТЕНТИФИКАЦИЯ
[ ] Первый запуск — новый аккаунт
[ ] Повторный вход — тот же аккаунт
[ ] Привязка соцсети
[ ] Отвязка соцсети
ПЕРЕНОС АККАУНТА
[ ] Конфликт — выбор серверного (старого) прогресса
[ ] Конфликт — выбор текущего (нового) прогресса
[ ] Переустановка с тем же Device ID
[ ] Переустановка с новым Device ID + восстановление через соцсеть
[ ] Смена платформы iOS ↔ Android
СЕССИИ И MULTI-DEVICE
[ ] Кик при входе с другого девайса (диалог → закрытие)
[ ] Обратное переключение (A→B→A)
[ ] Кик, когда первый девайс офлайн
[ ] Сворачивание + вход с другого девайса
[ ] Сохранение в облако работает
[ ] Сохранение без сессии — ошибка (для новых клиентов)
МИГРАЦИЯ
[ ] Обновление со старой версии — прогресс сохранён
[ ] Старая + новая версия на одном аккаунте
[ ] Нет интернета → возврат → синхронизация