Keyword-driven framework

977 views

Published on

Доклад Михаила Субоча на конференции SQA Days-12, 30 ноября-1 декабря, Минск

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
977
On SlideShare
0
From Embeds
0
Number of Embeds
93
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Строгое разделение логики теста от реализации даёт основные преимущества 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 фреймворк обеспечивает быстрое и успешное внедрение автоматизацииЕсть возможность скачать ядро, использовать и расширять дальше.Ведётся работа над реализацией новых фич, можно присоединиться.
  • Keyword-driven framework

    1. 1. Keyword-drivenфреймворкМихаил Субоч
    2. 2. KEYWORD-DRIVEN ФРЕЙМВОРКАвтор доклада – Михаил Субоч • 8 лет в автоматизации • Автор 3-х фреймворков • Создатель TAF Core • Misha.Suboch@gmail .com • @Scorpibear • http://lifeidea.org/ 2
    3. 3. KEYWORD-DRIVEN ФРЕЙМВОРКAgenda – Архитектура – Артефакты – Процесс использования – Как минимизировать время поддержки – Как не наступить на грабли – Характеристики идеального фреймворка – Быстрое внедрение подхода на проекте 3
    4. 4. АРХИТЕКТУРА KEYWORD-DRIVEN ФРЕЙМВОРКАРазделение логики и реализации 4
    5. 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
    6. 6. АРХИТЕКТУРА KEYWORD-DRIVEN ФРЕЙМВОРКАВзаимодействие с инструментом задание Фреймворк Инструмент отчёт 6
    7. 7. КАК ВЫГЛЯДЯТ АРТЕФАКТЫСценарий – логика теста 7
    8. 8. КАК ВЫГЛЯДЯТ АРТЕФАКТЫСценарий – логика теста 8
    9. 9. КАК ВЫГЛЯДЯТ АРТЕФАКТЫKeyword –шаг теста с параметрами 9
    10. 10. КАК ВЫГЛЯДЯТ АРТЕФАКТЫТестовые данные можно переиспользовать 10
    11. 11. КАК ВЫГЛЯДЯТ АРТЕФАКТЫОтчѐт о выполнении ясно сообщает об ошибке 11
    12. 12. ИДЕАЛЬНЫЙ ПРОЦЕСС ИСПОЛЬЗОВАНИЯ АВТОМАТИЗАЦИИ НА ПРОЕКТЕТесты постоянно запускаются 12
    13. 13. ИДЕАЛЬНЫЙ ПРОЦЕСС ИСПОЛЬЗОВАНИЯ АВТОМАТИЗАЦИИ НА ПРОЕКТЕОптимальный процесс автоматизации Дизайн Отладка Код 13
    14. 14. КАК МИНИМИЗИРОВАТЬ ВРЕМЯ ПОДДЕРЖКИ5 слоѐв всех успешных фреймворков данные логика шаги утилиты объекты 14
    15. 15. КАК МИНИМИЗИРОВАТЬ ВРЕМЯ ПОДДЕРЖКИПостоянная оптимизация процесса 15
    16. 16. КАК НЕ НАСТУПИТЬ НА ГРАБЛИБыстрая смерть - программирование в ExcelIF GetDBUsersCount()>0 THEN =GETDATA(SearcACTION SEARCH hTable!A3) 16
    17. 17. КАК НЕ НАСТУПИТЬ НА ГРАБЛИНезапускаемые тесты бесполезны Польза от автоматизации:ROI = ((MET – TRA) * N – WST) * 52 – ASDIF N=0 => ROI<0 17
    18. 18. КАК НЕ НАСТУПИТЬ НА ГРАБЛИЛомаем утром, строим ночью• 9:00 – 13:00Техническая реализация• 14:00 – 18:00Дизайн тестов 18
    19. 19. КАК НЕ НАСТУПИТЬ НА ГРАБЛИданные | логика | шаги | утилиты | объекты данные логика шаги утилиты объекты 19
    20. 20. ХАРАКТЕРИСТИКИ ФРЕЙМВОРКА БУДУЩЕГОАдаптация, эволюция, доступность 20
    21. 21. KEYWORD-DRIVEN ФРЕЙМВОРКВопросы • Миша Субоч / Mikhail Subach • Test Automation Solutions Group • @Scorpibear • http://lifeidea.org/ 21
    22. 22. ЗАКЛЮЧЕНИЕБыстрое внедрение keyword-driven подхода Используем готовый фреймворк Разрабатываем тесты Реализуем шаги 22
    23. 23. Keyword-driven TAFМихаил Субочmisha.suboch@gmail.comTwitter: @Scorpibearhttp://sourceforge.net/projects/tafcore 23

    ×