Тестирование клиент-серверного приложения - PullRequest
2 голосов
/ 28 августа 2008

Я кодирую клиент-серверное приложение, используя RCP Eclipse. У нас проблемы с тестированием взаимодействия между двумя сторонами поскольку они оба содержат много графического интерфейса и не предоставляют командной строки или других удаленный API.

Есть идеи?

Ответы [ 5 ]

3 голосов
/ 28 августа 2008

У меня около 1,5 лет опыта работы со структурой RCP, мне очень понравилось. Мы просто JUnit для тестирования ...

Можно сказать, что это своего рода клише, но если это нелегко проверить, может, дизайн нуждается в рефакторинге?

Java и инфраструктура RCP предоставляют отличные возможности для разделения кода GUI и кода логики. Мы использовали шаблон MVC с наблюдающими, наблюдаемыми конструкциями, доступными в Java ...

Если вы не знаете о наблюдателе / ​​наблюдаемой конструкции в Java, я НАСТОЯТЕЛЬНО рекомендую вам взглянуть на это: http://www.javaworld.com/javaworld/jw-10-1996/jw-10-howto.html, вы будете использовать его все время, и ваши приложения будут легче тест.

1 голос
/ 12 ноября 2008

мы разрабатываем одно клиент-серверное приложение с использованием технологии EJB (J2EE), Eclips и MySQL (база данных). pl предлагает любой инструмент тестирования с открытым исходным кодом для функционального тестирования. Спасибо Hitesh Shah

1 голос
/ 31 августа 2008

Рассматривали ли вы использовать инструмент функционального тестирования пользовательского интерфейса? Вы можете проверить QuickTest Professional , который охватывает широкий спектр технологий пользовательского интерфейса.

1 голос
/ 28 августа 2008

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

Если это абсолютно невозможно, я бы настроил тестовый прокси, где вы сможете:

  • Ничего не делать (прозрачный прокси). Ваше приложение должно вести себя нормально.
  • Шпион / Журнал данных трафика. Добавьте механизм фильтрации, чтобы не захватывать все
  • Блокировать определенные сообщения. Ваша система фильтров очень полезна здесь
  • Поврежденные сообщения (это сложнее)

Если вам нужно какое-то сетевое тестирование:

  • Ограничить общую пропускную способность (некоторые библиотеки делают это)
  • Задержка сообщений (то же замечание)
  • Изменить порядок пакетов (довольно сложно)
0 голосов
/ 18 августа 2009

Разделите ваше общение клиент-сервер на чистый логический модуль (или пакет). Проверьте это отдельно - либо используйте тестовый сервер, либо используйте фиктивные объекты.

Затем ваши действия пользовательского интерфейса вызовут уровень связи. Кроме того, взгляните на шаблон проектирования команд , использование которого может вам помочь.

...