Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Опрос: сколько в среднем UI тестов в вашем(их) проекте(ах)?


(asolntsev) #21

Привет!
За счёт мы достигает такой скорости тестов, я рассказывал подробно на SelenimCamp и SQA Days.
Если вкратце - эмуляция медленных внешних систем, in-memory база данных, встраивание хаков в систему, чтобы тесты могли попадать сразу нужным пользователем на нужную страницу без многократного прокликивания всей цепочки.

Вот пример теста для интернет-банка БСПБ:

  @Test
  public void invalidLoginShowsDirectLinkToResettingPassword() {
    loginFirstStep("blahblah");
    $(".alert-error").shouldBe(visible).shouldHave(text(label("Secure.invalidLogin")));
    $(".alert-error > a").click();
    $("#reset-password-dialog").shouldBe(visible);
  }

(Mykhailo Poliarush) #22

Эта тема отлеплена. Она больше не будет отображаться наверху списка тем раздела.


(Mykhailo Poliarush) #23

Стоит подытожить результаты голосования состоянием на момент когда у нас 100 проголосовавших


Серия at.info опросов по автоматизации тестирования ПО
(Ant1dot) #24

У нас
Кол-во уникальных тестов 7459
Которые тестируют интеграцию полную.
Проекту, лет 5 вроде бы.
Есть еще отдельные тесты верстки, базовых компонент и тд.


(Konstantin) #25

50 - 100


(Goshko Nazar) #26

Извините, но это bad-way подход, так как задача тестов - эмулировать поведение пользователя… а транзакционные запросы вы что, из базы берете?


(asolntsev) #27

Да, это типичное заблуждение.
Точнее, само по себе утверждение верное, что задача тестов эмулировать поведение пользователя. НО.

Каждый тест должен тестировать только что-то своё. Во всех книжках ведь пишут, что тесты долнжы быть независимые и т.д.

  1. То есть, тест для логина должен эмулировать действия пользователя при логине. Да. Заполнять логин, пароль, вот это всё.
  2. А тест для покупки телевизора должен эмулировать действия пользователя на странице покупки телевизора. А заполнять логин и пароль сто тысяч раз не должен, потому что эта функциональность уже протестирована в пункте 1.

(Goshko Nazar) #28

Ну, в целом я Вас понял, тут просто нужно разделять глубину выхода из тест-шагов.
Если касаемо логина, то вход выполняется единожды на сессию. Если навигация по сайту, то для каждого теста своя, И - главное, если она не касается самого теста (проверить товар в корзине, но ведь до корзины нужно дойти) - выносится или в фикстуру, как подготовочные шаги, или как фаст преддикат функция, которая говорит о возможности проведения теста (если я дошла до корзины - выполнить тест)

Опять таки, первым сообщением я не хотел сказать что Вы делаете плохо, просто нужно уточнять что и как Вы упрощаете для ясности.