Обсуждаем TC: плюсы\минусы, мнения...
#1
Отправлено 15 февраля 2008 - 19:37
#2
Отправлено 18 февраля 2008 - 07:39
Идея темы зародилась здесь. Предлагаю продолжить, ибо тема должна быть полезна не столько опытным разработчикам (для них это, скорее, приём у психоаналитика, возможность высказаться ), сколько новичкам, которые либо только начинают работу с продуктом, либо находятся в активном поиске средства автоматизации. Они должны знать о проблемах, с которыми могут столкнуться в будущем. Обсуждая конкретные проблемы, порой, мы приходим к выводу, что средствами TC нельзя (или довольно сложно) решить некоторые вопросы. Собственно, на таких вопросах и хотелось бы остановиться в данной теме. Давайте рассмотрим плюсы и минусы продукта, попробуем определить (если AQA Team нас будет читать) вектор развития (это особенно важно, так как ни один разработчик не сможет ответить на вопрос "А что нужно пользователю?" лучше нас, пользователей) и, просто, помечтаем
Начну пожалуй :-)
Плюсы:
1) цена
2) цена :-)
3) цена :-))
кроме шуток - серьезный плюс по моему мнению наличие возможности тестирования как x86 приложений так и x64 приложений (именно возможноность тестировани x64 приложений а не возможности запуска самого средства тестирования под x64 Windows).
Насколько я знаю, на текущий момент этого нет у лидеров рынка (в частности QTP - Dmitry_NJ поправит меня если я ошибаюсь).
Так что если хотите тестировать x64 приложения (или планируете это в среднесрочной перспективе) то ваш выбор TestComplete.
#3
Отправлено 18 февраля 2008 - 08:23
При работе с объектами необходимо указывать полный путь наследования (либо напрямую, либо через Object Mapping).
При работе с Java или некоторыми Web-приложениями - ну это просто близко к невозможному.
Тот же QTP, например, ведёт "наследование" от окна или диалога.
JavaWindow("").JavaButton("")
А в TC то же обращение, не побоюсь сказать, может занять несколько строчек. Если использовать маппинг - ну весь путь будет в другом месте.
То есть при добавлении в середине лишней панельки или использовании одного компонента в разных местах - ну мы огребаем по полной.
#4
Отправлено 18 февраля 2008 - 09:05
Минус:
При работе с объектами необходимо указывать полный путь наследования (либо напрямую, либо через Object Mapping).
При работе с Java или некоторыми Web-приложениями - ну это просто близко к невозможному.
Тот же QTP, например, ведёт "наследование" от окна или диалога.
JavaWindow("").JavaButton("")
А в TC то же обращение, не побоюсь сказать, может занять несколько строчек. Если использовать маппинг - ну весь путь будет в другом месте.
То есть при добавлении в середине лишней панельки или использовании одного компонента в разных местах - ну мы огребаем по полной.
Отмечу что TC может использовать два типа адресации (Flat и Tree). Это настраивается в опциях проекта General | Object Tree Model.
По умолчанию настроета Tree. Вы можете поменять ее на Flat и адресация будет идти от окна верхнего уровня (как вы и описываете в примере для QTP).
Однако, такая модель может приводить к возникновению большего числа ошибок распознавания объектов (так как количество объектов на одном уровне среди которых
TC ищет нужный многократно возрастает).
TC может работать с любой моделью по вашему выбору - подробное описание см. Object Tree Models в TestComplete Help.
#5
Отправлено 18 февраля 2008 - 10:49
Да, признаю, не заметила.TC может работать с любой моделью по вашему выбору - подробное описание см. Object Tree Models в TestComplete Help.
Но попытка натравить при таком режиме object browser на java-приложение привела к подвисанию на значительное время (10 минут, дальше срубила процесс). Это именно при попытке войти в режим Object Browser. Object Properties довольно быстро нашёл объект.
И так на нескольких машинах. Думаю, всё-таки этот режим не очень работоспособен.
#6
Отправлено 18 февраля 2008 - 11:07
Плюсы:
- тесткомплит использует технологию COM. Это позволяет просто работать с com-объектами: управлять различными приложениями, которые предоставляют соответствующие интерфейсы (например MSOffice), использовать готовые средства операционной системы (WMI, scripting run-time).
- возможность создавать свои плагины. Можно легко написать плагин к тесткомплиту, в котором реализовать свои объекты и функции, которые тесткомплит сам не умеет, а непосредственная реализация скриптами нецелесообразна или невозможна.
- возможность глубоко влезать в кишки тестируемого приложения применяя OpenApplication. Позволяет реализовывать полную поддержку своих собственных нестандартных контролов, которые тесткомплит сам поддерживать никогда не будет. Позволяет тестировать на низком уровне те функции приложения, тестирование которых через GUI невозможно или нецелесообразно.
- сравнительно малый входной порог. Чтобы неподготовленному человеку начать писать скрипты (о качестве не говорим), достаточно некоторое потыкаться в рекордер и понять что к чему.
- довольно богатый набор дефолтных плагинов. Позволяет работать с WinAPI, базами данных, вызывать функции из dll, использовать объекты dotNET.
- поддержка различных контролов сторонних производителей.
- цена.
Минусы:
- глючность. С ростом объема кода и времени работы тестов, вы все чаще натыкаетесь на глюки в самом тесткомплите. На их поиск и обход тратится время, которое могло быть потрачено на более полезные дела. Кроме того, со временем ситуация не улучшается - правятся одни глюки в одном месте, в другом вылазят другие. Мы, при выходе обновления тесткомплита, вначале тестируем (вот ведь бред!) новую версию, а только потом начинаем ее использовать (или не начинаем, если новых глюков сильно много).
- скорость. Большой проект долго запускается. Особенно напрягает во время разработки, когда периодически надо проверять написанный код, а возможность уменьшить проект отключив разные модули отсутствует.
- некоторые заявленные возможности из-за их кривой реализации использовать в полную силу невозможно или очегб трудно (например, NetworkSuite).
- непредсказуемость разработки. Никогда не знаешь, будет ли код написанный ранее, работать с новой версией. Понятие "совместимость" разработчикам знакомо смутно. До сих пор не могу забыть переход с 3-й версии на 4-ю. 4-я версия реально была совершенно новым продуктом, написанным, "по мотивам" 3-й версии.
- сильный перекос в сторону количества в ущерб качеству. Продукт развивается, добавляются новые возможности. Однако, правка старых багов и качество (и нужность) добавляемых фич, видимо, никого особо не волнуют. Видимо, в вечной борьбе маркетологов ("мы здесь придумали еще одну гениальную и совершенно необходимую рюшечку"), разработчиков ("теперь то мы понимаем как надо было писать, давайте все отрефакторим") и тестировщиков ("прежде чем вносить новые баги надо поправить старые") побеждают первые.
- не все можно сделать из скриптов. Очень много вещей в тесткомплите можно сделать только через всякие gui-диалоги, визарды (ну например, почему нельзя добавить TestItem из скрипта). А хочется из скриптов, чтобы можно было этим гибко управлять и автоматизировать.
- кривой инсталлятор. Блин, в 2007(8) году инсталлятор не умеет нормально апдейтиться (не везде работает)! Приходится почти что руками варить свой msi-пакет и пользоваться уже им. Хочется нормальный полноценный msi-пакет для инсталляции, чтобы можно было использовать unattended инсталляцию, авто-апдейт через политики домена и т.п.
#7
Отправлено 19 февраля 2008 - 08:36
Открыл для себя много нового :)
Продолжайте пож-та в том же духе
#8
Отправлено 20 февраля 2008 - 13:52
Но тут появляются нюансы. Посмотрим прайсы здесь и здесь.
Вот эти 2000 у.е. стоит именная лицензия. А это по-хорошему дает некоторые ограничения. Вопрос с лицензиями недавно обсуждался. Так вот, нормальная floating лицензия для Enterprise Edition стоит 4500 у.е. Такая лицензия по цене и способу применения уже мало отличается от аналогов других брендовых марок. Можно вспомнить, что еще год назад такая лицензия стоила около 2000 у.е. То есть за год стоимость возросла в 2 раза. Так что это преимущество как-то с каждым годом все меньше актуально, особенно если учесть переменные затраты на автоматизацию с помощью ТестКомплита по сравнению с другими средствами. Банальный подсчет показывает, что при покупке лицензии ТестКомплита мы максимум экономим деньги на оплату 2-х месяцев работы одного человека ( это на пост-советском пространстве ), что в масштабах достаточно длительного проекта наверстывается очень быстро за счет временных затрат на "войны" с глюками ТестКомплита. Так что цена - это преимущество только на начальном этапе. Опять же, с опен-сорсами по этой части ТестКомплит тоже не конкурент
#9
Отправлено 22 февраля 2008 - 14:40
Банальный подсчет показывает, что при покупке лицензии ТестКомплита мы максимум экономим деньги на оплату 2-х месяцев работы одного человека ( это на пост-советском пространстве ), что в масштабах достаточно длительного проекта наверстывается очень быстро за счет временных затрат на "войны" с глюками ТестКомплита. Так что цена - это преимущество только на начальном этапе. Опять же, с опен-сорсами по этой части ТестКомплит тоже не конкурент
Вообще говоря, банальная логика подсказывает что борьба с глюками ТескКомплита это дело разработчиков и группы поддержки AQA о которой тут было немало хороших отзывов.
При покупке лицензии TestComplete вы получаете сервис поддержки и обновления. Вот если пользоваться пиратской версией тогда да.
Кстати, вы в службу поддержки cо своими проблема пробовали обращаться ? расскажите о своем опыте.
#10
Отправлено 22 февраля 2008 - 14:54
Тут палка о двух концах. Понятное дело, что с глюками продукта должны работать разработчики и группа поддержки. Но по-хорошему, если покупается продукт (за который уже не так уж и мало денег выложить придется), то и ожидается, что глюки и косяки - это скорее нечто неординарное и из ряда вон выходящее. Особенно в тулах для тестирования, так как несколько напряжно помимо тестирования своего продукта еще тестить и средство, которым это тестирование автоматизируется. А в плане надежности ТестКомплит все-таки уступает RFT, SilkTest, QTP. В этих средствах возможность организации ночных запусков несколько лучше реализуема. Просто неоднократно наблюдал ситуации, когда скрипты написаны, но их скопом прогнать не получается. Где-то происходит выбивание и приходится перезапускать пакет. Проблема отчасти кроется в том, что организация структуры тестов во многом перекладывается на плечи разработчиков скриптов, а не у всех хватает квалификации организовать подобное на должном уровне в приемлемые сроки.Банальный подсчет показывает, что при покупке лицензии ТестКомплита мы максимум экономим деньги на оплату 2-х месяцев работы одного человека ( это на пост-советском пространстве ), что в масштабах достаточно длительного проекта наверстывается очень быстро за счет временных затрат на "войны" с глюками ТестКомплита. Так что цена - это преимущество только на начальном этапе. Опять же, с опен-сорсами по этой части ТестКомплит тоже не конкурент
Вообще говоря, банальная логика подсказывает что борьба с глюками ТескКомплита это дело разработчиков и группы поддержки AQA о которой тут было немало хороших отзывов.
Ну, вообще-то подобное и для других продуктов характерно. Как говорится, любой каприз за ваши деньги. А качество сервиса AQA еще до недавнего времени вызывало нарекания. Когда-то на этом форуме, но в другой ветке об этом упоминали. Сейчас, думаю, ситуация наладилась, так как продукт все-таки живет и развиваетсяПри покупке лицензии TestComplete вы получаете сервис поддержки и обновления. Вот если пользоваться пиратской версией тогда да.
Пока ньюсгруппы хватает. Опять же, если имеют место маловоспроизводимые дефекты (типа внезапно потухшего тестирования без всякого лога), то помощи особо ждать не приходится.Кстати, вы в службу поддержки cо своими проблема пробовали обращаться ? расскажите о своем опыте.
#11
Отправлено 02 марта 2008 - 10:10
Что нравится:
- Поддержка Unicode очень порадовала. В моем случае приходится тестировать софт на 9 локализаций и отсутствие данной фичи в 8м WR была крайне удручающей.
- Наличие реакции саппорта. Люди реально стараются помочь в решение проблем, с которыми к ним обратились, очень терпеливы и вежливы. Спасибо.
- Открытость. Можно писать глубоко интегрированные адоны, а так же использовать функционал TC по своему усмотрению не только из тестового проекта.
- Применение стандартного языка программирования. Возможно, я не успел привыкнуть к TSL, но его синтаксис меня сильно удручал - очень нелогичная структура. С возвращением к давно знакомому VBS почувствовал сильное облегчение, куча примеров в интернете, куча информации в MSDN etc, все просто красиво и логично.
- Простота создания анатендент рукотворного инсталлятора. По началу сильно мучался с невозможностью автоматом устанавливать ТК, потом плюнул на все разобрался как его ставить простым копированием, все оказалось очень просто и шустро.
Теперь к негативу:
- Плохая отладка. После того шоколада, который был в TSL, система отладки ТК крайне ущербна (есть брейкпойнты, пошаговость и вотчи, в принципе - все). Я не нашел в ТК изменения значений переменных, исполнения произвольного кода, исполнение кода на лету (ну в случае ActiveScript - это фантастика, понимаю), изменение контекста выполнения.
- Кривоватая работа с ActiveScript. Насколько я понял в ТК есть небольшая прослойка между исполняемым скриптом и ActiveScript, так вот она оказывается до ужаса глючной. В частности она ищет синтаксические ошибки скрипта и очень часто находит их там, где их нет, отдельная песня это то, как она о них сообщает - какие-то не вменяемые выдержки из теории автоматов.
- Долгий путь до свойств GUI объектов. Ну да и в WR тоже был не самый короткий. В общем я не нашел в ТК возможности, что бы просто сграбить текст, айдишник или другой параметр элемената управления не запуская/переключаясь в громоздкий Object Browser.
- Время реакции саппорта. Ответ приходит в среднем через 3 дня, ну да ладно, видимо я зажрался.
- Слабая документация по предоставляемым интерфейсам. Да адоны можно писать навороченные и глубоко интегрированные, но не всегда ясно как. Например, в стандартном SDK я так и не нашел способа как можно писать сообщения в журнал. По моемому это следовало описать. Так же возникли прочие проблемы с созданием адонов. В итоге пришлось брать пример адона и разбираться в его коде, доводя его до нужного мне состояния.
Хотя, в общем, мне ТК понравился. ИМХО, есть у него перспективы, если конечно AQA перестанет гнаться за новым функционалом и потратит некоторое время на повышение качества софта и улучшение юзабилити.
#12
Отправлено 03 марта 2008 - 08:12
Теперь к негативу:
- Плохая отладка. После того шоколада, который был в TSL, система отладки ТК крайне ущербна (есть брейкпойнты, пошаговость и вотчи, в принципе - все). Я не нашел в ТК изменения значений переменных, исполнения произвольного кода, исполнение кода на лету (ну в случае ActiveScript - это фантастика, понимаю), изменение контекста выполнения.
Изменение контекста выполнения в моей версии TC есть. Доступно из Popup menu редактора в режиме отладки - пункт Set Next Statement.
- Долгий путь до свойств GUI объектов. Ну да и в WR тоже был не самый короткий. В общем я не нашел в ТК возможности, что бы просто сграбить текст, айдишник или другой параметр элемената управления не запуская/переключаясь в громоздкий Object Browser.
я дулаю обычно так:
в toolbar'е TC жму кнопку Display Object Properties Window. В этом окне использую Finder Tool для указания требуемого мне контрола и после этого в верхней части окна у меня содержиться полный путь к контролу в дереве объектов. И его можно оттуда скопировать в редактор, например.
#13
Отправлено 03 марта 2008 - 09:56
Супер! Спасибо! Профукал я эту фичу. Терь буду знать. Теперь осталось понять как можно в дебаге изменять значения переменных.Изменение контекста выполнения в моей версии TC есть. Доступно из Popup menu редактора в режиме отладки - пункт Set Next Statement.
#14
Отправлено 13 марта 2008 - 09:40
Теперь осталось понять как можно в дебаге изменять значения переменных.
Я нашел такую недокументированную фичу в JScript (или не нашел где это описано): Evaluator умеет выполнять команды присавивания значений. То есть, если на бряке надо поменять, к примеру, значение переменной a на 2, в evaluator'е просто надо написать a = 2 и нажать Evaluate. Работает только в JScript-подобных языках, в DelphiScript и VBScript не катит.
#15
Отправлено 19 марта 2008 - 11:43
не забываем однако что в цену TestComplete в отличе от аналогов других брендовых марок входит еще:Вот эти 2000 у.е. стоит именная лицензия. А это по-хорошему дает некоторые ограничения. Вопрос с лицензиями недавно обсуждался. Так вот, нормальная floating лицензия для Enterprise Edition стоит 4500 у.е. Такая лицензия по цене и способу применения уже мало отличается от аналогов других брендовых марок.
1) 1 год поддержки
2) все обновления (в том числе major версии) которые будут сделаны в течение года
#16
Отправлено 19 марта 2008 - 13:27
Саппорт вообще-то у всех есть. А большинство апгрейдов сводится к фиксам глюков, которых там может и немного, но достают они постоянно.не забываем однако что в цену TestComplete в отличе от аналогов других брендовых марок входит еще:Вот эти 2000 у.е. стоит именная лицензия. А это по-хорошему дает некоторые ограничения. Вопрос с лицензиями недавно обсуждался. Так вот, нормальная floating лицензия для Enterprise Edition стоит 4500 у.е. Такая лицензия по цене и способу применения уже мало отличается от аналогов других брендовых марок.
1) 1 год поддержки
2) все обновления (в том числе major версии) которые будут сделаны в течение года
#17
Отправлено 19 марта 2008 - 14:36
...которых там может и немного, но достают они постоянно.
Увы, так и есть :( Самый "обидный" баг, который стал довольно часто проявляться - зависание при написании скрипта...
#18
Отправлено 19 марта 2008 - 15:29
Если подключить один скрипт к нескольким проджектам, и сделать из под одного изменения.
То эти изменения не подхватываются в лругие проджекты, даже скрипт выполняетс я по старому коду. приходится обновлять вручную, например перезапуск.
В 5-м комплит реагировал на любые сохраненные изменения.
#19
Отправлено 20 марта 2008 - 10:22
В 5-м комплит реагировал на любые сохраненные изменения.
У меня в 6-ом так же реагирует на любые сохранённые изменения...
#20
Отправлено 21 марта 2008 - 09:06
Саппорт вообще-то у всех есть. А большинство апгрейдов сводится к фиксам глюков, которых там может и немного, но достают они постоянно.не забываем однако что в цену TestComplete в отличе от аналогов других брендовых марок входит еще:Вот эти 2000 у.е. стоит именная лицензия. А это по-хорошему дает некоторые ограничения. Вопрос с лицензиями недавно обсуждался. Так вот, нормальная floating лицензия для Enterprise Edition стоит 4500 у.е. Такая лицензия по цене и способу применения уже мало отличается от аналогов других брендовых марок.
1) 1 год поддержки
2) все обновления (в том числе major версии) которые будут сделаны в течение года
Саппорт есть у всех, только у других за него как правило нужно платить дополнительно. Про апдейт'ы вы возможно правы, хотя, посмотри на нове фичи в TC 6 updates:
http://www.automated.../tc_wn_6_10.asp
http://www.automated.../tc_wn_6_11.asp
http://www.automated.../tc_wn_6_12.asp
Там и новые средства отладки (функция Set Next Statement которая упоминалась в этом топике) и поддержка новых контролов, расчет метрик кода скриптов, поддержка VS2088 приложений как Open, SQL дизайнер для конструирования database checkpoint ( наиболее значительное ценное улучшение ИМХО). Я так думаю что AQA все это делает на основе feedback'а и запросов от пользователей. Например, я написал в support по поводу проблемы ury0005 - отсутвие возможности менять значения переменных при отладке (благодаря ему я обратил внимание на отсутвие этой ценной возможности) - мне ответили что постараются исправить в следующем update. Посмотрим...
Также, как вы могли заметить, я написал "в том числе ***major*** весрии". То есть например между выпусками TC5 (01.2007) и TC6 (09.2007) не прошло года, таким образом все кто пользовался TC5 должны получить TC6 бесплатно (мы получили бесплатно).
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных