SlideShare a Scribd company logo
1 of 41
Download to read offline
Robot Framework
сводки с фронта
Андрей Хитрин, Noda. -- D.U.M.P.’2014
NODA
● Софт для создания контакт-центров
● Основные языки: Java, Python, C++
● Много унаследованного кода
============================================================
D.U.M.P.Критерии выбора фреймворка
============================================================
Язык, знакомый нашим разработчикам | PASS |
------------------------------------------------------------
============================================================
D.U.M.P.Критерии выбора фреймворка
============================================================
Язык, знакомый нашим разработчикам | PASS |
------------------------------------------------------------
Хорошая читаемость тестов | PASS |
------------------------------------------------------------
============================================================
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
============================================================
www.failconf.ru
============================================================
D.U.M.P.Опыт использования Robot Framework
============================================================
Читаемость тестов | ...
Список телефонов автоматически сортируется
Создать кейс и зайти в него
Задать номера телефонов 11 22 33 44 55
Страница должна содержать текст 11 | 22 | 33 | 44 |
55
При просмотре формы из кейса должны быть атрибуты Клиента
Добавить физического клиента ${CLIENT_NAME}
69420813888
Подготовить форму с атрибутом ${LAST_NAME_ATTR}
Добавить каталог в проект
Зайти в кейс определенного клиента ${CLIENT_NAME}
Открыть диалог по ссылке ${FORM_LINK}
Страница должна содержать текст ${LAST_NAME_ATTR}
[Teardown] Закрыть всплывающее окно и перейти на
главное
============================================================
D.U.M.P.Опыт использования Robot Framework
============================================================
Читаемость тестов | PASS |
------------------------------------------------------------
Разные форматы хранения: HTML, TXT, TSV | ...
============================================================
D.U.M.P.Опыт использования Robot Framework
============================================================
Читаемость тестов | PASS |
------------------------------------------------------------
Разные форматы хранения: HTML, TXT, TSV | PASS |
------------------------------------------------------------
Архидетальные логи | ...
============================================================
D.U.M.P.Опыт использования Robot Framework
============================================================
Читаемость тестов | PASS |
------------------------------------------------------------
Разные форматы хранения: HTML, TXT, TSV | PASS |
------------------------------------------------------------
Архидетальные логи | PASS |
------------------------------------------------------------
Все умеют читать и понимать логи | ...
============================================================
D.U.M.P.Опыт использования Robot Framework
============================================================
Читаемость тестов | PASS |
------------------------------------------------------------
Разные форматы хранения: HTML, TXT, TSV | PASS |
------------------------------------------------------------
Архидетальные логи | PASS |
------------------------------------------------------------
Все умеют читать и понимать логи | FAIL |
Есть некоторые тонкости, которым приходится учить
------------------------------------------------------------
Все могут писать тесты | ...
============================================================
Читаемость тестов | PASS |
------------------------------------------------------------
Разные форматы хранения: HTML, TXT, TSV | PASS |
------------------------------------------------------------
Архидетальные логи | PASS |
------------------------------------------------------------
Все умеют читать и понимать логи | FAIL |
Есть некоторые тонкости, которым приходится учить
------------------------------------------------------------
Все могут писать тесты | PASS |
------------------------------------------------------------
Все могут писать качественные тесты | ...
Разные форматы хранения: HTML, TXT, TSV | PASS |
------------------------------------------------------------
Архидетальные логи | PASS |
------------------------------------------------------------
Все умеют читать и понимать логи | FAIL |
Есть некоторые тонкости, которым приходится учить
------------------------------------------------------------
Все могут писать тесты | PASS |
------------------------------------------------------------
Все могут писать качественные тесты | FAIL |
Приходится учить коллег, как делать тесты правильно
------------------------------------------------------------
Интеграция с Jenkins | ...
Архидетальные логи | PASS |
------------------------------------------------------------
Все умеют читать и понимать логи | FAIL |
Есть некоторые тонкости, которым приходится учить
------------------------------------------------------------
Все могут писать тесты | PASS |
------------------------------------------------------------
Все могут писать качественные тесты | FAIL |
Приходится учить коллег, как делать тесты правильно
------------------------------------------------------------
Интеграция с Jenkins | PASS |
------------------------------------------------------------
Сьюты и тесты можно помечать тегами | ...
Все умеют читать и понимать логи | FAIL |
Есть некоторые тонкости, которым приходится учить
------------------------------------------------------------
Все могут писать тесты | PASS |
------------------------------------------------------------
Все могут писать качественные тесты | FAIL |
Приходится учить коллег, как делать тесты правильно
------------------------------------------------------------
Интеграция с Jenkins | PASS |
------------------------------------------------------------
Сьюты и тесты можно помечать тегами | PASS |
------------------------------------------------------------
Рефакторинг тестов | ...
Все могут писать тесты | PASS |
------------------------------------------------------------
Все могут писать качественные тесты | FAIL |
Приходится учить коллег, как делать тесты правильно
------------------------------------------------------------
Интеграция с Jenkins | PASS |
------------------------------------------------------------
Сьюты и тесты можно помечать тегами | PASS |
------------------------------------------------------------
Рефакторинг тестов | FAIL |
Делаем всё ручками, господа!
------------------------------------------------------------
Режим отладки | ...
Приходится учить коллег, как делать тесты правильно
------------------------------------------------------------
Интеграция с Jenkins | PASS |
------------------------------------------------------------
Сьюты и тесты можно помечать тегами | PASS |
------------------------------------------------------------
Рефакторинг тестов | FAIL |
Делаем всё ручками, господа!
------------------------------------------------------------
Режим отладки | FAIL |
Отладка для слабаков
------------------------------------------------------------
Скорость создания тестов | ...
Сьюты и тесты можно помечать тегами | PASS |
------------------------------------------------------------
Рефакторинг тестов | FAIL |
Делаем всё ручками, господа!
------------------------------------------------------------
Режим отладки | FAIL |
Отладка для слабаков
------------------------------------------------------------
Скорость создания тестов | FAIL |
Возможно, мы просто что-то делаем не так?
------------------------------------------------------------
Богатый набор готовых библиотек | ...
Библиотеки
● Интерфейсы: Selenium, Swing, SWT, AutoIt
● Протоколы: Telnet, SSH
● Сборка: Ant, Maven, Jenkins
● Прочее: DB Library, Mabot
● ... остальная мелочёвка
Библиотеки
● Интерфейсы: Selenium, Swing, SWT, AutoIt
● Протоколы: Telnet, SSH
● Сборка: Ant, Maven, Jenkins
● Прочее: DB Library, Mabot
● ... остальная мелочёвка
------------------------------------------------------------
Рефакторинг тестов | FAIL |
Делаем всё ручками, господа!
------------------------------------------------------------
Режим отладки | FAIL |
Отладка для слабаков
------------------------------------------------------------
Скорость создания тестов | FAIL |
Возможно, мы просто что-то делаем не так?
------------------------------------------------------------
Богатый набор готовых библиотек | PASS |
------------------------------------------------------------
Невероятно простая интеграция с Python | ...
Делаем всё ручками, господа!
------------------------------------------------------------
Режим отладки | FAIL |
Отладка для слабаков
------------------------------------------------------------
Скорость создания тестов | FAIL |
Возможно, мы просто что-то делаем не так?
------------------------------------------------------------
Богатый набор готовых библиотек | PASS |
------------------------------------------------------------
Невероятно простая интеграция с Python | PASS |
------------------------------------------------------------
Невероятно простая интеграция с нашим приложением | ...
Steeve Freeman, “Fractal TDD”
Steeve Freeman, “Fractal TDD”
Отладка для слабаков
------------------------------------------------------------
Скорость создания тестов | FAIL |
Возможно, мы просто что-то делаем не так?
------------------------------------------------------------
Богатый набор готовых библиотек | PASS |
------------------------------------------------------------
Невероятно простая интеграция с Python | PASS |
------------------------------------------------------------
Невероятно простая интеграция с нашим приложением | FAIL |
(на самом деле нет)
------------------------------------------------------------
Переход с Selenium RC на Selenium Web Driver | ...
Robot Framework vs. Selenium
● SeleniumLibrary: стабильная работа, но
только Selenium RC
● Selenium2Library: Selenium WebDriver, но
стабильность работы не радует
------------------------------------------------------------
Невероятно простая интеграция с 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
============================================================
Выводы
● Инструмент хороший, но есть нюансы
● Инструмент - это ещё не всё, надо
работать с людьми (с любовью, К.О.)
● Переход Selenium RC → Selenium Webdriver
совсем не прост
● Задача регрессионного тестирования на
текущий момент решается успешно
Вопросы (мои)
● Переход с Selenium RC на WebDriver
● Как лучше комбинировать тесты через
интерфейс и API
● Генерация тестов (например, MBT)
ahitrin@naumen.ru
andrey.hitrin@gmail.com
twitter.com/ahitrin
nodacontact.com
Вопросы (ваши)
Благодарю за внимание!
ahitrin@naumen.ru
andrey.hitrin@gmail.com
twitter.com/ahitrin
nodacontact.com
http://donate.fbk.info
Секунда оффтопа

More Related Content

More from it-people

«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
it-people
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
it-people
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
it-people
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
it-people
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
it-people
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
it-people
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
it-people
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
it-people
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
it-people
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
it-people
 
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
it-people
 

More from it-people (20)

«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
 
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
ЗАВИСИМОСТИ В КОМПОНЕНТНОМ ВЕБЕ, ПРИГОТОВЛЕННЫЕ ПРАВИЛЬНО, Гриненко Владимир,...
 

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

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