Привет!
За счёт мы достигает такой скорости тестов, я рассказывал подробно на SelenimCamp и SQA Days.
Если вкратце - эмуляция медленных внешних систем, in-memory база данных, встраивание хаков в систему, чтобы тесты могли попадать сразу нужным пользователем на нужную страницу без многократного прокликивания всей цепочки.
У нас
Кол-во уникальных тестов 7459
Которые тестируют интеграцию полную.
Проекту, лет 5 вроде бы.
Есть еще отдельные тесты верстки, базовых компонент и тд.
Да, это типичное заблуждение.
Точнее, само по себе утверждение верное, что задача тестов эмулировать поведение пользователя. НО.
Каждый тест должен тестировать только что-то своё. Во всех книжках ведь пишут, что тесты долнжы быть независимые и т.д.
То есть, тест для логина должен эмулировать действия пользователя при логине. Да. Заполнять логин, пароль, вот это всё.
А тест для покупки телевизора должен эмулировать действия пользователя на странице покупки телевизора. А заполнять логин и пароль сто тысяч раз не должен, потому что эта функциональность уже протестирована в пункте 1.
Ну, в целом я Вас понял, тут просто нужно разделять глубину выхода из тест-шагов.
Если касаемо логина, то вход выполняется единожды на сессию. Если навигация по сайту, то для каждого теста своя, И - главное, если она не касается самого теста (проверить товар в корзине, но ведь до корзины нужно дойти) - выносится или в фикстуру, как подготовочные шаги, или как фаст преддикат функция, которая говорит о возможности проведения теста (если я дошла до корзины - выполнить тест)
Опять таки, первым сообщением я не хотел сказать что Вы делаете плохо, просто нужно уточнять что и как Вы упрощаете для ясности.