Перейти к содержимому

Фотография

Как создавать тестовые данные для UI тестов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Evgenii163

Evgenii163

    Новый участник

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Клочков Евгений Анатольевич
  • Город:Тольятти

Отправлено 28 апреля 2020 - 10:20

Всем привет.

Подскажите пожалуйста. Есть ли какие-нибудь подходы, патерны и т.д. для создания/упревления тестовыми данными для UI автотестов.

Приведу пример для понимания сути вопроса.

Есть некая система с большим количеством микросервисов. У этой системы есть например пользователь, а у этого пользователя есть права на доступ в другие части системы. Например мне нужно проверить эти доступы. 

В данный момент я, посредством API запроса, создаю пререквезиты к тесту (в нашем случае пользователя с нужными правами), в самом файле теста, в блоке "before". А в теле теста использую этого  пользователя.

Через API получается быстрее и надежней создать пререквезит, чем через UI по понятным причинам. Но возникают трудности когда пререквезит состоит не из одного API запроса, а из цепочки API запросов зависящих друг от друга. 

У меня совершенно нет опыта создания пререквезитов другими способами. В интернете находил идеи создания тестовой базы данных с уже созданными в ней нужными данными для автотестов посредством docker. Где перед прогоном всем АТ БД разварачивается на тестовый стенд.

Если не трудно. Опишите пожалуйста хотябы вкратце процесс создания пререквезитов для АТ на вашем проекте, чтобы я хотябы знал в какую сторону копать. Заранее спасибо!

PS. Пишу АТ на javascript.


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 28 апреля 2020 - 10:39

API тесты это слишком высокий уровень, от этого и проблемы

 

проверяйте все что надо юнит-тестами, и поднимайтесь на уровень выше только когда это действительно нужно

 

а когда подниметесь, то мокайте данные

 

а идея "готовой базы" так себе, так как постоянно ее надо обновлять, бранчить и так далее


  • 0

#3 Evgenii163

Evgenii163

    Новый участник

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Клочков Евгений Анатольевич
  • Город:Тольятти

Отправлено 28 апреля 2020 - 10:48

API тесты это слишком высокий уровень, от этого и проблемы

 

проверяйте все что надо юнит-тестами, и поднимайтесь на уровень выше только когда это действительно нужно

 

 

Как понять что какой-то уровень системы достаточно покрыт такого уровня тестами? Я так понимаю для этого как раз и существуют системы, которые измеряют test coverege?
И еще как понять на каком уровне находится функционал системы? Путем того как и где это функционал используется?


  • 0

#4 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 28 апреля 2020 - 10:54

 

 

Как понять что какой-то уровень системы достаточно покрыт такого уровня тестами? 

открыть код и посмотреть

 

 

 

Я так понимаю для этого как раз и существуют системы, которые измеряют test coverege

ну он функциональное покрытие не покажет

 

 

 

И еще как понять на каком уровне находится функционал системы?

смотрите на архитектуру системы


  • 0

#5 Evgenii163

Evgenii163

    Новый участник

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Клочков Евгений Анатольевич
  • Город:Тольятти

Отправлено 28 апреля 2020 - 10:56

 

 

 

Спасибо за уделенное время и идеи!


  • 0

#6 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 28 апреля 2020 - 11:15

За джаваскрипт не скажу.
В джаве пишется класс-менеджер тестовых данных. Этот класс ответственен за генерацию тестовых сущностей,  за предоставления методов работы с такими сущностями, либо как методы класса-сущности, либо как методы класса-менеджера и за соблюдение необходимых логических связок сущностей, уникальность айдишников и ТП.


  • 0

#7 Evgenii163

Evgenii163

    Новый участник

  • Members
  • Pip
  • 31 сообщений
  • ФИО:Клочков Евгений Анатольевич
  • Город:Тольятти

Отправлено 28 апреля 2020 - 11:23

В джаве пишется класс-менеджер тестовых данных. 

А какие-нибуль библиотеки используются или самописный класс?


  • 0

#8 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 28 апреля 2020 - 13:25

 

В джаве пишется класс-менеджер тестовых данных. 

А какие-нибуль библиотеки используются или самописный класс?

 

а для чего? самописный конечно.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных