Доброго времени суток. Надеюсь что сможете подсказать и навести на путь истинный вы выборе подхода к автоматизации.
Проект - web приложение - очень масштабное, есть тонны бизнес схем и логики и к сожалению, полностью отсутствует автоматизация тестирования. Самая главная проблема - много сценариев на 30 -50 шагов. То есть нужно сделать все предыдущие шаги, чтобы дойти до конечного и считать что сценарий пройден,
У меня есть небольшой опыт написания автотестов (год), используя javascript + cypress, другие фреймворки пока не пробовал. И так как это было на добровольных началах, получилось много огромных, зависимых друг от друга тестов. Сейчас же к этому хотелось бы подойти более осмысленно и ответственно, но возникают вопросы:
Как в таких сценариях таскать кучу данных с первого шага и до конца теста, насколько это правильно и не противоречит ли вообще BDD подходу написания сценариев, так как в каждом сценарии надо проверять не только скажем, наличие какого-то поля, но и возможность заполнить это поле, потому что его необходимо заполнить, чтобы была возможность двигаться дальше по сценарию и т.д.
Можно ли заменить UI тесты, какими-то другими, которые тоже будут хорошо покрывать необходимый функционал, но при этом будут более легко поддерживаемыми и менее громоздкими и тяжелыми
Я уже подозреваю, что автоматизация тестов при помощи эмуляции пользователя, это на самом деле и не автоматизация по большому счету. Это все равно, что на автомобильном конвейере у робота было бы пять пальцев, и он бы брал отвертку, вставлял в нее насадку, и придерживая мизинцем гайку, закручивал болт. Это смешно.
А ведь логично было бы иметь один-два теста в бот-стиле, которые бы проверяли корректность работы UI, а тест логики был бы уже совсем другой песней.
Подскажите какие-нибудь подходы для решения данной проблемы, может быть у кого-то был опыт решения подобных ситуаций.
Мы работаем над разработкой Sailfish OShttp://omprussia.ru/. В команду тестирования ищем продвинутого специалиста по автоматизированному тестированию, чтобы решать самые сложные задачи вместе!
В данный момент расширяем команду, есть возможность расти вместе с ней и напрямую влиять на продукт.
Все автотестирование на Python + Pytest, Backend на requests + cattrs, Frontend - selenium (чистый, без внешних фреймворков)
Задачи:
разрабатывать функциональные автоматические тесты (для web и api);
разрабатывать нагрузочные тесты;
оформлять дефекты;
развивать подходы к тестированию (методическая часть), писать документацию к автотестам;
работа вместе с группами разработчиков ПО.
Что можем предложить:
работа в команде профессионалов высокого уровня с возможностью карьерного и профессионального роста;
повышение квалификации за счет компании, участие в конференциях;