Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Автоматизированные тесты на тест-системе у клиента

197  
Simple Nothing is f*cked26.10.17 09:52
Simple
NEW 26.10.17 09:52 

Обычно новая версия тестируется у клиента вручную непосредственно перед инсталляцией в продакшн (никакой агильности). Тесты обычно недостаточно глубокие, и уже было пару раз, что проскакивали серьезные ошибки. Хотелось бы (и есть в общем-то консенсус с клиентом) автоматизировать процесс.

Как вы считаете, имеет смысл заморачиваться с этим? Речь о тестах не на CI, а на удаленной системе, доступ к которой есть только через Citrix.

#1 
MrSanders старожил26.10.17 11:31
26.10.17 11:31 
в ответ Simple 26.10.17 09:52, Последний раз изменено 26.10.17 11:34 (MrSanders)

А что за тесты? Юнит, интеграционные, гуй? (см. Testing pyramide)

(если раньше руками тестировали, то, наверное, имеются в виду UI тесты)

#2 
Simple Nothing is f*cked26.10.17 11:33
Simple
NEW 26.10.17 11:33 
в ответ MrSanders 26.10.17 11:31

Интеграционные/acceptance.

#3 
MrSanders старожил26.10.17 11:41
NEW 26.10.17 11:41 
в ответ Simple 26.10.17 11:33

Т.е. надо автоматизировать "щелканье по кнопкам", да?. Дорогое удовольствие. Особенно в начале время улетает только так.

Мы используем Ranorex. С цитриксом он работать не будет. В смысле его надо будет ставить на клиентскую машину. И через цитрикс запускать его, а он уже запустит приложение и протестирует.

#4 
Simple Nothing is f*cked26.10.17 12:01
Simple
NEW 26.10.17 12:01 
в ответ MrSanders 26.10.17 11:41

У меня есть тесты Cucumber-JVM + Selenium, вот я и думал, как бы изловчиться и запустить их там.

Решение типа вашего более специфическое, конечно, и тесты придется два раза писать.

#5 
MrSanders старожил26.10.17 12:04
NEW 26.10.17 12:04 
в ответ Simple 26.10.17 12:01

А, ну раз уже селениум есть, то в чём проблема запустить его на клиентской машине? Или проблемы не технические а организационные (мы у себя ничего ставить не будем, но чтоб тесты работали)?

#6 
Simple Nothing is f*cked26.10.17 12:09
Simple
NEW 26.10.17 12:09 
в ответ MrSanders 26.10.17 12:04

В идеале б задеплоить и тут же прямо на сервере запустить тесты, но в принципе это можно сделать и с клиента. Вопрос, который меня гложет - как сделать так, чтобы данные для тестов были одни и те же. Для своих внутренних тестов я пилю docker compose, тут все идеально - одни и те же условия при каждом запуске.

#7 
MrSanders старожил26.10.17 12:24
NEW 26.10.17 12:24 
в ответ Simple 26.10.17 12:09, Последний раз изменено 26.10.17 12:29 (MrSanders)

ну так докер на клиента, контейнер собрать и на самбовскую шару скопировать, цитриксом запустить скрипт, который скопирует и задеплоит контейнер. И все это дженкинсом (по очереди, разными job-ами) запускать.

А откуда вообще взялось требование тесты на клиентской машине запускать? Я-то думал что клинты хотят смотреть как сами собой кнопочки жмутся и тексты в окошки вводятся, чтобы сопричастность ощущать и "руку на пульсе держать". Но не похоже

#8 
Simple Nothing is f*cked26.10.17 12:45
Simple
NEW 26.10.17 12:45 
в ответ MrSanders 26.10.17 12:24

Инфраструктуры для этого у клиента нет - там все олдскульно.

Требования такого нет. Есть пожелание заменить ручной тест автоматизированным. Теоретически, если я гоняю тесты у себя, то у клиента их уже гонять не надо. Практически я боюсь :)

#9 
MrSanders старожил26.10.17 12:56
NEW 26.10.17 12:56 
в ответ Simple 26.10.17 12:45

Ну, тестов боятся в девопс не ходить :)

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


Лучше бы, конечно, чтобы они сами тесты писали и прогоняли, раз речь об acceptance идет. Ну или хотя бы кто-то другой из ваших.

#10 
Simple Nothing is f*cked26.10.17 13:01
Simple
NEW 26.10.17 13:01 
в ответ MrSanders 26.10.17 12:56

Я тоже склоняюсь к тому, чтобы тестировать у себя. Они этим заниматься точно не будут - бюджета нема.

на цитриксе проблемы с доступом к тем же логам бд, или еще какого-нибудь сервера обязательно будут

Там чисто десктоп, а с него уже я хожу через путти на сервера.

Или есть "неотлавливыемые" особенности продуктивной системы?

Всякие подсистемы, которых, конечно, у нас нет.

#11 
MrSanders старожил26.10.17 13:18
NEW 26.10.17 13:18 
в ответ Simple 26.10.17 13:01

Ну если подсистемы, которые только у клиента есть зло тогда... Все что в есть в докер-контейнере - "вынимать" на клиентскую машину. Есть в докере бд - даем клиенту доступ к базе искдючительно для тестов. Скриптом заполняем базу нужными для тестов данными. И те пе. Подготовка к прогону будет занимать немало времени, настройка - тоже. Но работать будет. Мы с такого как раз на докер переползать пытаемся. Нам легче - тестовые системы тоже наши. Хоть и в другом городе. И рута нет. И давно б на докер перешли, но у нас политика... ВЦ ощущает что тогда нам половина их работников не нужна будет и изо всех сил мешает.

#12