Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,192 views

Published on

  • Be the first to comment

  • Be the first to like this

А. Хитрин "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 Секунда оффтопа

×