SlideShare a Scribd company logo
Увеличиваем мощь фреймворка:
keyword driven testing + генератор кода
Введение
Введение
Зачем?
1.   Вводим новых сотрудников
2.   Уменьшаем время вхождения в работу
3.   Уменьшаем время написания тестов
4.   Добавляем новые «примочки» для клиентов
Когда?
1. Есть фреймворк
2. Желание привлечь не программистов
3. Передача части работы коллегам
Как?
1. Готовое решение
2. Реализуем его сами
Фреймворк




  High Level            DDT
Low level   ScriptExt   ODT
Фреймворк

  Генератор кода

  High Level            DDT
Low level   ScriptExt   ODT
Работа модуля

Framework

     UserForm       Client
Работа модуля

     Framework

              UserForm      Client
Templates
            Event
            Handlers


                  Libs
Работа модуля

     Framework

              UserForm      Client
Templates
            Event
            Handlers

                         Test script
                  Libs
                         Config file
Работа модуля

     Framework

              UserForm      Client
Templates
            Event
            Handlers

                         Test script
                  Libs
                         Config file
Генерируем код

//the 1st function                   //the 2nd function

If(! firstFunc() )                   If( secondFunc() )
   Log.Error(“Oops”)                    Log.Event(“Hello”)




//the 4th function                   //the 3d function

If(! fourthFunc() )                  If(! thirdFunc() )
   Log.Event(“World”)                   Log.Error(“Oops”)
Генерируем код
                          //our first test
//the 1st function        function test()            //the 2nd function
                          {
If(! firstFunc() )          try                      If( secondFunc() )
   Log.Error(“Oops”)        {                           Log.Event(“Hello”)
                              //the 1st function
                              If(! firstFunc() )
                                 Log.Error(“Oops”)

                             //the 2nd function
                             If(secondFunc())
                                Log.Event(“Hello”)
//the 4th function                                   //the 3d function
                             //the 3d function
If(! fourthFunc() )          if(! thirdFunc() )      If(! thirdFunc() )
   Log.Event(“World”)           Log.Event(“World”)      Log.Error(“Oops”)
Создаём GUI форму
Генератор кода
1.   Добавляем event handlers
2.   Пишем их реализацию
3.   Создаём хранилища шаблонов кода
4.   Создаём интерпретатор
Функционал для реализации
1. Динамическое обновление API
2. Разнообразие опций для настройки тестов
3. Генерация скрипта с тестом, его проверка
   и запуск
Плюсы, минусы
1. Плюсы
 1. Нет необходимости в дополнительных
    навыках
 2. Отсутствие интеграционных проблем
 3. Наглядно понятный интерфейс
2. Минус
 1. Нет возможности строить форму используя
    UML блоки
Вопросы

More Related Content

PDF
REPL в Node.js: улучшаем быт разработчик
PDF
PDF
Pundle для менджемента зависимостей в python проектах
PPTX
Равиль Губайдуллин - Annotation processing
PDF
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
PPTX
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
PPTX
PPTX
Обработка исключений
REPL в Node.js: улучшаем быт разработчик
Pundle для менджемента зависимостей в python проектах
Равиль Губайдуллин - Annotation processing
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Обработка исключений

What's hot (19)

PPT
Белым по черному или альтернативное использование unit-тестирования
PPTX
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
PPT
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
PDF
Анализ указателей в программах с вызовами библиотечных функций
PDF
урок 3 6 класс
PPTX
Елена Жукова "Жизнь вне JavaScript"
PDF
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
PDF
TeaVM: dead code elimination and devirtualization
PPTX
Java Core. Lecture#6. Part#1. Generics.
PDF
Автоматизация UI-тестирования следующего поколения
PDF
JavaScript Базовый. Занятие 03.
PPTX
PythonGuI+PyQT
PPTX
Java Core. Lecture# 3. Part# 2. Exceptions.
PDF
C++ STL & Qt. Занятие 10.
PDF
Rust: история языка и контекст применения
PPT
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
PPTX
Luxoft async.net
PPT
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
PPT
WhileRepeat
Белым по черному или альтернативное использование unit-тестирования
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
Анализ указателей в программах с вызовами библиотечных функций
урок 3 6 класс
Елена Жукова "Жизнь вне JavaScript"
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
TeaVM: dead code elimination and devirtualization
Java Core. Lecture#6. Part#1. Generics.
Автоматизация UI-тестирования следующего поколения
JavaScript Базовый. Занятие 03.
PythonGuI+PyQT
Java Core. Lecture# 3. Part# 2. Exceptions.
C++ STL & Qt. Занятие 10.
Rust: история языка и контекст применения
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Luxoft async.net
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
WhileRepeat
Ad

Viewers also liked (20)

PPT
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
PPTX
Автоматизированное тестирование сложного ПО
PPTX
Автоматизация тестирования модели разграничения прав доступа к функционалу
PDF
Использование cygwin для автоматизации процессов тестирования в Windows
PPTX
Вирусное тестирование. Что-то новое в конфигурационном тестировании
PPTX
Выбор и внедрение инструмента - с чего начать?
PPTX
Становление программы внутренних аудитов: от требований сертификации до обесп...
PPTX
Качество софта ДО и ПОСЛЕ защиты этого софта от пиратства: как сравнять эти в...
PPTX
Разработка методики тестирования производительности комплекса систем
PPT
Тестирование в среде заказчика (Live Environment). Зачем мы это делаем?
PDF
Эволюция средств тестирования от HP
PPTX
Особенности тестирования сloud-приложений
PPT
Практика создания удаленного офиса тестирования
PPT
10 советов художника тестировщику
PDF
Истории про перезапуск компании и тестирование
PPTX
Жизненный цикл коммуникативных дефектов
PPTX
Непрерывное тестирование для улучшения качества кода
PPTX
Тестирование и техподдержка брак или сотрудничество?
PPTX
Добавляем гибкости в тестирование
PPTX
Очередь на тестирование
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
Автоматизированное тестирование сложного ПО
Автоматизация тестирования модели разграничения прав доступа к функционалу
Использование cygwin для автоматизации процессов тестирования в Windows
Вирусное тестирование. Что-то новое в конфигурационном тестировании
Выбор и внедрение инструмента - с чего начать?
Становление программы внутренних аудитов: от требований сертификации до обесп...
Качество софта ДО и ПОСЛЕ защиты этого софта от пиратства: как сравнять эти в...
Разработка методики тестирования производительности комплекса систем
Тестирование в среде заказчика (Live Environment). Зачем мы это делаем?
Эволюция средств тестирования от HP
Особенности тестирования сloud-приложений
Практика создания удаленного офиса тестирования
10 советов художника тестировщику
Истории про перезапуск компании и тестирование
Жизненный цикл коммуникативных дефектов
Непрерывное тестирование для улучшения качества кода
Тестирование и техподдержка брак или сотрудничество?
Добавляем гибкости в тестирование
Очередь на тестирование
Ad

More from SQALab (20)

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

Увеличиваем мощь фреймворка Kdt & code`s generator