Должно ли функциональное тестирование моделировать события пользовательского интерфейса или проверять предварительные условия? - PullRequest
1 голос
/ 26 мая 2011

Я борюсь с этим вопросом, поскольку заметил, что многие фреймворки функционального тестирования (например, Selenium для Интернета или UISpec для iOS) на самом деле имитируют события пользовательского интерфейса во время тестирования. Я спрашиваю: не может ли быть достаточно просто проверить наличие таких предварительных условий, например, что цель и селектор для кнопки установлены правильно, а затем запустить селектор вручную? Зачем мне моделировать прикосновения? Это имеет то преимущество, что вам нужно больше знать об элементах пользовательского интерфейса, которые вы тестируете (вы должны знать, что заставляет их вести себя правильно), но, поскольку я пишу тесты, может это не имеет значения? Кто-нибудь может пролить свет на это?

1 Ответ

1 голос
/ 26 мая 2011

Имитация касаний может быть полезна для определения сбоев, вызванных неясным или незапланированным поведением пользователя - особенно распространенным является одновременное нажатие двух элементов.Это также позволяет вам создавать потенциально довольно эзотерические тесты: например, случайный пользовательский ввод в течение длительного периода времени, чтобы попытаться аварийно завершить работу или сломать ваше приложение так, как вы этого не ожидали.Уровень, до которого вы будете это делать, будет зависеть от вашего приложения и от того, насколько оно важно для вас.

Ваш альтернативный подход также имеет некоторые недостатки, когда речь идет о мультитач.Хотя было бы довольно просто запустить селектор кнопок с помощью какого-либо автоматического теста, а не имитировать пользовательский ввод, что произойдет, если у вас есть приложение, которое имеет дело со смахиванием, сжиманием или другими жестами множественного ввода?В этих случаях желаемый результат может быть не таким черно-белым, как при включении / выключении кнопки: у вас может быть много оттенков серого и различный вывод, требующий проверки.

Тестирование симулированного пользовательского интерфейса на самом деле имеет довольно продолжительныйистория - есть интересная (ну, мне интересная) история об оригинальном MacPaint и о том, как случайный входной тест пользовательского интерфейса смог помочь в воспроизведении неясных или сложных сбоев: http://www.folklore.org/StoryView.py?story=Monkey_Lives.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...