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 платформе.