powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как протестировать WS сервер
29 сообщений из 29, показаны все 2 страниц
Как протестировать WS сервер
    #39970785
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!

Подскажите, кто сталикивался, как можно протетировать WS сервер на правильность работы методов.
В чем суть: нужно приложение, которое бы иммитировало подключение нескольких клиентов к серверу и общение между собой.
По факту нужно: подключились два клиента. Первый отправил сообщение, второй получил его и провалидировал его (порядок получения, количество символов и т.п.).

Сейчас запускаю приложение, которое создает два потока для каждого клиента, которые подключаются к серверу. Проблема - в этом приложении правильно перенаправить ответы от сервера на нужный клиент.

Возможно, смотрю не в том направлении, поэтому создал топик!

Спасибо!
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970798
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

открой одного клиента в хроме
второго в лисе
третьего edge
и общайся между ними
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970804
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, вадя, мне нужно автоматизировать тесты
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970805
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
Приветствую, вадя, мне нужно автоматизировать тесты
сочувствую.
в данном случае это потеря времени
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970816
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя, ))) спасибо за сочуствие ))) в смысле, это автоматизировать нереально?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970824
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
вадя, ))) спасибо за сочуствие ))) в смысле, это автоматизировать нереально?

почему нереально? было бы желание

В чем суть: нужно приложение
https://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970825
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970826
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.

А этот вопрос вообще не понимаю.

Кода, как и принято на данном подфоруме, нифига нет.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970829
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум в примерах в гугле вижу WebsocketClientEndpoint
который, как предполагаю, и разделяет клиентов между собой.

p.s. с WS не работал, могу ошибаться
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970831
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.

Обычно добавляют ID клиента при запросе. Например ГУИД. Или число 1,2,3 при трех клиентах.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970857
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
...если клиенты были запущены в потоках из одного приложения.
это как и зачем?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970858
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Обычно добавляют ID клиента при запросе. Например ГУИД. Или число 1,2,3 при трех клиентах

делается соответствие имя-id_сессии_ws
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970862
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
У него не было ничего про сессии.
Ты зачем то внес это в топик из своего соседнего.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970866
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
У него не было ничего про сессии.
Ты зачем то внес это в топик из своего соседнего.
так пусть знает
что у ws есть сессия
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970876
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
qi_ip
...если клиенты были запущены в потоках из одного приложения.
это как и зачем?

Это просто предположение...

Запускается сначала главный поток. Берется "тест", который нужно проверить. Например, клиент1 отправляет сообщение клиенту2.
Из главного потока создаю два дополнительных thread'а и в каждом запускаю клиенты (1 и 2).
Из первого посылается сообщение второму...вот тут загвоздка.

Клиента делаю с помощью того же TooTallNate/Java-WebSocket.
У него есть override метод onMessage, куда придет сообщение от сервера.
Но не совсем еще додумкал, как его перенаправить во второй клиент.

Возможно, я вообще не в том направлении копаю, поэтому хочу узнать, какие есть еще варианты.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970877
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,
Сначала делают работающую демку.
А потом уже тесты.
Иди демку делай.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970885
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

явно не туда
есть сервер ws
у него есть "слушатель сети" конечная точка-метод onMessage
его входные параметры - само сообщение и id_данного_подключения

можно ответить напрямую на ото сообщение отправив ответ по id_данного_подключения

а можно отправить ответ на любое подключение
или на несколько
для этого есть метод перебирающий массив id подключений

как правило юзер отправляет сообщение по имени юзера
поэтому надо создать соответствие имя-id_подключения
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970887
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970890
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мух
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?

В общих чертах да. Только клиентов будет от 1 до 2-3
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970892
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
Дмитрий Мух
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?

В общих чертах да. Только клиентов будет от 1 до 2-3

Какие тестовые сценарии из этого следуют?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970898
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мух
qi_ip
пропущено...

В общих чертах да. Только клиентов будет от 1 до 2-3

Какие тестовые сценарии из этого следуют?


Например, регистрация клиента:
1. Клиент отправляет некорректный логин - сервер возвращает ошибку. Тест успешно отработал
2. Клиент отправляет корректный логин - сервер возвращает 200ОК. Тест успешно отработал

С несколькими клиентами:
1. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в правильном порядке. Тест успешно отработал
2. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в неправильном порядке. Тест завалился.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970899
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

У тебя порядок сообщений хоть раз нарушался?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

Некорректный логин это не ошибка. Это рабочий вариант.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970901
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
qi_ip,

Некорректный логин это не ошибка. Это рабочий вариант.

В конкретном случае, просто проверяется правильность работы проверки по regex
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970906
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
Дмитрий Мух
пропущено...

Какие тестовые сценарии из этого следуют?


Например, регистрация клиента:
1. Клиент отправляет некорректный логин - сервер возвращает ошибку. Тест успешно отработал
2. Клиент отправляет корректный логин - сервер возвращает 200ОК. Тест успешно отработал

С несколькими клиентами:
1. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в правильном порядке. Тест успешно отработал
2. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в неправильном порядке. Тест завалился.

ИМХО тут следует выстроить обычную пирамиду тестирования: модульные тесты, интеграционные, функциональные.
И не пытаться ограничиться исключительно последними.

И с чего вдруг порядок сообщений может быть нарушен?
На каком этапе? При передаче от клиента к серверу? При обработке сообщений сервером? При отправке от сервера клиенту?

По мне так всё это отдельно следует тестировать и начать с логики обработки сообщений на сервере.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970911
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мух

ИМХО тут следует выстроить обычную пирамиду тестирования: модульные тесты, интеграционные, функциональные.
И не пытаться ограничиться исключительно последними.

По мне так всё это отдельно следует тестировать и начать с логики обработки сообщений на сервере.

На уровне сервера есть юнит тесты. А в данных тестах - цель симмитировать реальное общение и проверить правильность доставки конечному пользователю с учетом передачи по сети.

Дмитрий Мух

И с чего вдруг порядок сообщений может быть нарушен?
На каком этапе? При передаче от клиента к серверу? При обработке сообщений сервером? При отправке от сервера клиенту?

Некоторые типы сообщений обрабатываются на сервере, прежде чем их нужно доставить другому клиенту и для них порядок должен сохраняться всегда.
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970912
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip
PetroNotC Sharp
qi_ip,

Некорректный логин это не ошибка. Это рабочий вариант.

В конкретном случае, просто проверяется правильность работы проверки по regex

Оберни методом и сделай тестирование метода.
Причем тут сокет протоколы?
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970915
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

>>протетировать WS сервер на правильность работы методов.
Сервер это комплексное. Методы это юнит и модульное тестирование.
Комплексное это тест на нагрузку, отзывчивость,....
...
Рейтинг: 0 / 0
Как протестировать WS сервер
    #39970925
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередность не может нарушаться.
А не верный логин это тесты метода.
Итого тебе нечего тестировать.
Удачи!
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Как протестировать WS сервер
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]