2. KEYWORD-DRIVEN ФРЕЙМВОРК
Автор доклада – Михаил Субоч
• 8 лет в
автоматизации
• Автор 3-х
фреймворков
• Создатель TAF Core
• Misha.Suboch@gmail
.com
• @Scorpibear
• http://lifeidea.org/
2
3. KEYWORD-DRIVEN ФРЕЙМВОРК
Agenda
– Архитектура
– Артефакты
– Процесс использования
– Как минимизировать время поддержки
– Как не наступить на грабли
– Характеристики идеального фреймворка
– Быстрое внедрение подхода на проекте
3
5. АРХИТЕКТУРА KEYWORD-DRIVEN ФРЕЙМВОРКА
Архитектура Keyword-Driven TAF
Test Scenario 1
Test Scenario 2 Test Bug List
Test Scenario N
Automation Tool TAF
Custom
Run TAF.exe TAF Core
Automation tool
Another
Automation tool
XML
HTML Test Reports
Tool Specific
5
Строгое разделение логики теста от реализации даёт основные преимущества keyword-driven подхода
Существует универсальный контроллерСвязь Ядро-агент позволяет гибко масштабировать автоматизацию.
Простейший протокол общения между инструментом\\языком и фреймворком ускоряет внедрение новых инструментов.Всё что непривязано к инструменту и приложению должно оставаться за рамками инструмента и специфичного для приложения кода.
Сценарий позволяет удобно читать и конструировать новые тестыСо сценарием в первую очередь должно быть удобно работать тестировщику.
Сценарий позволяет удобно читать и конструировать новые тестыСо сценарием в первую очередь должно быть удобно работать тестировщику.
Степ является самостоятельным кирпичиком переиспользуемый в разных тестах
Тестовые данные должны максимально переиспользоватьсяДизайн работы с тестовыми данными должен изначально предполагать локализацию и параллелизацию.
Тест должен быстро и ясно сообщать в чём ошибка
Тесты постоянно запускаютсяДва CI настроенные сразу – для стабилизации тестов и для тестирования приложения обеспечивают выживание фреймворка.
Автоматизаторы пишут код, тестировщики пишут тесты.Фреймворк не позволяющий нарушить идеальный процесс минимизирует риски в разы.
Хранение данных отдельно позволяет гибко изменять тесты без необходимости влазить в код или устанавливать специальные инструменты.Все живучие фреймворки приходят к разделению на 5 слоёв. Data/Scenario/Step/Utils/Object.
Хороший фреймворк позволяет быстро адаптироваться к изменениям.Периодическое ведение хронометража выявляет самые медленные процессы
Программирование в Excel убивает подход на корню.
ROI – return of investmentMET – manual test execution time + bugs submitting timeAET – automation execution timeTRA – automation test results analysis + bugs submitting timeWST – week support timeASD – automation script creation timeНезапускаемые тесты означают нулевую пользу, никто не поддержит.Мышление автоматизатора позволяет постоянно повышать эффективность фреймворка.
Чёткое разделение по ролям дизайнера теста и заставляющего это заработать.
Возможность составлять комплексные степы из базовых помогают выживать фреймворку в долгосрочной перспективе.Держите данные, логику, степы, утилиты и объекты в разных местах.
Независимость от технологии позволяет быстро адаптироваться в быстро изменяющемся миреВозможность аккумуляции требований разных проектов позволяет жить вечно и эволюционировать.Тесты можно придумывать тем, кто может придумывать тесты.Если любой человек сможет его использовать, значит, его будут использовать.
Единый keyword-driven фреймворк обеспечивает быстрое и успешное внедрение автоматизацииЕсть возможность скачать ядро, использовать и расширять дальше.Ведётся работа над реализацией новых фич, можно присоединиться.