©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