Russian Qt Forum

Программирование => Общий => Тема начата: LisandreL от Январь 09, 2013, 13:43



Название: Тестирование сетевого приложения
Отправлено: LisandreL от Январь 09, 2013, 13:43
Есть написанное клиент-серверное приложение. Хочется потестировать, как оно будет вести себя в сети разной степени гадкости.
Нужно решение, которое позволило бы настраивать скорость, задержку и вероятность дропа пакетов у канала.
Пока что рассматриваем варианты. Софтовые, железные, платные бесплатные.
Знаю про dummynet. Какие ещё варианты стоит посмотреть?


Название: Re: Тестирование сетевого приложения
Отправлено: Old от Январь 09, 2013, 14:31
Если для организации канала используется tcp, то вы протестируете качество сетевого стека операционки, а не своего сервера.
Протокол tcp гарантирует получение всех пакетов в отправляемой последовательности. Т.е. на уровне сетевого стека потерянные пакеты будут пере запрашиваться у отправляемой стороны, ваша программа об этом даже не узнает.

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


Название: Re: Тестирование сетевого приложения
Отправлено: LisandreL от Январь 09, 2013, 14:35
Если для организации канала используется tcp
И tcp и udp для разных целей.


Название: Re: Тестирование сетевого приложения
Отправлено: Old от Январь 09, 2013, 14:41
Если для организации канала используется tcp
И tcp и udp для разных целей.
tcp вы так не протестируете, а потерю датаграмм легко эмулировать скриптом.
Как я понимаю, вам необходимо тестировать ситуации прихода половины пакета или битого пакета или вообще его не прихода и т.д.
Куча тестов на питоне помогут + ими же можно сервер и нагружать для пиковых нагрузок.


Название: Re: Тестирование сетевого приложения
Отправлено: LisandreL от Январь 09, 2013, 14:49
Как я понимаю, вам необходимо тестировать ситуации прихода половины пакета или битого пакета или вообще его не прихода и т.д.
Не только. Например, хочется посмотреть, как задержки и низкая скорость влияют на программу. Не возникают ли где-то неприятные фризы и т.п.


Название: Re: Тестирование сетевого приложения
Отправлено: Old от Январь 09, 2013, 14:57
Не только. Например, хочется посмотреть, как задержки и низкая скорость влияют на программу. Не возникают ли где-то неприятные фризы и т.п.
Сейчас имеется ввиду клиент?
Как вариант, предусмотреть специальный тестовый режим на сервере, при котором сам сервер будет резать скорость для клиента и на нем проверять клиентов. Все равно такая проверка предполагает сильно субъективную оценку качества работы.


Название: Re: Тестирование сетевого приложения
Отправлено: Bepec от Январь 09, 2013, 15:07
Помоему проще написать тестовый режим/сервер/клиент, которые будут по взмаху палочкой имитировать битые кадры, неправильные пакеты, низкую скорость и хаотичные данные.

PS говорят, по слухам, что если витую пару 5Е скрутить в этакую катушку, а внутрь запихнуть магнитика три-четыре мощных, можно добиться ахренительных потерь кадров и появления артефактов на линии.


Название: Re: Тестирование сетевого приложения
Отправлено: LisandreL от Январь 19, 2013, 13:45
Отпишусь, может кому пригодится:
WANem (http://wanem.sourceforge.net/) - полнофункционально, бесплатно, сравнительно сложно
WAN Connection Emulator (http://www.softperfect.com/products/connectionemulator/) - полнофункционально, платно, просто