Компания, в которой я работаю, является поставщиком программного обеспечения с набором приложений. Существует также ряд веб-сервисов, и, конечно, они должны быть стабильными, даже если приложения меняются. Нам не всегда это удавалось, и иногда покупатель обнаруживает, что после обновления сервис работает не так, как раньше.
Теперь мы хотим справиться с этим лучше. Как правило, веб-службы не должны изменяться, и если они должны, по крайней мере, мы узнаем об этом и документируем изменение.
Но как мы это обеспечим? Одна идея состоит в том, чтобы сравнивать файлы WSDL с предыдущими версиями в каждом выпуске. Это будет гарантировать, что интерфейсы не изменятся, но не обнаружит изменения поведения, например, если в какой-то общей библиотеке будет обнаружена ошибка.
Другая идея заключается в создании набора сервисных тестов, например, с использованием soapUI. Но тогда мы никогда не узнаем, достаточно ли мы рассмотрели дела.
Каковы некоторые лучшие практики в этом отношении?