Перейти к содержимому

Фотография

Подскажите как организовать процесс автоматизированного тестирования

Автоматизация

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Qatest

Qatest

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 01 апреля 2015 - 14:59

Всем форумчанам привет! Необходима информационная помощь в организации автоматизированного тестирования. 

Ситуация такая: есть программный продукт - десктоп приложение написанное с использованием WPF.  Программный продукт работает с поступающей по сети информацией , анализирует ее и складывает\читает в\из бд. Gui часть написана на WPF.  Есть так же системная часть в виде набора служб и сервисов.

Система должна работать на всем семействе Windows старше XP.

 

В общем представление об организации следующее:

 

1. Должен быть какой -то программный продукт, из которого будут запускаться (храниться) тесты 

  - либо это просто набор батников, которые всем буду рулить.

2. Тестирование хотелось бы проводить на вирт средах ( есть опыт работы с WMware workstation) т.е перед началом теста подниматься должны 5-10-15 вирт машин разных ОС и там прогоняться все тесты.  Каким средставим всем этим рулить?

3. Какими средстdами тестировать GUI написанное на WPF.

4. На каком языке писать сами скрипты ( powershell, autoIT, ) 

 

Рад буду любым советам по организации процесса, спасибо!


  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 02 апреля 2015 - 11:31

Здесь многое зависит от того, готов ли проект платить за инструменты и ресурсы.

 

1. Должен быть какой -то программный продукт, из которого будут запускаться (храниться) тесты

Тесты - это, как правило, код, который хранится в системе версионирования. Далее он компилируется (если это нужно) и запускается средствами интеграции. Что за инструмент - не совсем пока понятно, какие функции от него ожидаются?

 

2. Тестирование хотелось бы проводить на вирт средах ( есть опыт работы с WMware workstation) т.е перед началом теста подниматься должны 5-10-15 вирт машин разных ОС и там прогоняться все тесты.

Если столько виртуалок, да еще под Windows, Вам наверняка понадобится выделенный физический сервер или облако. Посмотрите в сторону бесплатных гипервизоров от vmWare на базе ESXi.

Процесс запуска самих машин зависит от используемых инструментов. На гипервизоре, в принципе, оси могут быть запущены постоянно или включаться/выключаться при помощи shell-комманд.

Запуск тестов, опять же, зависит от выбранного инструмента интеграции. Если это TFS или TeamCity (условно бесплатные), у них есть свои билд-агенты, если Jenkins или CC.Net (бесплатные) - скорее всего, запуск пойдет через скрипты, здесь можно использовать OpenSSH или (для Windows) Sysinternals Process Utilities. TestComplete тоже умеет запускать распределенные тесты, даже без CI системы, но всё за деньги.

 

3. Какими средстdами тестировать GUI написанное на WPF.

4. На каком языке писать сами скрипты ( powershell, autoIT, )

Язык - берем, который ближе, и на котором легче сможете написать. Про powershell не совсем понятно, какой именно инструмент для работы с UI будет в нем вызываться.

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

AutoIt - наверное, можно использовать, если этого достаточно.

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

Twin - позволяет выполнять тесты удаленно: запускаем тесты на одной машине, а тестируемое приложение - на другой, клиенская библиотека сделана для Java.

TestComplete - глубоко залезает в объекты, дает очень много возможностей, плюс хорошо организует тесты, но платный.

Есть еще интересная штука - UIAutomationClient - это библиотека в составе .NET, специально созданная для тестирования WPF, но она очень абстрактная, т.е. весь фреймворк, все полезные функции для работы с элементами придется писать с нуля (ну или поискать, м.б. есть готовые решения). Это альтернатива, если захочется писать под дотнетом, т.к. у Visual Studio с функцией тестирования цена неподъемная.

Ну, а платных инструментов вообще много, если поискать.


  • 2

#3 dwarwood

dwarwood

    Новый участник

  • Members
  • Pip
  • 66 сообщений
  • ФИО:dwarwood

Отправлено 02 апреля 2015 - 12:09

Организация автоматизированного тестирования
онлайн, начало 3 апреля
                                

 

:-)


  • 0

#4 Qatest

Qatest

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 02 апреля 2015 - 13:05

Checo, спасибо за развернутый ответ! Есть еще пару вопросов!
На данный момент мы уже используем ESXI ( есть мощный выделенный сервер под с гипервизором, на котором у нас крутится много виртуалок). У нас используется так же TeamСity. 
Вы упоминули систему версионированяи тестов , какую посоветуете использовать?
Да, и сначала дали команду автоматизировать всякие системные вещи: ( проверки запуска\остановки служб, процессов, проверки создания- удаления файлов, записей в реестре, проверка наличия определенных полей в XML файлах, запросы в БД. 
Давайте пока отойдем от темы обсуждения тестирования GUI!)
 
Как я вижу процесс с учетом полученной информации:
 
1. Team city запускает срипт (A), который умеет Подключаться к ESXI + поднимать виртуалки + заливать на них тестируемый билд (продукт) + заливается скрипт (B), который далее будет устанавливат ьпродукт и проводить тесты. 
- скрипт (А) думаю обойтись силами обычного .bat 
- срипт (B). Тут впринципе можно тоже обойтись силами командной строки, ведь действия описанные выше (проверка запуска\остановки служб) тривиальные вроде как, но есть желание изучить какой-либо язык програмимирования, например советовали Ruby или Python. Тут хотел бы услышать Ваше мнение!
2. Потом далее как то же TeamCity должен узнать как звершился тест - прошол он или нет. каким Образом реализовать это тмеханизм? 
 
Как Вы видите этот процесс тестирования? 
Большое спасибо за потраченное Вами время)

  • 0

#5 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 02 апреля 2015 - 14:06

Системы версионирования все хороши, просто берите ту же, что используют девелоперы на проекте.

 

1. Ruby и Python изучить никогда не помешает. Но вот как раз для всяких системных операций с виндой, поднятия служб и т.п. лучше брать родной PowerShell. Другое дело, что это будут изолированные скрипты, а не тесты. Если нужны именно тесты, с выбором языка определяйтель в своей команде :smile: . Просто будете из тестовых сценариев вызывать системные команды, это в любом языке можно делать.

 

2. TeamCity - это не тестовый инструмент. Он запускает некую последовательность процессов и собирает с них информацию, например, всякие логи и файлы. В том числе будет запускать тесты через агенты, которые Вы установите на виртуалках, и собирать результаты в центральную систему. Для удобства работы с тестами есть плагины (смотрим тут: https://confluence.j...ameworksSupport), как с ними работать - зависит от того, какой язык и тестовый фреймворк будет выбран.


  • 1

#6 Qatest

Qatest

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 03 апреля 2015 - 07:47

Системы версионирования все хороши, просто берите ту же, что используют девелоперы на проекте.

 

1. Ruby и Python изучить никогда не помешает. Но вот как раз для всяких системных операций с виндой, поднятия служб и т.п. лучше брать родной PowerShell. Другое дело, что это будут изолированные скрипты, а не тесты. Если нужны именно тесты, с выбором языка определяйтель в своей команде :smile: . Просто будете из тестовых сценариев вызывать системные команды, это в любом языке можно делать.

 

2. TeamCity - это не тестовый инструмент. Он запускает некую последовательность процессов и собирает с них информацию, например, всякие логи и файлы. В том числе будет запускать тесты через агенты, которые Вы установите на виртуалках, и собирать результаты в центральную систему. Для удобства работы с тестами есть плагины (смотрим тут: https://confluence.j...ameworksSupport), как с ними работать - зависит от того, какой язык и тестовый фреймворк будет выбран.

Спасибо за советы! Буду пробовать!) +1 Вам в карму)


  • 0

#7 g1n

g1n

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Иван Белецкий


Отправлено 05 апреля 2015 - 17:19

Для WPF есть бесплатные фрэймворки TestStack.White и Telerik Testing Framework (не пробовал пока)


  • 0



Темы с аналогичным тегами Автоматизация

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных