Помогите, пожалуйста, с выбором тула

Посоветуйте, пожалуйста, какой выбрать инструмент для начала автоматизации. Опыта работы с автоматизацией нет. Проект написан на C#, Visual Basic (.Net).

Для начала желательно попробовать какой-нибудь бесплатный продукт с возможностью дописывать скрипты вручную.  Насколько смогла сориентироваться Selenium и Robot Framework должны бы подойти.

а автоматизация какого рода приложения?

 

Поделитесь, пожалуйста, следующей информацией:

 

На каком уровне Вы владеете программированием?

Если Вы уже умеете программировать на C# и работаете в Visual Studio, то вероятно  Selenium и или WatiN вам подойдет. Кроме того, Вы будете писать код, на языке, которым владеют разработчики, а значит можно будет всегда что-то спросить.

Если же Вы – новичок в программировании, то Python – это правильный выбор.  Сам язык прост для изучения. Поддержка Selenium обеспечивается командой разработчиков, да и Robot Framework есть. Кроме того, для интеграции с .NET (если это будет нужно) есть IronPython.

 

Вы планируете автоматизировать веб приложение или десктопное, или все вместе?

Для веб приложений Selenium вполне подойдет, но вот десктопные не поддерживаться. В случае десктопных приложений, нужно будет искать другой инструмент.

 

Ваша компания готова купить инструмент?

Если да, то возможно TestComplete или  SilkTest  будут лучшим решением?

Также, в Visual Studio Ultimate есть поддержка Coded UI тестов.  Дело в том, что в этих инструментах уже готова вся инфраструктура для тестирования.

Есть и свои средства Записи тестов, редактирование, отчетность.  Для начала автоматизации эти продукты могут быть проще.

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

приложение десктопное с кастомными контролами

С программированием знакома, но нет опыта, поэтому готова изучать параллельно.

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

Не хочу 100% утверждать, но насколько я помню, для автоматизации десктопных приложений хорошего бесплатного ПО пока вроде нету :)

Хотя  вы можете попробовать autoit: http://www.autoitscript.com/site/autoit/

(Но я сам его не использовал, так что отрекомендовывать не буду :) )

 

 

А какая версия Visual Studio стоит у Ваших разработчиков?

Если это Ultimate или Premium, то вы можете использовать Coded UI. Это встроенный тестовый фреймворк, с поддержкой Записи тесткейса и его последующем редактированием.

К сожалению, его нет в VS 2010 Professional. Но, если Вы можете выбить лицензию на VS 2010 Ultimate у своей компании – то можете попробовать Coded UI. По началу можно будет просто записывать тесты как Record&Play.

 

Есть бесплатный инструмент:

http://white.codeplex.com/

Но, это всего лишь библиотека и требует больше знаний и опыта в программировании.

 

К сожалению, тестирование Windows UI не так развито среди бесплатных инструментов по сравнению с Web. Можете еще глянуть на AutoIt:

http://www.autoitscript.com/site/autoit/

 

Еще можете попробовать  Sikuli, он тоже бесплатный

http://sikuli.org/

 

Сам я работал несколько лет назад с SilkTest. Для десктопной автоматизации считаю что это инструмент один из лучших, но цена лицензии кусается. Раньше было около $5000 за лицензию для разработчика. 

По моему опыту, соглашусь с vpry : нету бесплатного ПО для десктопных приложений. А то что есть - совсем не суперовое.

На предыдущем проeкте я использовал autoit, но у меня 90% тестирования было по вебу и только 10% - десктопного.

Из платного могу порекомендовать Ranorex. Прекрасно работает с десктопными приложениями, есть триальная версия для ознакомления/изучения, да и цена поменьше чем QTP или TestComplete (  http://www.ranorex.com/purchase/buy-now.html -> € 1,480.00)

У нас стоит Visual Studio 2010 Ultimate

Это хорошо. Значит для десктопного тестирования можно будет использовать Coded UI Test

http://blogs.msdn.com/b/mathew_aniyan/archive/2009/01/21/tutorial-how-to-create-a-coded-ui-test.aspx

По началу, вы можете использовать Record&Play, а по ходу дела практиковатся в программировании. 

 

 

Спасибо Вам за советы и наставления!!!

Буду учиться!

Вы несколько загнули - если судить по аутоиту (который наверняка и сегодня не поддерживает контролы без хэндлов), тогда конечно бесплатных тулов нет. :)

Для дотнетовских приложений современные тулы используют сочетание MS UIAutomation + Win32 API (в разной пропорции, зависит от желания вендора или умения персонала).

Самая большая проблема - это упомянутые кастомные контролы.

Если контролы делаются в самой же конторе, можно попробовать договориться с программистами, чтобы добавили акцессибильные проперти к контролам.

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

Например, инфраджистикс (будь он неладен) продаёт за денежку плагины для тулов от HP и IBM, по $3000 каждый. Однако, у нас в конторе, к примеру, не принято платить сверх доступного партнёрам, поэтому мы смогли обойтись при помощи uiautomation.codeplex.com.

Пауэршелл вообще невероятно удобен для тестирования, а уж если контора напряглась вставить пауэршелл в процесс тестируемого приложения, то это вообще халява.

 

Ещё из полезного: глава одного из отделов у нас сказал мне, что телериковский фреймворк (бесплатный, не путать с платной студией) поудобнее для тестирования WPF приложений.

WPF приложения удобно тестировать из ´TestApi by Microsoft (бесплатно, но требует немного программирования). Может запускаться в этом же треде или в соседнем.

white и watin потрубуют ещё больше программирования, но под них пишут плагины для кастомных контролов (но есть реконрдер кода).

 

В моём отделе сейчас ведётся работа над приложением в mmc, тут используется упомянутый выше UIAutomation PowerShell Extensions. Возможно работать как через MS UIAutomaiton, так и через Win32. также есть и рекордер кода.

Некоторое время назад у нас тестировалось приложение при помощи TestComplete. Десктопное приложение (графическая консоль и среда разработки), с тысячами, если не десятками тысяч пользователей по миру. Написано на дотнете.

Версии были с 5 или с 4, по 7. Восьмую решили уже не брать, а перешли полностью на PowerShell и C# ( и так сетевая и прочая активность приложения тестировалась через PowerShell).

Что можно сказать: контролы находит. Но кастомные контролы норовит обработать по смещению (т.е. на другой операционке может элементарно промазать).

Поддерживает некоторых производителей контролов, к примеру, DevExpress поддерживается только усилиями AutomatedQA (инфа с их форума).

 

Кушает ресурсы. Есть некоторые преимущества: лог, например. Который у нас сейчас похуже. Общее впечатление: ушли, и не жалеем. Красивый лог при истощённых ресурсах? Предпочли клики не по смещению, а через UIAutomation, что надёжнее (хотя может быть и медленнее).