Есть ли хорошее руководство по автоматическому тестированию пользовательского интерфейса? - PullRequest
13 голосов
/ 22 марта 2011

Как правило, я нахожу, что почти все мои самые важные тестовые примеры для разработки на iPhone связаны с тестированием пользовательского интерфейса, а не с бизнес-логикой или тестированием данных.Я не очень знаком с автоматизированным тестированием пользовательского интерфейса в среде XCode.Может кто-нибудь указать мне хороший учебник или книгу?

ОБНОВЛЕНИЕ
Этот вопрос был написан несколько лет назад, и с тех пор тестирование пользовательского интерфейса прошло долгий путь.Использование UI Automation все еще возможно, но KIF Framework является гораздо лучшим решением для функционального тестирования, IMO.

Со страницы KIF на github:

KIF, обозначающий Keep It Functional, представляет собой интегрированный тестовый фреймворк для iOS.Он позволяет легко автоматизировать приложения для iOS, используя атрибуты доступности, которые ОС делает доступными для людей с нарушениями зрения.

KIF создает и выполняет тесты, используя стандартную цель тестирования XCTest.Тестирование проводится синхронно в главном потоке (запуская цикл выполнения, чтобы ускорить течение времени), обеспечивая более сложную логику и композицию.Это также позволяет KIF использовать преимущества навигатора тестов Xcode 5, инструментов построения командной строки и отчетов о тестировании ботов.

Ответы [ 3 ]

19 голосов
/ 23 марта 2011

Лучше всего будет использовать инструмент автоматизации пользовательского интерфейса, который дебютировал с iOS 4.0. Это может быть написано в сценарии для проверки многих аспектов вашего пользовательского интерфейса.

Apple представляет отличное введение в этот инструмент в видео для сеанса 306 WWDC 2010 - «Автоматизация тестирования интерфейса пользователя с помощью инструментов». Я демонстрирую, как настроить сценарии и выполнить тестирование в видео для сеанса «Тестирование» моего продвинутого курса по разработке iOS на iTunes U . Мои заметки об автоматизации пользовательского интерфейса из этого класса, включая примеры сценариев, можно найти здесь .

Кроме того, вы можете посмотреть статью Джеймса Тернера " Как использовать UIAutomation для создания тестов пользовательского интерфейса iPhone " и статью Алекса Воллмера " Работа с UIAutomation ".

2 голосов
/ 24 марта 2011

Что вы на самом деле пытаетесь проверить? Я согласен с тем, что тестирование взаимодействия представлений важно, но обнаружил, что обычно я могу создать модульный или интеграционный тест, который проверяет представление или представление и его контроллер для проверки этого поведения, не пытаясь управлять всем приложением через пользовательский интерфейс.

Например, http://blog.carbonfive.com/2010/03/10/testing-view-controllers/ содержит примеры тестов, которые проверяют, что представления UIKit связаны с IBActions или имеют соответствующие делегаты, и что контроллер реагирует на эти действия или делегирует сообщения соответствующим образом. На самом деле нет необходимости водить UIButton или UITableView, поскольку я готов верить, что эти классы действительно работают, и вместо этого мне нужно только протестировать их использование и настройку.

Для пользовательских компонентов просмотра вы можете отправлять UIResponder сообщения непосредственно в ваших тестах и ​​утверждать, что они ведут себя как положено, опять же, не управляя всем пользовательским интерфейсом.

Можете ли вы привести пример поведения, которое вы хотите проверить?

0 голосов
/ 11 февраля 2015
...