Филипп Кекс "Как научить роботов играть в игры?"

27

Upload: mobicode

Post on 22-Jan-2017

117 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Филипп Кекс "Как научить роботов играть в игры?"
Page 2: Филипп Кекс "Как научить роботов играть в игры?"

Как научить роботов играть в игры?

Филипп Кекс

Page 3: Филипп Кекс "Как научить роботов играть в игры?"

Зачем?

3

Page 4: Филипп Кекс "Как научить роботов играть в игры?"

“В здоровом обществе должны существовать табу, при попытке оспорить которые любой автоматически считается идиотом”

Slavoj Žižek

4

Page 5: Филипп Кекс "Как научить роботов играть в игры?"

Как?

5

Page 6: Филипп Кекс "Как научить роботов играть в игры?"

Как?

Кто? Что? Чем?

6

Page 7: Филипп Кекс "Как научить роботов играть в игры?"

Кто занимается автоматизацией?

● Тестировщик● Разработчик● Автоматизатор● Заказчик● Посредник

7

Page 8: Филипп Кекс "Как научить роботов играть в игры?"

Кто занимается автоматизацией?

Разработчик

8

Page 9: Филипп Кекс "Как научить роботов играть в игры?"

Что следует автоматизировать?

● Весь процесс системного тестирования● Только самые важные части системы● Каждый логический слой отдельно

9

Page 10: Филипп Кекс "Как научить роботов играть в игры?"

Что следует автоматизировать?

Каждый логический слой отдельно

10

Page 11: Филипп Кекс "Как научить роботов играть в игры?"

Чем?

● Selenium● WebDriver● Fitnesse● Autoit● xUnit● Самоделкин

11

Page 12: Филипп Кекс "Как научить роботов играть в игры?"

Чем?

Выбирай инструмент соответствующий среде разработки

12

Page 13: Филипп Кекс "Как научить роботов играть в игры?"

Наша среда разработки● Unity3D● C# + Mono (.Net 2.0 API)● Кастомный UI● Android, iOS, Windows Phone, Desktop● Ввод: Сенсорный экран, акселерометр,

джойстик● Online приложение

13

Page 14: Филипп Кекс "Как научить роботов играть в игры?"

Требования к тестам

● UI и Unit● Запуск на любой платформе● Изолированность● Скорость

14

Page 15: Филипп Кекс "Как научить роботов играть в игры?"

UI Сцена

Контроллер Контроллер

ЛогическийКомпонент

ЛогическийКомпонент

Клиент

Сервер

15

Page 16: Филипп Кекс "Как научить роботов играть в игры?"

UI Сцена

Контроллер Контроллер

Mock Mock

UI Тест

16

Page 17: Филипп Кекс "Как научить роботов играть в игры?"

Логический компонент

Mock

Unit Тест

17

Page 18: Филипп Кекс "Как научить роботов играть в игры?"

Замена компонентов на Mock

● Самодельный фреймворк внедрения зависимостей

● Минимальный функционал● <150 строк кода

18

Page 19: Филипп Кекс "Как научить роботов играть в игры?"

Управление UI и сцен

● Самодельная автоматизация UI● ~400 строк кода

19

Page 20: Филипп Кекс "Как научить роботов играть в игры?"

Unit тесты

● NUnit● Самодельный запуск внутри приложения

20

Page 21: Филипп Кекс "Как научить роботов играть в игры?"

Пора кодить!{\_/}

{#_#}{} {}

21

Page 22: Филипп Кекс "Как научить роботов играть в игры?"

Запуск● Jenkins сервер● Полный прогон всех тестов в каждом

цикле сборки● Периодический прогон на всевозможных

устройствах (Ктулху)● Ручной запуск любой сборки (включая

релиз) в режиме тестирования

22

Page 23: Филипп Кекс "Как научить роботов играть в игры?"

“Ктулху” - тестовый стенд

23

Page 24: Филипп Кекс "Как научить роботов играть в игры?"

24

Page 25: Филипп Кекс "Как научить роботов играть в игры?"

Исходный код

● Github: http://github.com/taphos/unity-uitest● Asset store: http://u3d.as/Ba0

25

Page 26: Филипп Кекс "Как научить роботов играть в игры?"

Самоделкин научил...

26

Page 27: Филипп Кекс "Как научить роботов играть в игры?"

Спасибо!● http://blog.filippkeks.com● http://linkedin.com/in/filippkeks● [email protected]