©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
Методы генерации тестовых пользователей. Плюсы и минусы