©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 1 Методы генерации тестовых аккаунтов в базе данных.
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 2 Нет проблем Нет авторизации
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 3 Aккаунты нужны
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 4 Плюсы: Аккаунты создаются именно так, как в реальной системе Нулевое время во время выполнения тестов на создание аккаунта Минусы: Сложности со сценариями, при которых изменяются аккаунты. Тесты сами должны возвращать базовое состояние. Не работает в случае частого восстановления базы из бэкапа Очень трудоемко в случае необходимости большого количества аккаунтов с различными настройками Создание аккаунтов вручную
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 5 Плюсы: Аккаунты создаются именно так, как в реальной системе Нулевое время во время выполнения тестов на создание аккаунта Минусы: Сложности со сценариями, при которых изменяются аккаунты. Тесты сами должны возвращать базовое состояние. Не работает в случае частого восстановления базы из бэкапа Очень трудоемко в случае необходимости большого количества аккаунтов с различными настройками Создание аккаунтов вручную
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 6 Плюсы: Гарантировано получаем идентичное состоящие базы после каждого восстановления базы. Создание всех пользователей происходит лишь единожды При изменении аккаутов можно перевосстановить базу и получить базовое состояние Минусы: Работает лишь с малыми объемами баз данных, когда восстановление происходит достаточно быстро При частом изменении структуры базы данных необходима постоянная поддержка бэкапа Бэкап базы с созданными аккаунтами
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 7 Плюсы: Поведение системы становится наиболее приближенным к продакшен системе Не надо вручную создавать набор тестовых аккаунтов Минусы: Те же, что и при бэкапе базы с созданными аккаунтами: Необходимо производить процедуру обезличивания персональной информации Каждый новый бэкап базы можен приносить измененные аккаунты, на которые завязаны тесты Объем базы может оказаться довольно большим Копия с боевой базы
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 8 Генерация аккаунтов в базе
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 9 Плюсы: Быстрое добавление аккаунтов. Идентичность аккаунтов перед каждым тестовым запуском. Возможность создания скриптов создания аккаунтов нужной нам конфигурации. Генерация аккаунтов непосредственно в базе
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 10 Минусы: Скрипты могут оказаться очень сложными. Не используются проверки бизнес логики. Аккаунты могут быть некорректными. Скрипты чувствительны к малейшему изменению структуры базы данных. Генерация аккаунтов непосредственно в базе
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 11 Использование внешнего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 12 Плюсы: Аккаунты более правильные (проверки со стороны бэкенда). Скрипты создания аккаунтов устойчивы к изменениям в бэкэнде. Более простая структура скриптов создания сценариев. Использование внешнего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 13 Минусы: Нужно наличие такого API. Медленнее, чем работа с базой. Меньше гибкости, по сравнения с базой данных. Необходимо создавать програмные обертки для создания аккаунтов. Использование внешнего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 14 Нет внешнего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 15 Использование внутреннего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 16 Плюсы: Те же, что и у внешнего API (проверки на бэкенде, более устойчивы, проще сценарии). Больше гибкости, чем у внешнего API. Использование внутреннего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 17 Минусы: Те же, что и у внешнего API (наличие, медленнее, гибкость, доп обертки). Изменения API менее предсказуемы. Как правило, отсутствует документация. Использование внутреннего API
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 18 Не хочу писать сценарии. Дайте просто аккаунт.
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 19 Схема со сценариями.
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 20 Схема со сценариями. Плюсы для мануальных QA: Быстрое получение нужного аккаунта В предусловии тест кейса просто имя сценария Минимизация ошибок при воссоздании предварительных условий
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 21 Схема со сценариями. Плюсы для Автоматизаторов: Предварительная генерация нужного количества аккаунтов Идентичность условий проведения тестов Сокращение времени прохождения
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 22