Рабочий процесс тестирования и развертывания (Rails) - PullRequest
0 голосов
/ 07 июня 2018

Не уверен, что это в правильном разделе или нет - дайте мне знать, если нет.

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

В настоящее время у них есть тестовый сервер X, который можно просмотреть в режиме реального времени на x.website.com, и производственный сервер Y, который просматривается на website.com.

Наша основная задача как разработчиков заключается в том, чтобы работать над проблемами GitHub, которые варьируются от небольших изменений, таких как внешний интерфейс (например, редактирование неверной ссылки), до более крупных модификаций бэкэнда.

В настоящее время их система для тестирования состоит в том, чтобыотправьте Issue_X в удаленную ветку git на сервере X для тестирования в реальном времени и попросите одного из тестировщиков группы взглянуть на него.Если человек работал над серией небольших проблем, он часто объединяет их в пакет и собирает их вместе для тестирования - но разработчик часто решает, считают ли они проблемы достаточно маленькими, чтобы их можно было объединить вместе.,В других случаях, когда разработчик работал над более серьезной проблемой, тестовый сервер может быть вне пределов на некоторое время, пока тестирование продолжается.В любом случае - тестовый сервер может использоваться только одним разработчиком за раз.Это еще более продлевается тем фактом, что многие из нашей команды (и все тестировщики) являются добровольцами, поэтому не всегда доступны.

Мой вопрос - как это соотносится с отраслевым стандартом?Это выглядит как неэффективный и непоследовательный способ сделать это.Какие есть альтернативы?

1 Ответ

0 голосов
/ 07 июня 2018

Такое тестирование кажется очень неэффективным.Обычно, когда люди говорят «тест», это часто модульное тестирование, выполняемое через гем (Capybara или RSpec).Такая практика использования тестового сервера часто называется промежуточным сервером, когда это последний шаг для выявления ошибок перед развертыванием в режиме реального времени.

Очень беспокоит то, что на промежуточном сервере разрешен только один тест, есть ли какая-либо причина?для этого?

В качестве альтернативы можно использовать гем тестирования, подобный тому, который я упоминал выше, для тестирования данных и конечных точек API.Frontend немного сложнее для написания тестов, но для этого есть фреймворки, такие как Mocha и Karma.

...