А. Хитрин "robot framework", dump-2014

41
Robot Framework сводки с фронта Андрей Хитрин, Noda. -- D.U.M.P.’2014

Upload: it-people

Post on 26-Jan-2015

277 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: А. Хитрин "Robot Framework", DUMP-2014

Robot Frameworkсводки с фронта

Андрей Хитрин, Noda. -- D.U.M.P.’2014

Page 2: А. Хитрин "Robot Framework", DUMP-2014

NODA

● Софт для создания контакт-центров● Основные языки: Java, Python, C++● Много унаследованного кода

Page 3: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Критерии выбора фреймворка============================================================Язык, знакомый нашим разработчикам | PASS |------------------------------------------------------------

Page 4: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Критерии выбора фреймворка============================================================Язык, знакомый нашим разработчикам | PASS |------------------------------------------------------------Хорошая читаемость тестов | PASS |------------------------------------------------------------

Page 5: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Критерии выбора фреймворка============================================================Язык, знакомый нашим разработчикам | PASS |------------------------------------------------------------Хорошая читаемость тестов | PASS |------------------------------------------------------------Развитое сообщество, проект не стоит на месте | PASS |------------------------------------------------------------D.U.M.P.Критерии выбора фреймворка | PASS |3 critical tests, 3 passed, 0 failed3 tests total, 3 passed, 0 failed============================================================

Page 6: А. Хитрин "Robot Framework", DUMP-2014

www.failconf.ru

Page 7: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Опыт использования Robot Framework============================================================Читаемость тестов | ...

Page 8: А. Хитрин "Robot Framework", DUMP-2014

Список телефонов автоматически сортируется

Создать кейс и зайти в него

Задать номера телефонов 11 22 33 44 55

Страница должна содержать текст 11 | 22 | 33 | 44 | 55

Page 9: А. Хитрин "Robot Framework", DUMP-2014

При просмотре формы из кейса должны быть атрибуты Клиента

Добавить физического клиента ${CLIENT_NAME} 69420813888

Подготовить форму с атрибутом ${LAST_NAME_ATTR}

Добавить каталог в проект

Зайти в кейс определенного клиента ${CLIENT_NAME}

Открыть диалог по ссылке ${FORM_LINK}

Страница должна содержать текст ${LAST_NAME_ATTR}

[Teardown] Закрыть всплывающее окно и перейти на главное

Page 10: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Опыт использования Robot Framework============================================================Читаемость тестов | PASS |------------------------------------------------------------Разные форматы хранения: HTML, TXT, TSV | ...

Page 11: А. Хитрин "Robot Framework", DUMP-2014
Page 12: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Опыт использования Robot Framework============================================================Читаемость тестов | PASS |------------------------------------------------------------Разные форматы хранения: HTML, TXT, TSV | PASS |------------------------------------------------------------Архидетальные логи | ...

Page 13: А. Хитрин "Robot Framework", DUMP-2014
Page 14: А. Хитрин "Robot Framework", DUMP-2014
Page 15: А. Хитрин "Robot Framework", DUMP-2014
Page 16: А. Хитрин "Robot Framework", DUMP-2014
Page 17: А. Хитрин "Robot Framework", DUMP-2014
Page 18: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Опыт использования Robot Framework============================================================Читаемость тестов | PASS |------------------------------------------------------------Разные форматы хранения: HTML, TXT, TSV | PASS |------------------------------------------------------------Архидетальные логи | PASS |------------------------------------------------------------Все умеют читать и понимать логи | ...

Page 19: А. Хитрин "Robot Framework", DUMP-2014

============================================================D.U.M.P.Опыт использования Robot Framework============================================================Читаемость тестов | PASS |------------------------------------------------------------Разные форматы хранения: HTML, TXT, TSV | PASS |------------------------------------------------------------Архидетальные логи | PASS |------------------------------------------------------------Все умеют читать и понимать логи | FAIL |Есть некоторые тонкости, которым приходится учить------------------------------------------------------------Все могут писать тесты | ...

Page 20: А. Хитрин "Robot Framework", DUMP-2014

============================================================Читаемость тестов | PASS |------------------------------------------------------------Разные форматы хранения: HTML, TXT, TSV | PASS |------------------------------------------------------------Архидетальные логи | PASS |------------------------------------------------------------Все умеют читать и понимать логи | FAIL |Есть некоторые тонкости, которым приходится учить------------------------------------------------------------Все могут писать тесты | PASS |------------------------------------------------------------Все могут писать качественные тесты | ...

Page 21: А. Хитрин "Robot Framework", DUMP-2014

Разные форматы хранения: HTML, TXT, TSV | PASS |------------------------------------------------------------Архидетальные логи | PASS |------------------------------------------------------------Все умеют читать и понимать логи | FAIL |Есть некоторые тонкости, которым приходится учить------------------------------------------------------------Все могут писать тесты | PASS |------------------------------------------------------------Все могут писать качественные тесты | FAIL |Приходится учить коллег, как делать тесты правильно------------------------------------------------------------Интеграция с Jenkins | ...

Page 22: А. Хитрин "Robot Framework", DUMP-2014
Page 23: А. Хитрин "Robot Framework", DUMP-2014

Архидетальные логи | PASS |------------------------------------------------------------Все умеют читать и понимать логи | FAIL |Есть некоторые тонкости, которым приходится учить------------------------------------------------------------Все могут писать тесты | PASS |------------------------------------------------------------Все могут писать качественные тесты | FAIL |Приходится учить коллег, как делать тесты правильно------------------------------------------------------------Интеграция с Jenkins | PASS |------------------------------------------------------------Сьюты и тесты можно помечать тегами | ...

Page 24: А. Хитрин "Robot Framework", DUMP-2014

Все умеют читать и понимать логи | FAIL |Есть некоторые тонкости, которым приходится учить------------------------------------------------------------Все могут писать тесты | PASS |------------------------------------------------------------Все могут писать качественные тесты | FAIL |Приходится учить коллег, как делать тесты правильно------------------------------------------------------------Интеграция с Jenkins | PASS |------------------------------------------------------------Сьюты и тесты можно помечать тегами | PASS |------------------------------------------------------------Рефакторинг тестов | ...

Page 25: А. Хитрин "Robot Framework", DUMP-2014

Все могут писать тесты | PASS |------------------------------------------------------------Все могут писать качественные тесты | FAIL |Приходится учить коллег, как делать тесты правильно------------------------------------------------------------Интеграция с Jenkins | PASS |------------------------------------------------------------Сьюты и тесты можно помечать тегами | PASS |------------------------------------------------------------Рефакторинг тестов | FAIL |Делаем всё ручками, господа!------------------------------------------------------------Режим отладки | ...

Page 26: А. Хитрин "Robot Framework", DUMP-2014

Приходится учить коллег, как делать тесты правильно------------------------------------------------------------Интеграция с Jenkins | PASS |------------------------------------------------------------Сьюты и тесты можно помечать тегами | PASS |------------------------------------------------------------Рефакторинг тестов | FAIL |Делаем всё ручками, господа!------------------------------------------------------------Режим отладки | FAIL |Отладка для слабаков------------------------------------------------------------Скорость создания тестов | ...

Page 27: А. Хитрин "Robot Framework", DUMP-2014

Сьюты и тесты можно помечать тегами | PASS |------------------------------------------------------------Рефакторинг тестов | FAIL |Делаем всё ручками, господа!------------------------------------------------------------Режим отладки | FAIL |Отладка для слабаков------------------------------------------------------------Скорость создания тестов | FAIL |Возможно, мы просто что-то делаем не так?------------------------------------------------------------Богатый набор готовых библиотек | ...

Page 28: А. Хитрин "Robot Framework", DUMP-2014

Библиотеки

● Интерфейсы: Selenium, Swing, SWT, AutoIt● Протоколы: Telnet, SSH● Сборка: Ant, Maven, Jenkins● Прочее: DB Library, Mabot● ... остальная мелочёвка

Page 29: А. Хитрин "Robot Framework", DUMP-2014

Библиотеки

● Интерфейсы: Selenium, Swing, SWT, AutoIt● Протоколы: Telnet, SSH● Сборка: Ant, Maven, Jenkins● Прочее: DB Library, Mabot● ... остальная мелочёвка

Page 30: А. Хитрин "Robot Framework", DUMP-2014

------------------------------------------------------------Рефакторинг тестов | FAIL |Делаем всё ручками, господа!------------------------------------------------------------Режим отладки | FAIL |Отладка для слабаков------------------------------------------------------------Скорость создания тестов | FAIL |Возможно, мы просто что-то делаем не так?------------------------------------------------------------Богатый набор готовых библиотек | PASS |------------------------------------------------------------Невероятно простая интеграция с Python | ...

Page 31: А. Хитрин "Robot Framework", DUMP-2014

Делаем всё ручками, господа!------------------------------------------------------------Режим отладки | FAIL |Отладка для слабаков------------------------------------------------------------Скорость создания тестов | FAIL |Возможно, мы просто что-то делаем не так?------------------------------------------------------------Богатый набор готовых библиотек | PASS |------------------------------------------------------------Невероятно простая интеграция с Python | PASS |------------------------------------------------------------Невероятно простая интеграция с нашим приложением | ...

Page 32: А. Хитрин "Robot Framework", DUMP-2014

Steeve Freeman, “Fractal TDD”

Page 33: А. Хитрин "Robot Framework", DUMP-2014

Steeve Freeman, “Fractal TDD”

Page 34: А. Хитрин "Robot Framework", DUMP-2014

Отладка для слабаков------------------------------------------------------------Скорость создания тестов | FAIL |Возможно, мы просто что-то делаем не так?------------------------------------------------------------Богатый набор готовых библиотек | PASS |------------------------------------------------------------Невероятно простая интеграция с Python | PASS |------------------------------------------------------------Невероятно простая интеграция с нашим приложением | FAIL |(на самом деле нет)------------------------------------------------------------Переход с Selenium RC на Selenium Web Driver | ...

Page 35: А. Хитрин "Robot Framework", DUMP-2014

Robot Framework vs. Selenium

● SeleniumLibrary: стабильная работа, но только Selenium RC

● Selenium2Library: Selenium WebDriver, но стабильность работы не радует

Page 36: А. Хитрин "Robot Framework", DUMP-2014
Page 37: А. Хитрин "Robot Framework", DUMP-2014

------------------------------------------------------------Невероятно простая интеграция с Python | PASS |------------------------------------------------------------Невероятно простая интеграция с нашим приложением | FAIL |(на самом деле нет)------------------------------------------------------------Переход с Selenium RC на Selenium Web Driver | FAIL |Не все сторонние библиотеки одинаково хороши------------------------------------------------------------D.U.M.P.Опыт использования Robot Framework | PASS |8 critical tests, 8 passed, 0 failed15 tests total, 8 passed, 7 failed============================================================

Page 38: А. Хитрин "Robot Framework", DUMP-2014

Выводы

● Инструмент хороший, но есть нюансы● Инструмент - это ещё не всё, надо

работать с людьми (с любовью, К.О.)● Переход Selenium RC → Selenium Webdriver

совсем не прост● Задача регрессионного тестирования на

текущий момент решается успешно

Page 39: А. Хитрин "Robot Framework", DUMP-2014

Вопросы (мои)

● Переход с Selenium RC на WebDriver● Как лучше комбинировать тесты через

интерфейс и API● Генерация тестов (например, MBT)

[email protected]@gmail.comtwitter.com/ahitrin

nodacontact.com

Page 40: А. Хитрин "Robot Framework", DUMP-2014

Вопросы (ваши)

Благодарю за внимание!

[email protected]@gmail.comtwitter.com/ahitrin

nodacontact.com

Page 41: А. Хитрин "Robot Framework", DUMP-2014

http://donate.fbk.info

Секунда оффтопа