View
125
Download
4
Category
Preview:
Citation preview
Как научить роботов играть в игры?
Филипп Кекс
Зачем?
3
“В здоровом обществе должны существовать табу, при попытке оспорить которые любой автоматически считается идиотом”
Slavoj Žižek
4
Как?
5
Как?
Кто? Что? Чем?
6
Кто занимается автоматизацией?
● Тестировщик● Разработчик● Автоматизатор● Заказчик● Посредник
7
Кто занимается автоматизацией?
Разработчик
8
Что следует автоматизировать?
● Весь процесс системного тестирования● Только самые важные части системы● Каждый логический слой отдельно
9
Что следует автоматизировать?
Каждый логический слой отдельно
10
Чем?
● Selenium● WebDriver● Fitnesse● Autoit● xUnit● Самоделкин
11
Чем?
Выбирай инструмент соответствующий среде разработки
12
Наша среда разработки● Unity3D● C# + Mono (.Net 2.0 API)● Кастомный UI● Android, iOS, Windows Phone, Desktop● Ввод: Сенсорный экран, акселерометр,
джойстик● Online приложение
13
Требования к тестам
● UI и Unit● Запуск на любой платформе● Изолированность● Скорость
14
UI Сцена
Контроллер Контроллер
ЛогическийКомпонент
ЛогическийКомпонент
Клиент
Сервер
15
UI Сцена
Контроллер Контроллер
Mock Mock
UI Тест
16
Логический компонент
Mock
Unit Тест
17
Замена компонентов на Mock
● Самодельный фреймворк внедрения зависимостей
● Минимальный функционал● <150 строк кода
18
Управление UI и сцен
● Самодельная автоматизация UI● ~400 строк кода
19
Unit тесты
● NUnit● Самодельный запуск внутри приложения
20
Пора кодить!{\_/}
{#_#}{} {}
21
Запуск● Jenkins сервер● Полный прогон всех тестов в каждом
цикле сборки● Периодический прогон на всевозможных
устройствах (Ктулху)● Ручной запуск любой сборки (включая
релиз) в режиме тестирования
22
“Ктулху” - тестовый стенд
23
24
Исходный код
● Github: http://github.com/taphos/unity-uitest● Asset store: http://u3d.as/Ba0
25
Самоделкин научил...
26
Спасибо!● http://blog.filippkeks.com● http://linkedin.com/in/filippkeks● filipp@azib.net
Recommended