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

30
Проблематика Традиционно многие компании не делают достаточных инвестиций в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся: - вопросы поддержки и тестирования многих инсталяций (внедрений) продукта на стороне заказчика - вопросы тестирования (в том числе, regression) нескольких версий (бренчей, релизов) одного и того же продукта - повторно-используемость наработок в тестах (всегда есть сложные случаи, к примеру, file upload через ajax) - в том числе, и с разных проектов - возможность быстро изменять данные в тестах (чтобы применить тесты к другой инсталяции) - возможность быстро поменять значения, или даже логику use case - необходимость управлять покрытием и матчить selenium тесты на реальные бизнес-кейсы

description

Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java. XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания, и заканчивая управлением тестами. Главными конкурентными преимуществами являются - низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов - встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами - XML2Selenium это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое - все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации - XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML, и многих других.

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

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

ПроблематикаТрадиционно многие компании не делают достаточных инвестиций в QA инженеров, при

этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:

- вопросы поддержки и тестирования многих инсталяций (внедрений) продукта на стороне заказчика

- вопросы тестирования (в том числе, regression) нескольких версий (бренчей, релизов) одного и того же продукта

- повторно-используемость наработок в тестах (всегда есть сложные случаи, к примеру, file upload через ajax)

- в том числе, и с разных проектов

- возможность быстро изменять данные в тестах (чтобы применить тесты к другой инсталяции)

- возможность быстро поменять значения, или даже логику use case

- необходимость управлять покрытием и матчить selenium тесты на реальные бизнес-кейсы

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

Введение

Запуск через junit

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

Так выглядят тестыИспользование импортов, плагинов, инклюдов – Frame, а также скриптинга

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

Так выглядят тестыСкриптинг и JVM параметры. Взять скриншот.

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

Так выглядят тестыИмпорты, теги, различные действия над элементом

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

Так выглядят тестыНаследование, переопределение атрибутов

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

Так выглядят тестыНаследование от общего к частному

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

Так выглядят тестыВозможности самотестирования

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

Так выглядят тесты

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

Так выглядят тестыЗагрузка переменных из файла, самотестирование

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

ВведениеВ фреймворк заложены возможности самотестирования

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

Введение

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

ВведениеСтруктура проекта

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

Введение

Количество билдов, тестов, а также демонстрацияплагинности

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

Введение

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

Введение

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

ВведениеДерево событий

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

Введение

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

ВведениеПостроение дерева результатов для последующей обработки плагинами

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

ВведениеПостроение деревьев разбора

Имя конкретного тест кейса

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

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

Самотестирование

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

ВведениеЗадаём, для каких тестов какие ошибки выполнения должны быть

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

Введение

Облако тегов, тест кейсы и тесты, описания,Статус тестов

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

Введение

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

Введение

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

ВведениеПолный режим вывода исключений

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

ВведениеUser-mode отображения результатов

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

Сейчас/пользователь- возможность создавать качественные тесты непрограммисту

- без копи-пастов

- легко видоизменяемые

- скриптинг внутри выраженний, контексты и области видимости

- поддержка data driven

- variables

- properties (resource bundles)

- наследование в xml

- reporting

- возможность создавать отличные от junit репорты - сейчас существует business reporting

- умный логгинг

- понятные пользователю логи, exceptions messages

- в исключениях представление иерархии инклюдов, как стек трейс

- плагины

- все базовые плагины для тестирования web приложений

- navigate

- ...

- снэпшоты, скриншоты

- валидация тест кейсов

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

Сейчас/технология- возможность само-тестировать поведение, то есть писать тесты для фреймворка на этом же языке

- 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 тестов

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

Будущее/все- 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 бренч тестов, просто маркируя разные версии под разные бренчи продукта