Доброго времени суток всем!
Имеется типичная проблема:
- есть более-мене простая социалка as3-клиент/php-сервер
- сыт по горло мышкокликаньем при воспроизведении сложных багов в клиенте и сервере(ведь если бага на сервере, то в 50% случаев это ещё нужно доказать, а значит, воспроизводить тебе, а не серверисту)
Тут же как:
Прогнал цепочку из 50 действий. Ура, бага нашлась! Вроде зачинил, надо проверить - и опять 50 дейсвий. А если только думал, что зачинил - повторяешь на бис
Да, большинство сложных алгоритмов покрыто unit-тестами (только благодаря ним мы не сидим с дебагером в разборе ответов сервера, и с помощью них удавалось вылавливать баги, воспроизводимые в десяток шагов).
Но это unit-тесты и строчить их для компонент, завязанных на многие другие толку нет - только время убивать и дополнительные зависимости в проект вносить.
Нужно системное тестирование, например такой тест:
- сбросить игру
- юзер открыл окно "Инвентарь"
- юзер выбрал морковку
- проверить "произошёл переход в режим посадки"
- юзер посадил морковку
- проверить "юзеру дали выполнение квеста quest1_2_3"
- проверить "юзеру показали окно с наградой"
По крайней мере, спасение видится в этом.
Интересно, кто-нибудь таки смог организовать автоматическое тестирование игры целиком?
Не появляется внятной мысли, как заставить диалоговые окошки подыматься по сценарию, чтобы в них выбирались заданные элементы списка, эмулировалось нажатие мыши и результат сверялся с ожидаемым.
При этом хочется не размазать по всей игре кучу неподдерживаемого кода.
Поделитесь опытом пожалуйста.