Software quality assurance days
International Conference of
Software Quality Assurance
sqadays.com
St. Petersburg. May 20–21, 2016
Serhii Ivashchenko
X1 Group. Kharkiv, Ukraine
Test automation of roles and privileges
Test automation of roles and privileges
Много ли у вас пользователей?
Site Admin
User
Manager
Copywriter
Test automation of roles and privileges
Актуальные вопросы:
❖ Тестируем ли мы все роли на
проекте?
❖ Тестируем только UI?
❖ Тестируем только API?
Test automation of roles and privileges
Test automation of roles and privileges
Test automation of roles and privileges
Возможные решения:
❖ тестировать из под всех ролей
“вручную”
❖ написать тесты для роли с
наибольшими привилегиями и с
наименьшими (admin vs user)
❖ придумать общий подход и
заавтоматизировать
Test automation of roles and privileges
Подходы через авто-тесты:
❖ все тесты для каждой роли
❖ создать интерфейсы, которые могут
реализовать роли
❖ использовать рефлексию, имея
описания привилегий для каждой роли
Test automation of roles and privileges
❖ Рефлексия (от позднелат. reflexio-
обращение назад) - это механизм
исследования данных о программе
во время её выполнения.
Test automation of roles and privileges
Вызов метода
Test automation of roles and privileges
Роль Пользователя
Test automation of roles and privileges
Описание Роли в XML
Test automation of roles and privileges
Описание Роли в XML
Test automation of roles and privileges
Описание Роли в XML
Test automation of roles and privileges
Описание всех Привилегий
Test automation of roles and privileges
Тест
- JUnit:
- Parametrized or Councurent.Parametrized runner
- Selenium
- RestAssured
Test automation of roles and privileges
Тест
Test automation of roles and privileges
Логика теста
❖ 1-2. Достаем описание Пермишенов
для конкретной роли из XML
❖ 3. Достаем конкретный Пермишен по
Имени и значение о доступности этого
действия для Роли
❖ 3.1 Запускаем Метод и проверяем
ожидаемый результат.
Test automation of roles and privileges
Логика Теста
Test automation of roles and privileges
Преимущества
❖ поддерживаемость
❖ быстрое расширение
❖ лаконичность теста
Test automation of roles and privileges
Недостатки
❖ “разрастание” класса с
описанием Привилегий
Test automation of roles and privileges
Вопросы?
❖ https://github.com/serhiiivashchenko/per
missions

Автоматизация тестирования ролей и привилегий

  • 1.
    Software quality assurancedays International Conference of Software Quality Assurance sqadays.com St. Petersburg. May 20–21, 2016 Serhii Ivashchenko X1 Group. Kharkiv, Ukraine Test automation of roles and privileges
  • 2.
    Test automation ofroles and privileges Много ли у вас пользователей? Site Admin User Manager Copywriter
  • 3.
    Test automation ofroles and privileges Актуальные вопросы: ❖ Тестируем ли мы все роли на проекте? ❖ Тестируем только UI? ❖ Тестируем только API?
  • 4.
    Test automation ofroles and privileges
  • 5.
    Test automation ofroles and privileges
  • 6.
    Test automation ofroles and privileges Возможные решения: ❖ тестировать из под всех ролей “вручную” ❖ написать тесты для роли с наибольшими привилегиями и с наименьшими (admin vs user) ❖ придумать общий подход и заавтоматизировать
  • 7.
    Test automation ofroles and privileges Подходы через авто-тесты: ❖ все тесты для каждой роли ❖ создать интерфейсы, которые могут реализовать роли ❖ использовать рефлексию, имея описания привилегий для каждой роли
  • 8.
    Test automation ofroles and privileges ❖ Рефлексия (от позднелат. reflexio- обращение назад) - это механизм исследования данных о программе во время её выполнения.
  • 9.
    Test automation ofroles and privileges Вызов метода
  • 10.
    Test automation ofroles and privileges Роль Пользователя
  • 11.
    Test automation ofroles and privileges Описание Роли в XML
  • 12.
    Test automation ofroles and privileges Описание Роли в XML
  • 13.
    Test automation ofroles and privileges Описание Роли в XML
  • 14.
    Test automation ofroles and privileges Описание всех Привилегий
  • 15.
    Test automation ofroles and privileges Тест - JUnit: - Parametrized or Councurent.Parametrized runner - Selenium - RestAssured
  • 16.
    Test automation ofroles and privileges Тест
  • 17.
    Test automation ofroles and privileges Логика теста ❖ 1-2. Достаем описание Пермишенов для конкретной роли из XML ❖ 3. Достаем конкретный Пермишен по Имени и значение о доступности этого действия для Роли ❖ 3.1 Запускаем Метод и проверяем ожидаемый результат.
  • 18.
    Test automation ofroles and privileges Логика Теста
  • 19.
    Test automation ofroles and privileges Преимущества ❖ поддерживаемость ❖ быстрое расширение ❖ лаконичность теста
  • 20.
    Test automation ofroles and privileges Недостатки ❖ “разрастание” класса с описанием Привилегий
  • 21.
    Test automation ofroles and privileges Вопросы? ❖ https://github.com/serhiiivashchenko/per missions