1

Мы управляем приложением, которое использует ряд внешних сервисов в рамках своей общей работы. Некоторые услуги - это мыльные услуги, другие - Restful Apis. Некоторые службы также управляются нами, другие - сторонние службы. Некоторые службы являются центральными для функциональности приложения, другие - более вспомогательными/необязательными.Должны ли «тестировать» среды «тестировать» внешние службы?

Каждая внешняя служба предоставляет среду «тест» и «живая». В настоящее время мы следуем политике, согласно которой, когда наше приложение находится под тестированием (этапы разработки, тестирования и этапа), он должен использовать тестовую версию внешней службы. Только в нашей живой среде используются живые версии сервисов.

Существует незначительное количество накладных расходов при управлении той версией службы, которая потребляет между средами, но это не проблема. Мой вопрос в том, является ли эта политика хорошей идеей? Будем ли мы лучше обслуживаться, всегда потребляя прямые версии внешних сервисов? Произошла ли ошибка при демонстрации тестовых версий внешних сервисов, которыми мы управляем, т. Е. Должны ли тестовые среды оставаться закрытыми?

Мы пока не были сожжены, не указывая на живые внешние службы, пока приложение не достигнет «живого», но я согласен с тем, что часть нашей проблемы заключается в том, что нам не хватает детализации в нашей среде - путем группировки разработки, тестирования и этап под зонтиком «тест», мы теряем способность тестировать внешние сервисы.

Все, что я понимаю на данный момент, заключается в том, что для тестирования тестовых служб в тестовых средах мало что можно получить. Существует незначительная стоимость, связанная с потреблением внешних сторонних услуг сторонних производителей. Кроме того, есть потенциальное влияние на наши собственные услуги, чтобы они знали, что они потребляются клиентом на этапе «тестирования», но это, вероятно, может быть учтено.

Я понимаю, что сценарий выглядит несколько открытым, но, похоже, есть только два пути?

ответ

1

Меня беспокоит случайное изменение производственных данных при запуске непроизводственных экземпляров вашего приложения. Как только вы сделаете один SetX(), POST/PUT, вставьте/обновите, что у вас есть, вы за рулем. Это подлый вид ошибки, которую очень сложно найти.

Если вы строго потребляете, то теоретически это не имеет значения. На практике я все равно буду обеспокоен. На вашем месте я, вероятно, был бы очень доволен, если бы был неживой вариант. В противном случае я подумал бы о том, чтобы удалить все эти внешние сервисы.

Смежные вопросы