Просвятите как в настоящий момень проводиться regression testing of UI. Какие инструменты, frameworks нужно использовать? Можно ли автоматизировать вообще?
Исходные данные: есть WinForms приложение, несколько grids на форме. Данные подкачиваются с сервера и отображаются в гриде. Есть некая логика КАК отображать данные, разные цвета и т.д. Есть несколько calculated fields.
В настоящий момент тестируется просто в ручную по написанным в Excel test cases. Типа проверяем правильным ли цветом подсвечено значение и каком результат получился в calculated field.
Здравствуйте, andrey.nikulin, Вы писали:
AN>Привет всем,
AN>Просвятите как в настоящий момень проводиться regression testing of UI. Какие инструменты, frameworks нужно использовать? Можно ли автоматизировать вообще?
AN>Исходные данные: есть WinForms приложение, несколько grids на форме. Данные подкачиваются с сервера и отображаются в гриде. Есть некая логика КАК отображать данные, разные цвета и т.д. Есть несколько calculated fields. AN>В настоящий момент тестируется просто в ручную по написанным в Excel test cases. Типа проверяем правильным ли цветом подсвечено значение и каком результат получился в calculated field.
AN>Главный вопрос: Можно ли автоматизировать вообще?
AN>Спасибо.
Можно использовать обычный фреймворк для юнит-тестов. MSTest, напр., или Nunit. Естественно, форма должна быть пригодной для тестирования. Всю самописную логику (ту, которую winforms не предоставляет из коробки) необходимо удалить в отдельный класс, представляющий модель формы (view model). Эта самая view model должна отражать семантику работы с формой: свойства предоставляют значения, которые определенным образом трактуются формой при ее отображении, методы являются обработчиками действий пользователя. Теперь эта логика не связана непосредственно с формой, и ее можно тестировать как обычный класс. Форма же связывается с такой view model с помощью байндингов (это как раз то, что winforms предоставляет из коробки) для свойств и обработчиков событий от элементов формы — для методов. Таким образом можно писать юнит-тесты для формы, не завися от модели, и проверять в них то, как форма реагирует на изменения свойств view model, как изменяются свойства view model при изменении соотв. элементов формы, что правильно вызываются методы view model.
Форма в юнит-тестах запускается как обычно с помощью Application.Run(). Для работы с элементами формы сделайте в дизайнере их internal (чтобы из кода тестов можно было к ним обращаться). Не забывайте про SynchronizationContext.
On 20.05.2011 13:55, dorofeevilya wrote:
> Можно использовать обычный фреймворк для юнит-тестов. MSTest, напр., или Nunit. > Естественно, форма должна быть пригодной для тестирования. Всю самописную логику > (ту, которую winforms не предоставляет из коробки) необходимо удалить в > отдельный класс, представляющий модель формы (view model). Эта самая view model > должна отражать семантику работы с формой: свойства предоставляют значения, > которые определенным образом трактуются формой при ее отображении, методы > являются обработчиками действий пользователя. Теперь эта логика не связана > непосредственно с формой, и ее можно тестировать как обычный класс. Форма же > связывается с такой view model с помощью байндингов (это как раз то, что > winforms предоставляет из коробки) для свойств и обработчиков событий от
Извини, но если ты будеш каждоую вшивую форму так проектировать, то
самая большая сложность формы будет именно в поддержке тестирования.
Неприемлимо.
Здравствуйте, MasterZiv, Вы писали:
MZ>On 20.05.2011 13:55, dorofeevilya wrote:
MZ>Извини, но если ты будеш каждоую вшивую форму так проектировать, то MZ>самая большая сложность формы будет именно в поддержке тестирования. MZ>Неприемлимо.
Это утверждение можно распространить на любой класс, который подвергается юнит-тестированию. Возникает вопрос, нужно ли юнит-тестирование вообще?
On 25.05.2011 10:56, dorofeevilya wrote: > Это утверждение можно распространить на любой класс, который подвергается > юнит-тестированию. Возникает вопрос, нужно ли юнит-тестирование вообще?
Форм ? не нужно. Нужно функциональное тестирование форм. IMHO.
On 25.05.2011 17:07, dorofeevilya wrote:
> Я исхожу из того, что форма — такой же класс. Так почему же не покрыть его > юнит-тестами?
Не всё, что тесты, юниттесты.
И не всё классы, что объявлено классами.
В общем формы являются классами только лишь чисто формально
с точки зрения языка реализации. ООП там применимо очень условно,
и код их должен быть тупой и дебильный.
> А что такое функциональное тестирование?
Здравствуйте, MasterZiv, Вы писали:
MZ>On 25.05.2011 17:07, dorofeevilya wrote:
>> Я исхожу из того, что форма — такой же класс. Так почему же не покрыть его >> юнит-тестами?
MZ>Не всё, что тесты, юниттесты.
Ты о чем? О зависимости от windowing system?
MZ>И не всё классы, что объявлено классами.
MZ>В общем формы являются классами только лишь чисто формально MZ>с точки зрения языка реализации. ООП там применимо очень условно,
MZ>и код их должен быть тупой и дебильный.
Должен-то должен, но этот тупой и дебильный код реализует тучу логики отображения (особенно если форма непростая). С помощью юнит-тестов я могу сымитировать все возможные ситуации и протестировать их отдельно от всего остального.
>> А что такое функциональное тестирование?
MZ>Ты знаешь, объяснять-то долго...
Я правильно понял, что ты имеешь ввиду полностью развернуть приложение и каким-нить тест-комплитом кнопки потыкать?
Если нет, то я не знаю...
Здравствуйте, andrey.nikulin, Вы писали:
AN>Привет всем,
AN>Просвятите как в настоящий момень проводиться regression testing of UI. Какие инструменты, frameworks нужно использовать? Можно ли автоматизировать вообще?
AN>Исходные данные: есть WinForms приложение, несколько grids на форме. Данные подкачиваются с сервера и отображаются в гриде. Есть некая логика КАК отображать данные, разные цвета и т.д. Есть несколько calculated fields. AN>В настоящий момент тестируется просто в ручную по написанным в Excel test cases. Типа проверяем правильным ли цветом подсвечено значение и каком результат получился в calculated field.
AN>Главный вопрос: Можно ли автоматизировать вообще?
AN>Спасибо.
А инструменты соответствующие пробовали ?
AutomatedQA TestComplete, к примеру, снимает подобные вопросы...
Здравствуйте, andrey.nikulin, Вы писали:
AN>Просвятите как в настоящий момень проводиться regression testing of UI. Какие инструменты, frameworks нужно использовать? Можно ли автоматизировать вообще? AN>Исходные данные: есть WinForms приложение, несколько grids на форме. Данные подкачиваются с сервера и отображаются в гриде. Есть некая логика КАК отображать данные, разные цвета и т.д. Есть несколько calculated fields. AN>В настоящий момент тестируется просто в ручную по написанным в Excel test cases. Типа проверяем правильным ли цветом подсвечено значение и каком результат получился в calculated field. AN>Главный вопрос: Можно ли автоматизировать вообще?
+1 за TestComplete
Дешево и сердито. Скачай да попробуй.
Здравствуйте, bnk, Вы писали:
bnk>+1 за TestComplete bnk>Дешево и сердито. Скачай да попробуй.
Только вот оказывается оно уже не AutomatedQA (их купили?), и уже блин не так дешево — несколько лет назад оно 300 баксов стоило, если мне не изменяет память
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, bnk, Вы писали:
bnk>>+1 за TestComplete bnk>>Дешево и сердито. Скачай да попробуй.
bnk>Только вот оказывается оно уже не AutomatedQA (их купили?)