ݺߣ

ݺߣShare a Scribd company logo
Проблематика
Традиционно многие компании не делают достаточных инвестиций в QA инженеров, при
     этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в
     барьер, когда архитектура тестов становится сравнительно такого же уровня, как и
     архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми
     проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций (внедрений) продукта на стороне
     заказчика
- вопросы тестирования (в том числе, regression) нескольких версий (бренчей, релизов)
     одного и того же продукта
- повторно-используемость наработок в тестах (всегда есть сложные случаи, к примеру, file
     upload через ajax)
     - в том числе, и с разных проектов
- возможность быстро изменять данные в тестах (чтобы применить тесты к другой
     инсталяции)
- возможность быстро поменять значения, или даже логику use case
- необходимость управлять покрытием и матчить selenium тесты на реальные бизнес-кейсы
Введение
Запуск через junit
Так выглядят тесты
 Использование импортов, плагинов,
 инклюдов – Frame, а также скриптинга
Так выглядят тесты
 Скриптинг и JVM параметры. Взять скриншот.
Так выглядят тесты
Импорты, теги, различные действия над элементом
Так выглядят тесты
Наследование, переопределение атрибутов
Так выглядят тесты
 Наследование от общего к частному
Так выглядят тесты
  Возможности самотестирования
Так выглядят тесты
Так выглядят тесты
Загрузка переменных из файла, самотестирование
Введение
В фреймворк заложены возможности самотестирования
Введение
Введение
Структура проекта
Введение



Количество билдов, тестов, а
также демонстрация
плагинности
Введение
Введение
Введение
Дерево событий
Введение
Введение
Построение дерева результатов для последующей обработки плагинами
Введение
Построение деревьев разбора




   Имя конкретного тест кейса
Введение
Output папка для каждого теста




      Самотестирование
Введение
Задаём, для каких тестов какие ошибки выполнения должны быть
Введение
Облако тегов, тест кейсы и тесты, описания,
Статус тестов
Введение
Введение
Введение
Полный режим вывода исключений
Введение
User-mode отображения результатов
Сейчас/пользователь
- возможность создавать качественные тесты непрограммисту
     - без копи-пастов
     - легко видоизменяемые
- скриптинг внутри выраженний, контексты и области видимости
- поддержка data driven
     - variables
     - properties (resource bundles)
- наследование в xml
- reporting
     - возможность создавать отличные от junit репорты - сейчас существует business reporting
- умный логгинг
     - понятные пользователю логи, exceptions messages
     - в исключениях представление иерархии инклюдов, как стек трейс
- плагины
     - все базовые плагины для тестирования web приложений
              - navigate
              - ...
     - снэпшоты, скриншоты
- валидация тест кейсов
Сейчас/технология
- возможность само-тестировать поведение, то есть писать тесты для фреймворка на этом же языке
       - expected exception/exception message для всех тестов
- плагинность
       - точки расширений, простое API, позволяющее расширять фреймворк новыми тегами, а также видоизменять поведение
       фреймворка
       - разбиение по тегам
       - репозитории плагинов и xml-инклюдов на основе maven + nexus
- интеграция с selenium
       - отсутствие зависимости от selenium, потенциальная возможность использовать другой инструмент
- интеграция с junit + jenkins
       - независимость от junit, jenkins, maven
                 - возможность создания своих раннеров, которые смогут кастомизировать работу фреймворка - веб раннер
                 - масштабизация на клауд
- thread saved, возможность запуска сколько угодно версий ядра, запись данных в разные output директории
- возможность создавать тесты, в которых запускается ядро для прогона одного теста на xml с последующим программным анализом
       результатов
- репорты для бизнес-пользователя в стиле bdd, какой угодно формат репортов
       - tags
       - ссылка на изначальный код тестов в виде XML
- минимум программирования - jaxb
- возможность написания плагинов без XSD, просто как java бины
- преимущества для коробочных продуктов
       - возможность изменять properties для одного и того же набора XML тестов
Будущее/все
- XML2Selenium platform
       - заложена архитектура для поддержки направления load testing
- возможность удалённого дебага на сервере не на уровне java кода фреймворка, но на уровне xml test cases
- infrustructure
       - eclipse plugin - simple editor for creating new tests even without knowing xml
- validation
       - advanced validation - валидация комбинаций xsd + java beans
- data driven testing
       - рандомизация данных
- plugins
       - поддержка if/for тегов для XML тестов
       - technical reporting plugin
- возможность обмениваться переменными между контекстами тестов и script-вставках на java script или groovy

** product company
- преимущества для коробочных продуктов
      - держать 1 бренч тестов, просто маркируя разные версии под разные бренчи продукта

More Related Content

Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium

  • 1. Проблематика Традиционно многие компании не делают достаточных инвестиций в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся: - вопросы поддержки и тестирования многих инсталяций (внедрений) продукта на стороне заказчика - вопросы тестирования (в том числе, regression) нескольких версий (бренчей, релизов) одного и того же продукта - повторно-используемость наработок в тестах (всегда есть сложные случаи, к примеру, file upload через ajax) - в том числе, и с разных проектов - возможность быстро изменять данные в тестах (чтобы применить тесты к другой инсталяции) - возможность быстро поменять значения, или даже логику use case - необходимость управлять покрытием и матчить selenium тесты на реальные бизнес-кейсы
  • 3. Так выглядят тесты Использование импортов, плагинов, инклюдов – Frame, а также скриптинга
  • 4. Так выглядят тесты Скриптинг и JVM параметры. Взять скриншот.
  • 5. Так выглядят тесты Импорты, теги, различные действия над элементом
  • 6. Так выглядят тесты Наследование, переопределение атрибутов
  • 7. Так выглядят тесты Наследование от общего к частному
  • 8. Так выглядят тесты Возможности самотестирования
  • 10. Так выглядят тесты Загрузка переменных из файла, самотестирование
  • 11. Введение В фреймворк заложены возможности самотестирования
  • 14. Введение Количество билдов, тестов, а также демонстрация плагинности
  • 19. Введение Построение дерева результатов для последующей обработки плагинами
  • 20. Введение Построение деревьев разбора Имя конкретного тест кейса
  • 21. Введение Output папка для каждого теста Самотестирование
  • 22. Введение Задаём, для каких тестов какие ошибки выполнения должны быть
  • 23. Введение Облако тегов, тест кейсы и тесты, описания, Статус тестов
  • 28. Сейчас/пользователь - возможность создавать качественные тесты непрограммисту - без копи-пастов - легко видоизменяемые - скриптинг внутри выраженний, контексты и области видимости - поддержка data driven - variables - properties (resource bundles) - наследование в xml - reporting - возможность создавать отличные от junit репорты - сейчас существует business reporting - умный логгинг - понятные пользователю логи, exceptions messages - в исключениях представление иерархии инклюдов, как стек трейс - плагины - все базовые плагины для тестирования web приложений - navigate - ... - снэпшоты, скриншоты - валидация тест кейсов
  • 29. Сейчас/технология - возможность само-тестировать поведение, то есть писать тесты для фреймворка на этом же языке - expected exception/exception message для всех тестов - плагинность - точки расширений, простое API, позволяющее расширять фреймворк новыми тегами, а также видоизменять поведение фреймворка - разбиение по тегам - репозитории плагинов и xml-инклюдов на основе maven + nexus - интеграция с selenium - отсутствие зависимости от selenium, потенциальная возможность использовать другой инструмент - интеграция с junit + jenkins - независимость от junit, jenkins, maven - возможность создания своих раннеров, которые смогут кастомизировать работу фреймворка - веб раннер - масштабизация на клауд - thread saved, возможность запуска сколько угодно версий ядра, запись данных в разные output директории - возможность создавать тесты, в которых запускается ядро для прогона одного теста на xml с последующим программным анализом результатов - репорты для бизнес-пользователя в стиле bdd, какой угодно формат репортов - tags - ссылка на изначальный код тестов в виде XML - минимум программирования - jaxb - возможность написания плагинов без XSD, просто как java бины - преимущества для коробочных продуктов - возможность изменять properties для одного и того же набора XML тестов
  • 30. Будущее/все - XML2Selenium platform - заложена архитектура для поддержки направления load testing - возможность удалённого дебага на сервере не на уровне java кода фреймворка, но на уровне xml test cases - infrustructure - eclipse plugin - simple editor for creating new tests even without knowing xml - validation - advanced validation - валидация комбинаций xsd + java beans - data driven testing - рандомизация данных - plugins - поддержка if/for тегов для XML тестов - technical reporting plugin - возможность обмениваться переменными между контекстами тестов и script-вставках на java script или groovy ** product company - преимущества для коробочных продуктов - держать 1 бренч тестов, просто маркируя разные версии под разные бренчи продукта