Системное тестирование приложений на Ruby on Rails с применением Rspec и Capybara Леонид Шевцов, kiev.rb, 7 марта 2011
О презентации Практическая точка зрения
Не буду говорить о TDD
Заранее простите за терминологию
Способы тестирования сайтов Русская рулетка Проверяют сами программисты
(ОК при прототипировании) Тестировщик (QA-инженер) Наиболее популярный способ
Хорошие результаты Юнит-тесты Хорошо, но недостаточно Acceptance-тесты?
Acceptance-тесты — что это? Проверка сайта “со стороны пользователя”, с использованием браузера или его эмулятора.
Описывают работу сайта набором “сценариев”.
Противоположный от юнит-тестов подход.
Сайт — многослойная система Много слоев
Много модулей
Покрыть все юнит-тестами — либо невозможно, либо нерентабельно
Обычно покрывают только модель
Сайт — многослойная система На странице есть ссылка...
На нее навешивается Javascript...
Который формирует и делает POST-запрос...
К определенному контроллеру...
Который вызывает определенную модель ...
Возвращает ответ в Javascript...
Который в результате меняет HTML
Ассеptance-тесты — зачем? Есть же тестер Всегда быстрее человека.
Лучшее управление состоянием системы

Системное тестирование приложений на Ruby on Rails с применением Rspec и Capybara