Так и гарантии на тесты никто не даст тогда. Вам поддерживать же их тогда придётся.
Но разрешать тестам лезть напрямую в базу - не есть хорошо.
Тестовый дамп с нужными данными на худой конец. А всё остальное - через REST.
SoapUI для новичка гораздо сложнее. Я не думаю что новичку поручат что-то прямо эдакое в БД делать.
Это вполне покроется несколькими несложными тестовыми методами у разработчиков бэка.
А если вам надо и БД дёргать и REST - пишите лучше тесты на любимом ЯП.
А что плохого что тест лазит в БД? А если нужно проверить те изменения что внеслись после запроса?) Создавая тестовые данные руками ты можешь быть уверен в них ну или отвечать за их правильность, а что насоздает API одному богу известно) и в любом случае если окажется что косяк был в данных, то придут к тестерам а не разработчикам, а отвечать не за свой код у меня нет желания.
P.S.: возможно вам просто пока везёт и вы не сталкивались с такими проблемами, но у меня были случаи на практике когда казалось что вот она элементарная вещь, простая как 2+2, как там можно ошибиться? Но никогда не стоит недооценивать рукожопие или случайное стечение обстоятельств) По этому я предпочитаю расчитывать только на себя и отвечать только за свой код и свои данные.
Это чужая зона ответственности. Тест не должен знать как устроена БД. Тест должен знать как получить нужные данные, и если для этого не хватает тестируемого API - значит должно быть ещё тестовое.
У Postman легко делать цепочки CRUD, а большего от новичка и не потребуют.
По моему опыту поддерживать создание тестовых данных в бд гораздо сложнее, чем получить от разработчиков тестовые методы на экзотику + использовать открытое API. Чем проект крупнее тем тяжелее это делать.
Дело вкуса, наверное… Мне проще пару хранимок и процедурку генерации тестовых данных написать, а потом поддерживать, чем изучать и использовать какое-то АПИ с его особенностями и багами…
Что касается новичка, ему разве не нужно будет изучать это АПИ?
Разве это проще чем, допустим, заинсёртить в БД запись, выполнить какой-нить GET и заассёртить данные в БД и в респонде? Оо
Просто привыкли, что автотестер - это такой “универсальный солдат”, который сам со своими проблемами разбирается. Если в стартапе это ещё как-то оправдано нехваткой рабочих рук, то в энетерпрайзе уже нет.
Если вы смените место работы, то человеку который придёт на ваше место придётся изучать всё то что вы сделали для работы с БД, для того чтобы поддерживать в рабочем состоянии.
Повторюсь, у новичка будут в основном цепочки CRUD, лезть в БД для этого не нужно.
Ну а если ему что-то понадобится экзотическое - проблему он будет решать вместе с разработчиками.
Также, для новичка проще когда ему готовят стенд или дают инструментарий для этого.
Т.е. восстановить тестовую БД из дампа, и выполнить миграции(заодно и их отладить), задача девопса/админа, но никак не автотестера.
Даже интересно… Просто какой-то идеальный шторм…
Подскажите пожалуйста, в какой именно чудесной компании так работают?
Спасибо.
Ха, я знаю на вскидку пару контор, где тестер еще и немного девопс и сам себе аналитик )
P.S.: Предлагаю заканчивать оффтопить и если интересно обсуждение данного вопроса, то вынести это все в отдельный топик и желательно с голосовалкой
У нас сушествует оддельная база для тестирования и после проверки в ней определённого спринта ана заливается в общую!
Видел на практике как имея свободный выбор что из двух использовать большинство людей предпочитали Postman — для начала он быстрее и нагляднее.
В дальнейшем рекомендовал бы изучить какой-то из языков программирования (Java, Python) + библиотеки для юнит-тестирования и тестирования запросов, и переходить на них.