понедельник, 16 июня 2014 г.

Черновик. Разбираю тут тестирование клиент-серверного взаимодействия по TCP/IP

Разбираю тут тестирование клиент-серверного взаимодействия по TCP/IP.

На работе.

Там много всяких тонкостей. И "приёмов работы".

В частности - mocking. "Исключение" передающих звеньев. Dependency Injection. Изоляция слоёв и маршалинга между ними.

И как "не размазывать" части логики, которые являются "взаимоответными" типа SaveToPipe и LoadFromPipe по "взаимонесвязанным" проектным классам. И как вообще обойтись без оперирования "бизнес-логикой" понятием "коннеции" (Pipe).

Надо будет об этих моментах написать подробнее.

Особенно о приёмах того как на "завязываться на mocking", а исключать "передающие звенья". Если мы "уверены", что эти звенья "и так работают". Или протестировали их ОТДЕЛЬНО.

И о том - как это ведёт к детерминированности и "тестируемости" архитектуры.

И как попытка протестировать подобные взаимодействия ведёт к "улучшению" архитектуры и выделению "промежуточных слоёв".

Единственный момент - очень сложно придумать "синтетический пример" простой для понимания и не связанный с работой.

Буду думать.

P.S. "Тестирование калькулятора" что ли сделать клиент-серверным :-) Чтобы "морда" в одном приложении, а "бизнес-логика" - в другом... Для ПРИМЕРА... Есть в этой шутке доля шутки...

P.P.S. И кстати - что бы вы посоветовали бы взамен "голого TCP/IP"? DCOM/CORBA/Soap?

Комментариев нет:

Отправить комментарий