SlideShare a Scribd company logo
1 of 15
Software quality assurance
days20 Международная конференция
по вопросам качества ПО
sqadays.com
Минск. 24–26 ноября 2016
Андрей Петухов
Raiffeisenbank, Москва, Россия
Использование LR-парсера для упрощения
создания спецификаций автотестов
Использование LR-парсера для упрощения создания спецификаций автотестов
О себе
• инженер по автоматизации
тестирования
• ~10 проектов по АТ
• 3 года в сфере
Использование LR-парсера для упрощения создания спецификаций автотестов
Содержание доклада
• причины и предпосылки создания решения;
• техническая сторона вопроса;
• положительные стороны, подводные камни и границы
применимости решения.
Использование LR-парсера для упрощения создания спецификаций автотестов
Целесообразность команды АТ?
• сложно набрать команду;
• она не всегда нужна;
• дублируется работа ФТ.
Использование LR-парсера для упрощения создания спецификаций автотестов
«Схлопывание» АТ и ФТ
• ускорение IT процессов;
• автоматизация работы
руками.
Использование LR-парсера для упрощения создания спецификаций автотестов
Техническая реализация
Использование LR-парсера для упрощения создания спецификаций автотестов
REST API
• переиспользование
инфраструктуры;
• минимальное влияние на
процесс.
Использование LR-парсера для упрощения создания спецификаций автотестов
Пример разработанного
автотеста
Использование LR-парсера для упрощения создания спецификаций автотестов
Томита-парсер
• LR-парсер;
• разбиение текста на
факты;
• подходящий формат
разбора.
Использование LR-парсера для упрощения создания спецификаций автотестов
Пример грамматики
S -> ActionType<fw> interp (DataTable.ActionType) AnyWord* (1)
(ElementType<~r-quoted,~l-quoted,~quoted> interp (DataTable.ElementType)) AnyWord* (2)
(ElementName interp (DataTable.ElementName::not_norm)) AnyWord* (3)
(ActionValue interp (DataTable.ActionValue)) AnyWord* (4)
Например:
Ввести (1) в текстовое поле (2) «ФИО» (3) значение «Иванов Иван Петрович» (4)
Использование LR-парсера для упрощения создания спецификаций автотестов
Результат работы парсера
Использование LR-парсера для упрощения создания спецификаций автотестов
Фреймворк
• переиспользование
наработок;
• смена парадигмы;
• нужна только поддержка.
Использование LR-парсера для упрощения создания спецификаций автотестов
Трудности
• переход на новую парадигму написания тестов;
• неоднозначность языка;
• сложно заранее определить возможные и
необходимые действия.
Использование LR-парсера для упрощения создания спецификаций автотестов
Выгоды
• упрощение автоматизации тестирования;
• уменьшение порога вхождения;
• единое информационное пространство для работы;
• АТ понятна всем участникам процесса;
• автоматизация – часть процесса разработки.
Использование LR-парсера для упрощения создания спецификаций автотестов
Спасибо!
e-mail: petukhov.bm@gmail.com

More Related Content

Viewers also liked

Тестирование слоёного пирога
Тестирование слоёного пирогаТестирование слоёного пирога
Тестирование слоёного пирогаSQALab
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?SQALab
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системыSQALab
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияSQALab
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыSQALab
 
"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложностиSQALab
 
Micro Model Based Testing
Micro Model Based TestingMicro Model Based Testing
Micro Model Based TestingSQALab
 
Подход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerПодход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerSQALab
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and ToolTEST Huddle
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...SQALab
 
Тестирование систем с большим количеством входных данных или как достичь цели...
Тестирование систем с большим количеством входных данных или как достичь цели...Тестирование систем с большим количеством входных данных или как достичь цели...
Тестирование систем с большим количеством входных данных или как достичь цели...SQALab
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
С чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletС чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletSQALab
 
Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахSQALab
 
Оптимизация процесса тестирования с использованием аналитических подходов RCA...
Оптимизация процесса тестирования с использованием аналитических подходов RCA...Оптимизация процесса тестирования с использованием аналитических подходов RCA...
Оптимизация процесса тестирования с использованием аналитических подходов RCA...SQALab
 

Viewers also liked (15)

Тестирование слоёного пирога
Тестирование слоёного пирогаТестирование слоёного пирога
Тестирование слоёного пирога
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестирования
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
 
"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности
 
Micro Model Based Testing
Micro Model Based TestingMicro Model Based Testing
Micro Model Based Testing
 
Подход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerПодход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL Server
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
Тестирование систем с большим количеством входных данных или как достичь цели...
Тестирование систем с большим количеством входных данных или как достичь цели...Тестирование систем с большим количеством входных данных или как достичь цели...
Тестирование систем с большим количеством входных данных или как достичь цели...
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
С чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletС чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi Wallet
 
Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибках
 
Оптимизация процесса тестирования с использованием аналитических подходов RCA...
Оптимизация процесса тестирования с использованием аналитических подходов RCA...Оптимизация процесса тестирования с использованием аналитических подходов RCA...
Оптимизация процесса тестирования с использованием аналитических подходов RCA...
 

More from SQALab

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

More from 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 или как тест-менеджеру перекроить внут...
 

Использование LR-парсера для упрощения создания спецификаций автотестов

  • 1. Software quality assurance days20 Международная конференция по вопросам качества ПО sqadays.com Минск. 24–26 ноября 2016 Андрей Петухов Raiffeisenbank, Москва, Россия Использование LR-парсера для упрощения создания спецификаций автотестов
  • 2. Использование LR-парсера для упрощения создания спецификаций автотестов О себе • инженер по автоматизации тестирования • ~10 проектов по АТ • 3 года в сфере
  • 3. Использование LR-парсера для упрощения создания спецификаций автотестов Содержание доклада • причины и предпосылки создания решения; • техническая сторона вопроса; • положительные стороны, подводные камни и границы применимости решения.
  • 4. Использование LR-парсера для упрощения создания спецификаций автотестов Целесообразность команды АТ? • сложно набрать команду; • она не всегда нужна; • дублируется работа ФТ.
  • 5. Использование LR-парсера для упрощения создания спецификаций автотестов «Схлопывание» АТ и ФТ • ускорение IT процессов; • автоматизация работы руками.
  • 6. Использование LR-парсера для упрощения создания спецификаций автотестов Техническая реализация
  • 7. Использование LR-парсера для упрощения создания спецификаций автотестов REST API • переиспользование инфраструктуры; • минимальное влияние на процесс.
  • 8. Использование LR-парсера для упрощения создания спецификаций автотестов Пример разработанного автотеста
  • 9. Использование LR-парсера для упрощения создания спецификаций автотестов Томита-парсер • LR-парсер; • разбиение текста на факты; • подходящий формат разбора.
  • 10. Использование LR-парсера для упрощения создания спецификаций автотестов Пример грамматики S -> ActionType<fw> interp (DataTable.ActionType) AnyWord* (1) (ElementType<~r-quoted,~l-quoted,~quoted> interp (DataTable.ElementType)) AnyWord* (2) (ElementName interp (DataTable.ElementName::not_norm)) AnyWord* (3) (ActionValue interp (DataTable.ActionValue)) AnyWord* (4) Например: Ввести (1) в текстовое поле (2) «ФИО» (3) значение «Иванов Иван Петрович» (4)
  • 11. Использование LR-парсера для упрощения создания спецификаций автотестов Результат работы парсера
  • 12. Использование LR-парсера для упрощения создания спецификаций автотестов Фреймворк • переиспользование наработок; • смена парадигмы; • нужна только поддержка.
  • 13. Использование LR-парсера для упрощения создания спецификаций автотестов Трудности • переход на новую парадигму написания тестов; • неоднозначность языка; • сложно заранее определить возможные и необходимые действия.
  • 14. Использование LR-парсера для упрощения создания спецификаций автотестов Выгоды • упрощение автоматизации тестирования; • уменьшение порога вхождения; • единое информационное пространство для работы; • АТ понятна всем участникам процесса; • автоматизация – часть процесса разработки.
  • 15. Использование LR-парсера для упрощения создания спецификаций автотестов Спасибо! e-mail: petukhov.bm@gmail.com