Мы находимся на начальных этапах крупного проекта и решили, что какая-то форма автоматизированного тестирования UI, вероятно, будет полезна для нас, но пока не разобралась, как именно это будет работать...
Основная задача - автоматизировать базовую установку и прогон приложения, поэтому, если разработчик вызывает серьезный поломка (например: приложение не будет установлено, сеть не будет подключаться, окно не будет отображаться и т.д.).), тестеры не должны тратить свое время (и раздражаться) на установку и настройку сломанной сборки
Вторая цель - помочь тестировщикам при работе с повторяющимися задачами.
Мой вопрос: кто должен создавать такие тесты? Неявное предположение в нашей команде состояло в том, что тестеры это сделают, но все, что я читал в сети, всегда, кажется, подразумевает, что разработчики создадут их как своего рода "расширенный unit test".
Некоторые мысли:
-
Разработчики, похоже, находятся в гораздо лучшем положении для этого, учитывая, что они знают контрольные ID, классы и т.д., и имеют гораздо лучшую картину того, как работает приложение.
-
Тестеры имеют то преимущество, что не знают, как работает приложение, и, следовательно, могут производить тесты, которые могут быть гораздо полезнее
-
Я написал несколько исходных скриптов, используя IronRuby и White. Это работает очень хорошо и достаточно мощно, чтобы делать буквально все, но тогда вам нужно написать код для написания тестов пользовательского интерфейса.
-
Все автоматизированные инструменты тестирования пользовательского интерфейса, которые мы пробовали (TestComplete и т.д.), кажутся невероятно сложными и хрупкими, и хотя тестеры могут их использовать, он занимает их примерно в 100 раз дольше, и они постоянно запускаясь в "случайную сложность", вызванную инструментами тестирования пользовательского интерфейса.
-
Наши тестеры не могут кодировать, и, хотя они очень умны, все, что у меня получилось, было забавным, когда я предлагал, чтобы тестеры могли писать простые рубиновые скрипты (хотя упомянутые скрипты примерно в 100 раз легче читать и напишите, чем искаженный беспорядок кнопок и datagrids, который, кажется, является стандартом для автоматизированных инструментов тестирования пользовательского интерфейса).
Я бы очень благодарен за отзывы других, которые пытались автоматизировать пользовательский интерфейс в команде разработчиков и тестировщиков. Кто сделал то, что сделал, и это хорошо работает? Спасибо заранее!
Изменить: Приложенное приложение - это приложение с богатым клиентом WPF С#, которое подключается к серверу с помощью WCF