QTP vs Selenium - Сравнить

У меня есть приложение/продукт, созданный с использованием технологий .net. Этот продукт имеет графический интерфейс, который соединяется с БД с использованием веб-API (SOAP на сервере приложений). Большинство тестов выполняется для значений в БД, в то время как другие могут попасть в Юзабилити, Производительность и т.д. Таким образом, 60-70% тестов, которые должны быть выполнены, - проверить правильность показа значений в БД в GUI, в то время как другие проверяют, работает ли GUI по желанию в спецификациях требований.

Другим аспектом тестирования будет также проверка интерфейса сервера приложений с БД и графическим интерфейсом. Поскольку это позволит нам определить, если сервер приложений отправляет плохие значения в графический интерфейс или это DB, у которого есть плохие значения!

Пользовательский интерфейс продукта не сильно меняется, за исключением добавления новых функций в виде дополнительных выпадающих меню и дополнительных страниц для этих пунктов меню.

Учитывая вышеизложенное, какая структура была бы более подходящей? QTP или Selenium или какой-либо другой инструмент Commercial/Open Source?

(Стоимость не является серьезной проблемой, и ни одна из них не совместима с браузером или ОС. Система устанавливается на Windows Server и DB совместима.)

Ответы

Ответ 1

У нас есть приемочное тестирование 'framework', построенное вокруг Selenium, чтобы протестировать наше приложение, которое имеет гибкий интерфейс, который говорит с back-end java + db.

Мы могли бы легко интегрировать Selenium в нашу существующую инфраструктуру тестирования и непрерывной интеграции, потому что мы можем писать наши скрипты в java и использовать junit для тестирования. Эти тесты также написаны и поддерживаются разработчиками. Мы также используем dbunit для настройки базы данных перед каждым тестом.

Наш департамент тестирования решил пойти с QTP. Им была показана наша инфраструктура, построенная вокруг Селена, но им было трудно понять. Я знаю, что у них есть постоянный посвященный человек, чтобы писать тесты и поддерживать их.

Поскольку я не знаю вашей конкретной ситуации, я могу предложить вам только следующее:

  • Кто пишет и поддерживает тесты?
  • Являются ли комплекты частью большей инфраструктуры?

Селен - отличный выбор, если...

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

QTP может быть хорошим выбором, если...

  • у вас меньше людей с навыками программирования, которые пишут и поддерживают тесты (хотя я не уверен, что Selenium IDE трудно учиться для некодиров).
  • если вам требуется значительное тестирование вне браузера

Эта статья также может помочь вам.

Я думаю, что очевидно, какой из них я предпочитаю, но вам нужно решить, что лучше всего подходит для вашей ситуации.

Ответ 2

Я думаю, что ваш лучший выбор - это новое решение HP для графического интерфейса и тестирования без GUI. Новое решение - новая интеграция с 2 продуктами - QTP и ServiceTest.

  • QTP - это известное решение автоматизации графического интерфейса с расширенными возможностями, которые помогают организациям автоматизировать свое приложение на уровне графического интерфейса.
  • ServiceTest - это совершенно новое решение, которое может автоматизировать веб-службы и другие интерфейсы без интерфейса.

Интеграция между этими 2 дает пользователям одно решение для автоматизации приложений с несколькими слоями, а также интеграционное тестирование между различными приложениями.

Более подробную информацию вы можете найти на сайте HP.

Ответ 3

.Net вы говорите?

Если вы используете VS2010, кодированный пользовательский интерфейс действительно хорош, как долгое время QTP-пользователь (на более технической стороне этого, конечно). Кодированный интерфейс - это мечта, даже на ранней стадии существования она настолько мощна и тесно интегрируется в экологически чистую систему Visual Studio, и если вы можете ее использовать, я рекомендую ее высоко. Вы можете прочитать здесь

Еще один инструмент, который мой опыт более ограничен, но я слышал, что это хорошо (specflow), который может хорошо работать с кодированный пользовательский интерфейс для создания и организации тестов разумным способом.

Можете дать вам кое-что подумать!

Ответ 4

С доступом к огромному массиву (не предназначенному для каламбур) библиотек программирования (Java и т.д.) мой голос будет заключаться в использовании Selenium-RC. Но, как и первый плакат, это требует дополнительной кривой обучения и обслуживания. Но после установки приложения будут связаны только вашим воображением (и умением программирования:)). Интеграция БД с использованием Selenium-RC (в java) была cinch. Мы также смогли широко использовать Selenium для измерения ответов сервера. Я уверен, что есть хаки в QTP, чтобы сделать то же самое, но с поддержкой HP, будучи тем, что в последнее время, ваши ставки должны лежать с сообществом с открытым исходным кодом (и stackoverflow:))...

Ответ 5

Мое занятие -

Селен - отличный выбор, если...

  • Если вам не нужен script, чтобы быть в Центре качества. Непрерывная интеграция проще с другой стороны.
  • Selenium - это инструмент нижнего уровня с меньшими функциональными возможностями, то есть контрольные точки. Не большая проблема, но также требуется больше времени для разработки и сопровождения сценариев. Selenium 3 подходит, каждый раз, когда новый Selenium выходит, API меняется, поэтому будьте готовы сказать до свидания старым скриптам (если только отдельные машины с разной версией Selenium).
  • Selenium - это бесплатный инструмент, но вы можете оказаться не в состоянии выполнить определенные действия на данной платформе или в браузере просто потому, что функциональность еще не разработана.
  • Нет, разработчики обычно не замечательны с селеном, особенно с веб-уровнем (автоматизация браузера). Знание Java не приходит с полным пониманием html dom. Не путайте с JUnit, который они иногда используют.
  • Проекты Large Selenium выглядят как любой другой проект в Eclipse. QTP лучше в этом случае, особенно с QC.
  • Java отлично подходит для структур данных и представляет собой полный язык OO, в отличие от VBScript.

QTP может быть хорошим выбором, если...

  • Вам нужна интеграция с QC. Нет прямой поддержки интеграции Continiuos.
  • Крупные проекты инфраструктуры выглядят более чистыми с QTP. QTP имеет веб-уровень описания, отделенные от кода по дизайну (файлы GUI, содержащие html атрибуты для элементов, используемых script). Все файлы библиотеки хранятся в QC и тестовые данные, хранящиеся в файле excel (по наилучшей практике).
  • VBScript отлично работает в Windows: наряду с QTP API вы получаете довольно сильный доступ к Win API и прямой доступ к HTML DOM.
  • QTP поддерживает старый код с 5 лет назад, и да, у них есть поддержка клиентов.
  • время выхода на рынок меньше, чем у селена. Вам не нужно искать форумы, когда вам нужно щелкнуть ссылку по xpath или по тексту... вы просто щелкните. Кроме того, дополнительные функции в форме chekpoints и других

Подумайте дважды, прежде чем начинать разработку сценариев тестирования автоматизации в разных браузерах. При сбое графических интерфейсов автоматизация заканчивается. И почти все специфичные для браузера дефекты - это стиль, макет (GUI). Неверные отображаемые функциональные дефекты или неработающие элементы управления - это функциональные дефекты, которые можно идентифицировать на 1 платформе.