Автоматизированные тесты на тест-системе у клиента
Обычно новая версия тестируется у клиента вручную непосредственно перед инсталляцией в продакшн (никакой агильности). Тесты обычно недостаточно глубокие, и уже было пару раз, что проскакивали серьезные ошибки. Хотелось бы (и есть в общем-то консенсус с клиентом) автоматизировать процесс.
Как вы считаете, имеет смысл заморачиваться с этим? Речь о тестах не на CI, а на удаленной системе, доступ к которой есть только через Citrix.
А что за тесты? Юнит, интеграционные, гуй? (см. Testing pyramide)
(если раньше руками тестировали, то, наверное, имеются в виду UI тесты)
Т.е. надо автоматизировать "щелканье по кнопкам", да?. Дорогое удовольствие. Особенно в начале время улетает только так.
Мы используем Ranorex. С цитриксом он работать не будет. В смысле его надо будет ставить на клиентскую машину. И через цитрикс запускать его, а он уже запустит приложение и протестирует.
В идеале б задеплоить и тут же прямо на сервере запустить тесты, но в принципе это можно сделать и с клиента. Вопрос, который меня гложет - как сделать так, чтобы данные для тестов были одни и те же. Для своих внутренних тестов я пилю docker compose, тут все идеально - одни и те же условия при каждом запуске.
ну так докер на клиента, контейнер собрать и на самбовскую шару скопировать, цитриксом запустить скрипт, который скопирует и задеплоит контейнер. И все это дженкинсом (по очереди, разными job-ами) запускать.
А откуда вообще взялось требование тесты на клиентской машине запускать? Я-то думал что клинты хотят смотреть как сами собой кнопочки жмутся и тексты в окошки вводятся, чтобы сопричастность ощущать и "руку на пульсе держать". Но не похоже
Ну, тестов боятся в девопс не ходить :)
Я бы предпочел у себя тестировать (на цитриксе проблемы с доступом к тем же логам бд, или еще какого-нибудь сервера обязательно будут) а клиенту дать ссылку на селениумский отчет по тестам. Никто ж не мешает им еще и самим ручками потестировать, если хочется. Или есть "неотлавливыемые" особенности продуктивной системы? Т.е. тесты локально отрабатывают а на клиентской машине ошибки, и не понятно почему? (разные версии чего-то)
Лучше бы, конечно, чтобы они сами тесты писали и прогоняли, раз речь об acceptance идет. Ну или хотя бы кто-то другой из ваших.
Я тоже склоняюсь к тому, чтобы тестировать у себя. Они этим заниматься точно не будут - бюджета нема.
на цитриксе проблемы с доступом к тем же логам бд, или еще какого-нибудь сервера обязательно будут
Там чисто десктоп, а с него уже я хожу через путти на сервера.
Или есть "неотлавливыемые" особенности продуктивной системы?
Всякие подсистемы, которых, конечно, у нас нет.
Ну если подсистемы, которые только у клиента есть тогда... Все что в есть в докер-контейнере - "вынимать" на клиентскую машину. Есть в докере бд - даем клиенту доступ к базе искдючительно для тестов. Скриптом заполняем базу нужными для тестов данными. И те пе. Подготовка к прогону будет занимать немало времени, настройка - тоже. Но работать будет. Мы с такого как раз на докер переползать пытаемся. Нам легче - тестовые системы тоже наши. Хоть и в другом городе. И рута нет. И давно б на докер перешли, но у нас политика... ВЦ ощущает что тогда нам половина их работников не нужна будет и изо всех сил мешает.