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

1,063 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,063
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Robot Framework сводки с фронта Андрей Хитрин, Noda. -- D.U.M.P.’2014
  2. 2. NODA ● Софт для создания контакт-центров ● Основные языки: Java, Python, C++ ● Много унаследованного кода
  3. 3. ============================================================ D.U.M.P.Критерии выбора фреймворка ============================================================ Язык, знакомый нашим разработчикам | PASS | ------------------------------------------------------------
  4. 4. ============================================================ D.U.M.P.Критерии выбора фреймворка ============================================================ Язык, знакомый нашим разработчикам | PASS | ------------------------------------------------------------ Хорошая читаемость тестов | PASS | ------------------------------------------------------------
  5. 5. ============================================================ D.U.M.P.Критерии выбора фреймворка ============================================================ Язык, знакомый нашим разработчикам | PASS | ------------------------------------------------------------ Хорошая читаемость тестов | PASS | ------------------------------------------------------------ Развитое сообщество, проект не стоит на месте | PASS | ------------------------------------------------------------ D.U.M.P.Критерии выбора фреймворка | PASS | 3 critical tests, 3 passed, 0 failed 3 tests total, 3 passed, 0 failed ============================================================
  6. 6. www.failconf.ru
  7. 7. ============================================================ D.U.M.P.Опыт использования Robot Framework ============================================================ Читаемость тестов | ...
  8. 8. Список телефонов автоматически сортируется Создать кейс и зайти в него Задать номера телефонов 11 22 33 44 55 Страница должна содержать текст 11 | 22 | 33 | 44 | 55
  9. 9. При просмотре формы из кейса должны быть атрибуты Клиента Добавить физического клиента ${CLIENT_NAME} 69420813888 Подготовить форму с атрибутом ${LAST_NAME_ATTR} Добавить каталог в проект Зайти в кейс определенного клиента ${CLIENT_NAME} Открыть диалог по ссылке ${FORM_LINK} Страница должна содержать текст ${LAST_NAME_ATTR} [Teardown] Закрыть всплывающее окно и перейти на главное
  10. 10. ============================================================ D.U.M.P.Опыт использования Robot Framework ============================================================ Читаемость тестов | PASS | ------------------------------------------------------------ Разные форматы хранения: HTML, TXT, TSV | ...
  11. 11. ============================================================ D.U.M.P.Опыт использования Robot Framework ============================================================ Читаемость тестов | PASS | ------------------------------------------------------------ Разные форматы хранения: HTML, TXT, TSV | PASS | ------------------------------------------------------------ Архидетальные логи | ...
  12. 12. ============================================================ D.U.M.P.Опыт использования Robot Framework ============================================================ Читаемость тестов | PASS | ------------------------------------------------------------ Разные форматы хранения: HTML, TXT, TSV | PASS | ------------------------------------------------------------ Архидетальные логи | PASS | ------------------------------------------------------------ Все умеют читать и понимать логи | ...
  13. 13. ============================================================ D.U.M.P.Опыт использования Robot Framework ============================================================ Читаемость тестов | PASS | ------------------------------------------------------------ Разные форматы хранения: HTML, TXT, TSV | PASS | ------------------------------------------------------------ Архидетальные логи | PASS | ------------------------------------------------------------ Все умеют читать и понимать логи | FAIL | Есть некоторые тонкости, которым приходится учить ------------------------------------------------------------ Все могут писать тесты | ...
  14. 14. ============================================================ Читаемость тестов | PASS | ------------------------------------------------------------ Разные форматы хранения: HTML, TXT, TSV | PASS | ------------------------------------------------------------ Архидетальные логи | PASS | ------------------------------------------------------------ Все умеют читать и понимать логи | FAIL | Есть некоторые тонкости, которым приходится учить ------------------------------------------------------------ Все могут писать тесты | PASS | ------------------------------------------------------------ Все могут писать качественные тесты | ...
  15. 15. Разные форматы хранения: HTML, TXT, TSV | PASS | ------------------------------------------------------------ Архидетальные логи | PASS | ------------------------------------------------------------ Все умеют читать и понимать логи | FAIL | Есть некоторые тонкости, которым приходится учить ------------------------------------------------------------ Все могут писать тесты | PASS | ------------------------------------------------------------ Все могут писать качественные тесты | FAIL | Приходится учить коллег, как делать тесты правильно ------------------------------------------------------------ Интеграция с Jenkins | ...
  16. 16. Архидетальные логи | PASS | ------------------------------------------------------------ Все умеют читать и понимать логи | FAIL | Есть некоторые тонкости, которым приходится учить ------------------------------------------------------------ Все могут писать тесты | PASS | ------------------------------------------------------------ Все могут писать качественные тесты | FAIL | Приходится учить коллег, как делать тесты правильно ------------------------------------------------------------ Интеграция с Jenkins | PASS | ------------------------------------------------------------ Сьюты и тесты можно помечать тегами | ...
  17. 17. Все умеют читать и понимать логи | FAIL | Есть некоторые тонкости, которым приходится учить ------------------------------------------------------------ Все могут писать тесты | PASS | ------------------------------------------------------------ Все могут писать качественные тесты | FAIL | Приходится учить коллег, как делать тесты правильно ------------------------------------------------------------ Интеграция с Jenkins | PASS | ------------------------------------------------------------ Сьюты и тесты можно помечать тегами | PASS | ------------------------------------------------------------ Рефакторинг тестов | ...
  18. 18. Все могут писать тесты | PASS | ------------------------------------------------------------ Все могут писать качественные тесты | FAIL | Приходится учить коллег, как делать тесты правильно ------------------------------------------------------------ Интеграция с Jenkins | PASS | ------------------------------------------------------------ Сьюты и тесты можно помечать тегами | PASS | ------------------------------------------------------------ Рефакторинг тестов | FAIL | Делаем всё ручками, господа! ------------------------------------------------------------ Режим отладки | ...
  19. 19. Приходится учить коллег, как делать тесты правильно ------------------------------------------------------------ Интеграция с Jenkins | PASS | ------------------------------------------------------------ Сьюты и тесты можно помечать тегами | PASS | ------------------------------------------------------------ Рефакторинг тестов | FAIL | Делаем всё ручками, господа! ------------------------------------------------------------ Режим отладки | FAIL | Отладка для слабаков ------------------------------------------------------------ Скорость создания тестов | ...
  20. 20. Сьюты и тесты можно помечать тегами | PASS | ------------------------------------------------------------ Рефакторинг тестов | FAIL | Делаем всё ручками, господа! ------------------------------------------------------------ Режим отладки | FAIL | Отладка для слабаков ------------------------------------------------------------ Скорость создания тестов | FAIL | Возможно, мы просто что-то делаем не так? ------------------------------------------------------------ Богатый набор готовых библиотек | ...
  21. 21. Библиотеки ● Интерфейсы: Selenium, Swing, SWT, AutoIt ● Протоколы: Telnet, SSH ● Сборка: Ant, Maven, Jenkins ● Прочее: DB Library, Mabot ● ... остальная мелочёвка
  22. 22. Библиотеки ● Интерфейсы: Selenium, Swing, SWT, AutoIt ● Протоколы: Telnet, SSH ● Сборка: Ant, Maven, Jenkins ● Прочее: DB Library, Mabot ● ... остальная мелочёвка
  23. 23. ------------------------------------------------------------ Рефакторинг тестов | FAIL | Делаем всё ручками, господа! ------------------------------------------------------------ Режим отладки | FAIL | Отладка для слабаков ------------------------------------------------------------ Скорость создания тестов | FAIL | Возможно, мы просто что-то делаем не так? ------------------------------------------------------------ Богатый набор готовых библиотек | PASS | ------------------------------------------------------------ Невероятно простая интеграция с Python | ...
  24. 24. Делаем всё ручками, господа! ------------------------------------------------------------ Режим отладки | FAIL | Отладка для слабаков ------------------------------------------------------------ Скорость создания тестов | FAIL | Возможно, мы просто что-то делаем не так? ------------------------------------------------------------ Богатый набор готовых библиотек | PASS | ------------------------------------------------------------ Невероятно простая интеграция с Python | PASS | ------------------------------------------------------------ Невероятно простая интеграция с нашим приложением | ...
  25. 25. Steeve Freeman, “Fractal TDD”
  26. 26. Steeve Freeman, “Fractal TDD”
  27. 27. Отладка для слабаков ------------------------------------------------------------ Скорость создания тестов | FAIL | Возможно, мы просто что-то делаем не так? ------------------------------------------------------------ Богатый набор готовых библиотек | PASS | ------------------------------------------------------------ Невероятно простая интеграция с Python | PASS | ------------------------------------------------------------ Невероятно простая интеграция с нашим приложением | FAIL | (на самом деле нет) ------------------------------------------------------------ Переход с Selenium RC на Selenium Web Driver | ...
  28. 28. Robot Framework vs. Selenium ● SeleniumLibrary: стабильная работа, но только Selenium RC ● Selenium2Library: Selenium WebDriver, но стабильность работы не радует
  29. 29. ------------------------------------------------------------ Невероятно простая интеграция с Python | PASS | ------------------------------------------------------------ Невероятно простая интеграция с нашим приложением | FAIL | (на самом деле нет) ------------------------------------------------------------ Переход с Selenium RC на Selenium Web Driver | FAIL | Не все сторонние библиотеки одинаково хороши ------------------------------------------------------------ D.U.M.P.Опыт использования Robot Framework | PASS | 8 critical tests, 8 passed, 0 failed 15 tests total, 8 passed, 7 failed ============================================================
  30. 30. Выводы ● Инструмент хороший, но есть нюансы ● Инструмент - это ещё не всё, надо работать с людьми (с любовью, К.О.) ● Переход Selenium RC → Selenium Webdriver совсем не прост ● Задача регрессионного тестирования на текущий момент решается успешно
  31. 31. Вопросы (мои) ● Переход с Selenium RC на WebDriver ● Как лучше комбинировать тесты через интерфейс и API ● Генерация тестов (например, MBT) ahitrin@naumen.ru andrey.hitrin@gmail.com twitter.com/ahitrin nodacontact.com
  32. 32. Вопросы (ваши) Благодарю за внимание! ahitrin@naumen.ru andrey.hitrin@gmail.com twitter.com/ahitrin nodacontact.com
  33. 33. http://donate.fbk.info Секунда оффтопа

×