Хочу рассказать про наш опыт миграции пользователей в базы данных внешней системы, как мы выбирали подходы и сценарии для тестирования, с какими сложностями столкнулись, какие полезные выводы сделали. Никакой теории, исключительно разбор живого случая с конкретными примерами.
2. • Test Lead в EPAM
• Докладчик
QA Fest
Selenium Camp
BAQ Conference
Sigma Open Tech Week
...
• Со-автор первой в Украине настольной игры для
тестировщиков
t WITH PASSION TO QUALITY
KYIV 2018
Обо мне
3. • Входные данные
• Подход
• Трудности
• Результат
t WITH PASSION TO QUALITY
KYIV 2018
План
5. Case: Миграция пользователей и всех связанных данных в
базы другой системы
t WITH PASSION TO QUALITY
KYIV 2018
Входные данные
6. Case: Миграция пользователей и всех связанных данных в
базы другой системы
t WITH PASSION TO QUALITY
KYIV 2018
Входные данные
Заказчик
7. Case: Миграция пользователей и всех связанных данных в
базы другой системы
t WITH PASSION TO QUALITY
KYIV 2018
Входные данные
Заказчик
Проект 1 Проект 2 Проект NМЫ ОНИ…
8. Case: Миграция пользователей и всех связанных данных в
базы другой системы
t WITH PASSION TO QUALITY
KYIV 2018
Входные данные
Заказчик
Проект 1 Проект 2 Проект NМЫ ОНИ…
9. Case: Миграция пользователей и всех связанных данных в
базы другой системы
t WITH PASSION TO QUALITY
KYIV 2018
Входные данные
Заказчик
Проект 1 Проект 2 Проект NМЫ ОНИ…
10. t WITH PASSION TO QUALITY
KYIV 2018
Причины
• Единый логин
• Безопасность
13. t WITH PASSION TO QUALITY
KYIV 2018
Полезная штука 1
Спасительные эксельки
• шаги миграции
• сценарии тестирования
14. t WITH PASSION TO QUALITY
KYIV 2018
Полезная штука 2
SQL скрипты для сравнения состояний до и после миграции
15. t WITH PASSION TO QUALITY
KYIV 2018
Полезная штука 3
Максимальное логирование во время миграции*
*убедитесь, что хватает места для лога
16. t WITH PASSION TO QUALITY
KYIV 2018
Полезная штука 4
Без создания новых данных для покрытия всех сценариев
17. • Скриншоты состояний до/после миграции
• Думать не о скоупе сторей, а обо всех
реальных кейсах
• Подтвердить план тестирования
t WITH PASSION TO QUALITY
KYIV 2018
Что также было полезно
19. Техники тест дизайна:
• Equivalence partitioning
• Error guessing
• Decision tables
• Pairwise testing / All-Pairs
• …
= каждая комбинация протестирована хотя бы один раз
t WITH PASSION TO QUALITY
KYIV 2018
Стряхнем пыль с ISTQB…
22. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
23. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
24. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Юзер 2
Юзер 3
Юзер 4
Юзер 5
25. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
Юзер 2
Юзер 3
Юзер 4
Юзер 5
26. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
2 3 4
Юзер 2 5 6 7 8
Юзер 3 9 10 11 12
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
27. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
2 3 4
Юзер 2 5 6 7 8
Юзер 3 9 10 11 12
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
28. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
2 3 4
Юзер 2 5 6 7 8
Юзер 3 9 10 11 12
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
29. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
2 3 4
Юзер 2 5 6 7 8
Юзер 3 9 10 11 12
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
30. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1
Роли и
пермишены 1
2 3 4
Юзер 2 5 6 7 8
Юзер 3 9
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
31. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1 1 2 3 4
Юзер 2 5 6 7 8
Юзер 3 9
Юзер 4 13 14 15 16
Юзер 5 17 18 19 20
32. t WITH PASSION TO QUALITY
KYIV 2018
Продукт 1 Продукт 2
Продукт 1
Продукт 2
Нет лицензии
Юзер 1 1 2 3 4
Юзер 2 5 6 7 8
Юзер 3 9
Юзер 4 10
Юзер 5 11
34. • QA/DEV энвы
• Репетиция миграции на Проде:
Staging с юзерами с Прода - 2 недели
• Client Тesting, Staging, Prod
t WITH PASSION TO QUALITY
KYIV 2018
Шаг 0: Энвы
35. Тестирование миграции
t WITH PASSION TO QUALITY
KYIV 2018
Шаг 1
• Роли + лицензии + пермишены
• Личные данные + пароли
• Новые и существующие юзеры
• Специальные флаги / сценарии /
пользователи
38. Все точки соприкосновения
t WITH PASSION TO QUALITY
KYIV 2018
Шаг 3: Интеграция
• Login/Logout
• Веб сервисы, Веб API
• OData
• Ссылки на UI новой системы
(например, Manage profile)
• Регистрация – существующий email
и т.д.
39. • Свои пароли на тест энвах
• Без паролей на юзер энвах
t WITH PASSION TO QUALITY
KYIV 2018
Что делать с паролями?
43. Не тривиальная миграция базы
= тул для сравнения баз не подойдет
(Redgate SQL Compare, Visual Studio SQL и пр.)
t WITH PASSION TO QUALITY
KYIV 2018
Проблема 1
44. Время на проработку сценариев
тестирования и подбор тестовых данных
t WITH PASSION TO QUALITY
KYIV 2018
Проблема 2
45. Нет доступа к данным напрямую, работа с
экспортированными данными в csv/xls файлах
workaround - импортировать файлы в базу
локально, использовать джоины
t WITH PASSION TO QUALITY
KYIV 2018
Проблема 3
60. Сравнить схемы баз данных
required vs optional
string vs int
etc.
Пробелы перед/после email
t WITH PASSION TO QUALITY
KYIV 2018
Что также было БЫ полезно
62. • Успешная миграция
• 4 месяца в продакшене
• 0 багов от кастомеров
• 1 некритичный баг, найденный нами*
*непосредственно по миграции
t WITH PASSION TO QUALITY
KYIV 2018
Результат
63. t WITH PASSION TO QUALITY
KYIV 2018
Вопросы? Контакты
Контакты:
eshepelieva@gmail.com
eshepelieva
search for Kateryna Shepelieva
search for eshepelieva
search for testogame
Спасибо за внимание!
64. • Участвуйте в розыгрыше – подходите за анкетами
• Подходите играть на диван эксперта сегодня в 16:15
• Розыгрыш в 17:00 на диване эксперта
t WITH PASSION TO QUALITY
KYIV 2018
Настольная игра для тестировщиков TESTO