SlideShare une entreprise Scribd logo
1  sur  23
Keyword-driven
фреймворк
Михаил Субоч
KEYWORD-DRIVEN ФРЕЙМВОРК


Автор доклада – Михаил Субоч

                           • 8 лет в
                             автоматизации
                           • Автор 3-х
                             фреймворков
                           • Создатель TAF Core
                           • Misha.Suboch@gmail
                             .com
                           •   @Scorpibear
                           • http://lifeidea.org/




                                                    2
KEYWORD-DRIVEN ФРЕЙМВОРК


Agenda
     – Архитектура
     – Артефакты
     – Процесс использования
     – Как минимизировать время поддержки
     – Как не наступить на грабли
     – Характеристики идеального фреймворка
     – Быстрое внедрение подхода на проекте




                                              3
АРХИТЕКТУРА KEYWORD-DRIVEN ФРЕЙМВОРКА


Разделение логики и реализации




                                        4
АРХИТЕКТУРА 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 ФРЕЙМВОРКА


Взаимодействие с инструментом


                                        задание

  Фреймворк                                       Инструмент

                                         отчёт




                                                               6
КАК ВЫГЛЯДЯТ АРТЕФАКТЫ


Сценарий – логика теста




                          7
КАК ВЫГЛЯДЯТ АРТЕФАКТЫ


Сценарий – логика теста




                          8
КАК ВЫГЛЯДЯТ АРТЕФАКТЫ


Keyword –шаг теста с параметрами




                                   9
КАК ВЫГЛЯДЯТ АРТЕФАКТЫ


Тестовые данные можно переиспользовать




                                         10
КАК ВЫГЛЯДЯТ АРТЕФАКТЫ


Отчѐт о выполнении ясно сообщает об ошибке




                                       11
ИДЕАЛЬНЫЙ ПРОЦЕСС ИСПОЛЬЗОВАНИЯ АВТОМАТИЗАЦИИ НА ПРОЕКТЕ


Тесты постоянно запускаются




                                                           12
ИДЕАЛЬНЫЙ ПРОЦЕСС ИСПОЛЬЗОВАНИЯ АВТОМАТИЗАЦИИ НА ПРОЕКТЕ


Оптимальный процесс автоматизации


                                     Дизайн




        Отладка                                            Код


                                                                 13
КАК МИНИМИЗИРОВАТЬ ВРЕМЯ ПОДДЕРЖКИ


5 слоѐв всех успешных фреймворков

                                     данные


                                     логика


                                      шаги


                                     утилиты


                                     объекты


                                               14
КАК МИНИМИЗИРОВАТЬ ВРЕМЯ ПОДДЕРЖКИ


Постоянная оптимизация процесса




                                     15
КАК НЕ НАСТУПИТЬ НА ГРАБЛИ


Быстрая смерть - программирование в Excel




IF                 GetDBUsersCount()>0   THEN


                                         =GETDATA(Searc
ACTION SEARCH                            hTable!A3)




                                                     16
КАК НЕ НАСТУПИТЬ НА ГРАБЛИ


Незапускаемые тесты бесполезны


                       Польза от автоматизации:
ROI = ((MET – TRA) * N – WST) * 52 – ASD



IF N=0 => ROI<0

                                                  17
КАК НЕ НАСТУПИТЬ НА ГРАБЛИ


Ломаем утром, строим ночью

• 9:00 – 13:00
Техническая реализация

• 14:00 – 18:00
Дизайн тестов


                             18
КАК НЕ НАСТУПИТЬ НА ГРАБЛИ


данные | логика | шаги | утилиты | объекты

                             данные


                             логика


                              шаги


                             утилиты


                             объекты


                                             19
ХАРАКТЕРИСТИКИ ФРЕЙМВОРКА БУДУЩЕГО


Адаптация, эволюция, доступность




                                     20
KEYWORD-DRIVEN ФРЕЙМВОРК


Вопросы


                           • Миша Субоч /
                             Mikhail Subach
                           • Test Automation
                             Solutions Group
                           •     @Scorpibear
                           • http://lifeidea.org/




                                                    21
ЗАКЛЮЧЕНИЕ


Быстрое внедрение keyword-driven подхода

             Используем готовый
                 фреймворк


              Разрабатываем тесты



                    Реализуем шаги


                                           22
Keyword-driven TAF

Михаил Субоч

misha.suboch@gmail.com

Twitter: @Scorpibear


http://sourceforge.net/projects/tafcore
                                          23

Contenu connexe

Tendances

Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Maksim Grinevich
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
SQALab
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QA
Andriy Krayniy
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)
Paul Stashevsky
 

Tendances (13)

Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Физическое моделирование объекта управления
Физическое моделирование объекта управленияФизическое моделирование объекта управления
Физическое моделирование объекта управления
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
VivaMP, система выявления ошибок в коде параллельных программ на языке С++, и...
VivaMP, система выявления ошибок в коде параллельных программ на языке С++, и...VivaMP, система выявления ошибок в коде параллельных программ на языке С++, и...
VivaMP, система выявления ошибок в коде параллельных программ на языке С++, и...
 
Создание модели ЭП
Создание модели ЭПСоздание модели ЭП
Создание модели ЭП
 
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решенияИлья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложности
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QA
 
Тест-менеджмент и баг-треккинг в SpiraTest
Тест-менеджмент и баг-треккинг в SpiraTestТест-менеджмент и баг-треккинг в SpiraTest
Тест-менеджмент и баг-треккинг в SpiraTest
 
Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)Разработка и сопровождении авто-тестов (Selenium)
Разработка и сопровождении авто-тестов (Selenium)
 
Refactoring
RefactoringRefactoring
Refactoring
 

En vedette

Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
SQALab
 
Путь к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструментуПуть к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструменту
SQALab
 
Пример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docsПример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docs
SQALab
 
Не баг-трекер, а ...
Не баг-трекер, а ...Не баг-трекер, а ...
Не баг-трекер, а ...
SQALab
 

En vedette (20)

Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
От ручного тестирования к автоматическому: опыт внедрения в крупном проекте
От ручного тестирования к автоматическому: опыт внедрения в крупном проектеОт ручного тестирования к автоматическому: опыт внедрения в крупном проекте
От ручного тестирования к автоматическому: опыт внедрения в крупном проекте
 
Мини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на WebМини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на Web
 
Оптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализацийОптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализаций
 
Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)
 
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...
 
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированиюМодель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
 
Метрики покрытия. Прагматичный подход
Метрики покрытия. Прагматичный подходМетрики покрытия. Прагматичный подход
Метрики покрытия. Прагматичный подход
 
Путь к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструментуПуть к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструменту
 
Пример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docsПример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docs
 
Keyword driven testing
Keyword driven testingKeyword driven testing
Keyword driven testing
 
Организация времени в тестировании
Организация времени в тестированииОрганизация времени в тестировании
Организация времени в тестировании
 
Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
 
"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестирования
 
Micro Model Based Testing
Micro Model Based TestingMicro Model Based Testing
Micro Model Based Testing
 
Не баг-трекер, а ...
Не баг-трекер, а ...Не баг-трекер, а ...
Не баг-трекер, а ...
 

Similaire à Keyword-driven framework

Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
Gleb Rybalko
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
yaevents
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?
Mykhailo Poliarush
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
KiraKeiss
 

Similaire à Keyword-driven framework (20)

Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Autotest
AutotestAutotest
Autotest
 
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM RationalЛучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?
 
вгу презентация
вгу презентациявгу презентация
вгу презентация
 
Mva stf module 5 - rus
Mva stf module 5 - rusMva stf module 5 - rus
Mva stf module 5 - rus
 
Модельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkМодельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и Simulink
 
Совершенный тестовый фреймворк
Совершенный тестовый фреймворкСовершенный тестовый фреймворк
Совершенный тестовый фреймворк
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Какая польза от метрик?
Какая польза от метрик?Какая польза от метрик?
Какая польза от метрик?
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
Безопасная разработка приложений на практике
Безопасная разработка приложений на практикеБезопасная разработка приложений на практике
Безопасная разработка приложений на практике
 

Plus de SQALab

Plus de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Keyword-driven framework

Notes de l'éditeur

  1. Строгое разделение логики теста от реализации даёт основные преимущества keyword-driven подхода
  2. Существует универсальный контроллерСвязь Ядро-агент позволяет гибко масштабировать автоматизацию.
  3. Простейший протокол общения между инструментом\\языком и фреймворком ускоряет внедрение новых инструментов.Всё что непривязано к инструменту и приложению должно оставаться за рамками инструмента и специфичного для приложения кода.
  4. Сценарий позволяет удобно читать и конструировать новые тестыСо сценарием в первую очередь должно быть удобно работать тестировщику.
  5. Сценарий позволяет удобно читать и конструировать новые тестыСо сценарием в первую очередь должно быть удобно работать тестировщику.
  6. Степ является самостоятельным кирпичиком переиспользуемый в разных тестах
  7. Тестовые данные должны максимально переиспользоватьсяДизайн работы с тестовыми данными должен изначально предполагать локализацию и параллелизацию.
  8. Тест должен быстро и ясно сообщать в чём ошибка
  9. Тесты постоянно запускаютсяДва CI настроенные сразу – для стабилизации тестов и для тестирования приложения обеспечивают выживание фреймворка.
  10. Автоматизаторы пишут код, тестировщики пишут тесты.Фреймворк не позволяющий нарушить идеальный процесс минимизирует риски в разы.
  11. Хранение данных отдельно позволяет гибко изменять тесты без необходимости влазить в код или устанавливать специальные инструменты.Все живучие фреймворки приходят к разделению на 5 слоёв. Data/Scenario/Step/Utils/Object.
  12. Хороший фреймворк позволяет быстро адаптироваться к изменениям.Периодическое ведение хронометража выявляет самые медленные процессы
  13. Программирование в Excel убивает подход на корню.
  14. 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Незапускаемые тесты означают нулевую пользу, никто не поддержит.Мышление автоматизатора позволяет постоянно повышать эффективность фреймворка.
  15. Чёткое разделение по ролям дизайнера теста и заставляющего это заработать.
  16. Возможность составлять комплексные степы из базовых помогают выживать фреймворку в долгосрочной перспективе.Держите данные, логику, степы, утилиты и объекты в разных местах.
  17. Независимость от технологии позволяет быстро адаптироваться в быстро изменяющемся миреВозможность аккумуляции требований разных проектов позволяет жить вечно и эволюционировать.Тесты можно придумывать тем, кто может придумывать тесты.Если любой человек сможет его использовать, значит, его будут использовать.
  18. Единый keyword-driven фреймворк обеспечивает быстрое и успешное внедрение автоматизацииЕсть возможность скачать ядро, использовать и расширять дальше.Ведётся работа над реализацией новых фич, можно присоединиться.