Re[3]: Динамичная разработка и тестирование - Проблемы и решения
От: Aikin Беларусь kavaleu.ru
Дата: 19.09.12 13:24
Оценка:
Здравствуйте, i_kruk, Вы писали:

_>Какой-то код есть, но тестировщики об этом не знают

_>Тестировщики тестят черным ящиком. Программисты пишут юнит тесты.

_>Поэтому тестерские проверки завязаны на пользовательский интерфейс. Кстати, часто случается, что какой-то контрол поменял свое название, и весь автоматизированный тест валится, так как не может найти нужный контрол.

Для тестирования тоже есть своя архитектура и паттерны
Если выделить логику поиска контролов на форме (по имени или еще как) в отдельный класс, то при изменении имени контрола достаточно будет поменять этот класс и все тесты починятся автоматом. Этот же прием спасает при изменении UI фреймворка, так как потребуется переписать только "классы обертки" форм.
Я называю этот паттерн FormObject (уже не помню где о нем услышал).

Сами тесты выглядят так:
var loginForm = new LoginForm(/*сюда можно передать все тчо нужно тестовому фреймворку, чтобы он смог "кликать" кнопки */);
loginForm.Username = "aikin";
loginForm.Password = "secret";

loginForm.LogMeIn();

Assert.That(loginForm.IsClosed); // Проверить можно все что угодно, например, что открылась другая форма или еще что


СУВ, Aikin
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.