ݺߣ

ݺߣShare a Scribd company logo
Software quality assurance days
21 Международная конференция
по вопросам качества ПО
sqadays.com
Москва. 26–27 мая 2017
Крючков Владимир
Группа Полипластик. Москва, Россия
Использование игровой модели для выполнения
сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестов
О чем будем говорить

Определимся с начальными условиями

Поговорим о создании сценариев

Введем игроков

Опишем их поведение

Подгрузим данные и настроим задания

Запускаем «игру»

Смотрим результаты
Использование игровой модели для выполнения сложных сценарных тестов
Почему
 Сложная логика и процессы продукта
 Частое изменение функционала
 Сложность создания новых сценариев
 Для покрытия продукта нужно много тестов
 Сложность поддержки большого пула
сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестов
Что мы тестируем
Продажи
Склад
Производство
ФинансыЛогистика
Закупки
Обмен данными
ERP 2.0
с
изменениями
Использование игровой модели для выполнения сложных сценарных тестов
Что хотим и в чем заключается игра
Что хотим:
Проверить функциональность программы с большим покрытием, но так
чтобы она сама думала над комбинациями, понимала логику работы.
Математически:
Система выводится из равновесия, а робот с помощью “правил”
возвращает ее в изначальное состояние.
Функционально (на примере):
Клиенты «боты» заказывают товары, а сотрудники «боты» системы
обслуживают эти запросы.
Использование игровой модели для выполнения сложных сценарных тестов
Что делаем
1. Рисуем схемы основных процессов в нотации BPMN
2. Выделяем в каждой схеме одинаковые блоки/действия
3. Создаем XML-схему UI действий для блоков
4. Создаем таблицы с описанием связей
5. Выделяем пользователей по функциональному
признаку (игроки)
6. Создаем модели игроков
Использование игровой модели для выполнения сложных сценарных тестов
Схема процесса BPMN
Использование игровой модели для выполнения сложных сценарных тестов
Декомпозиция процесса
1. Делим по функциональному признаку
2. Делим по уровню доступа
3. Учитываем объект данных
4. Учитываем формы (списков, элементов,
выбора)
5. Не мельчим
Использование игровой модели для выполнения сложных сценарных тестов
Пример разбиения процесса на блоки
Б1
Б6
Б3
Б2
Б5
Б4
Использование игровой модели для выполнения сложных сценарных тестов
Создаем UI блоки действий по логу
Используем лог
журнала действий
создаваемый
системой –
самообучение и
автоподстройка
Использование игровой модели для выполнения сложных сценарных тестов
Создаем UI блоки действий в конструкторе
Используем
графический
конструктор
Использование игровой модели для выполнения сложных сценарных тестов
Определяемся с игроками
 Клиент – делает, оплачивает и получает
заказ
 Менеджер – оформляет, анализирует,
закрывает заказ, выставляет счет и
формирует документы отгрузки
 Кладовщик – оформляет отгрузку товара
клиенту
Использование игровой модели для выполнения сложных сценарных тестов
Поведение описываем конечными автоматами
Вкл.
Выкл.
Использование игровой модели для выполнения сложных сценарных тестов
Схема состояний для менеджера
Начало
Ожидание
Отгружаем
Выставить
счетНовый
заказ
оплата
звонок переход
переход
переход
переход
Использование игровой модели для выполнения сложных сценарных тестов
Как запускаем
Свой
велосипед
Сценарные
тесты
jUnit XML
отчет
Использование игровой модели для выполнения сложных сценарных тестов
Что из себя представляет игрок
Библиотека
сценарных
тестов
Таблица
переходов
Таблицы
связей
Имитатор
менеджера
Использование игровой модели для выполнения сложных сценарных тестов
Перед запуском
1. Формируем вектор входных состояний
2. Создаем матрицу комбинаций по вектору
3. Масштабируем на клиентов, сотрудников
4. Помещаем на временную шкалу
5. Можно запускать игру
Использование игровой модели для выполнения сложных сценарных тестов
Схема игрового стенда
Сервер
управления
игрой
Управление
Отчеты
База 1С
ERP 2.0
Клиент
Менеджер
Кладовщик
Приложения 1С
Использование игровой модели для выполнения сложных сценарных тестов
Куда смотрим, на что обращаем внимание

Лог ошибок по репортам

Лог журнала действий системы

Отказы и блокировки цепочек

Смотрим за балансом - все клиенты
должны быть обслужены

Отслеживаем рост красных показателей по
APDEX
Использование игровой модели для выполнения сложных сценарных тестов
С чем столкнулись, и как решили
 Система меняется - для поиска элементов
используем алгоритмы в комбинации по имени,
представлению и иерархии
 В журналах действий много мусора – поэтому
выкидываем редкие и с отклонениями (статистика)
 Система не всегда работает как хотели – поэтому
руками ищем проблемные участки и исправляем
Использование игровой модели для выполнения сложных сценарных тестов
Как выглядит игра технически
Использование игровой модели для выполнения сложных сценарных тестов
Смотрим детальные отчеты действий
Использование игровой модели для выполнения сложных сценарных тестов
Что мы получаем
 Имитация реальной работы пользователей
 Робот быстрее/ дешевле/ не устает/
современней
 Можем проводить нагрузочное
тестирование приближенное к реальному
 Снижение трудозатрат
Использование игровой модели для выполнения сложных сценарных тестов
Спасибо за внимание
к.т.н. Крючков Владимир
Вячеславович
kruchkov.v@polyplastic.ru
admin660@rambler.ru

More Related Content

What's hot (20)

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
SQALab
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
SQALab
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
SQALab
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Positive Hack Days
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
qasib
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
SQALab
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
SQALab
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testingWPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
SQALab
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Positive Hack Days
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
SQALab
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
Positive Hack Days
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
SQALab
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
CEE-SEC(R)
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
SQALab
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
SQALab
Первый шаг на пути к тестированию белого ящика для сложных систем
Первый шаг на пути к тестированию белого ящика для сложных системПервый шаг на пути к тестированию белого ящика для сложных систем
Первый шаг на пути к тестированию белого ящика для сложных систем
SQALab
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
SQALab
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
SQALab
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
SQALab
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Positive Hack Days
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
qasib
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
SQALab
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
SQALab
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testingWPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
SQALab
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Positive Hack Days
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
SQALab
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
Positive Hack Days
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
SQALab
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
CEE-SEC(R)
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
SQALab
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
SQALab
Первый шаг на пути к тестированию белого ящика для сложных систем
Первый шаг на пути к тестированию белого ящика для сложных системПервый шаг на пути к тестированию белого ящика для сложных систем
Первый шаг на пути к тестированию белого ящика для сложных систем
SQALab
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam

Similar to Использование игровой модели для выполнения сложных сценарных тестов (20)

AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
Кварта Технологии
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
Кварта Технологии
Formal Verification of a Linux Security Module
Formal Verification of a Linux Security ModuleFormal Verification of a Linux Security Module
Formal Verification of a Linux Security Module
Denis Efremov
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Pryaniky.com
Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring Framework
CUSTIS
Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
Microsoft
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
ScrumTrek
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
QADay
автоматизация тестирования веб приложений павел липский
автоматизация тестирования веб приложений   павел липскийавтоматизация тестирования веб приложений   павел липский
автоматизация тестирования веб приложений павел липский
Media Gorod
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требований
Denis Beskov
платформа научных симуляторов Gpu digital lab
платформа научных симуляторов Gpu digital labплатформа научных симуляторов Gpu digital lab
платформа научных симуляторов Gpu digital lab
Oleg Gubanov
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
Mikalai Alimenkou
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
SQALab
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работа
MATLAB
Тестирование производительности систем мониторинга на платформе Microsoft SCO...
Тестирование производительности систем мониторинга на платформе Microsoft SCO...Тестирование производительности систем мониторинга на платформе Microsoft SCO...
Тестирование производительности систем мониторинга на платформе Microsoft SCO...
SQALab
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
LiloSEA
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
Кварта Технологии
Formal Verification of a Linux Security Module
Formal Verification of a Linux Security ModuleFormal Verification of a Linux Security Module
Formal Verification of a Linux Security Module
Denis Efremov
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Pryaniky.com
Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring Framework
CUSTIS
Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
Microsoft
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
ScrumTrek
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
QADay
автоматизация тестирования веб приложений павел липский
автоматизация тестирования веб приложений   павел липскийавтоматизация тестирования веб приложений   павел липский
автоматизация тестирования веб приложений павел липский
Media Gorod
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требований
Denis Beskov
платформа научных симуляторов Gpu digital lab
платформа научных симуляторов Gpu digital labплатформа научных симуляторов Gpu digital lab
платформа научных симуляторов Gpu digital lab
Oleg Gubanov
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
SQALab
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работа
MATLAB
Тестирование производительности систем мониторинга на платформе Microsoft SCO...
Тестирование производительности систем мониторинга на платформе Microsoft SCO...Тестирование производительности систем мониторинга на платформе Microsoft SCO...
Тестирование производительности систем мониторинга на платформе Microsoft SCO...
SQALab
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
LiloSEA
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
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 testing
SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
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
Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
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 testing
SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
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

Использование игровой модели для выполнения сложных сценарных тестов

  • 1. Software quality assurance days 21 Международная конференция по вопросам качества ПО sqadays.com Москва. 26–27 мая 2017 Крючков Владимир Группа Полипластик. Москва, Россия Использование игровой модели для выполнения сложных сценарных тестов
  • 2. Использование игровой модели для выполнения сложных сценарных тестов О чем будем говорить  Определимся с начальными условиями  Поговорим о создании сценариев  Введем игроков  Опишем их поведение  Подгрузим данные и настроим задания  Запускаем «игру»  Смотрим результаты
  • 3. Использование игровой модели для выполнения сложных сценарных тестов Почему  Сложная логика и процессы продукта  Частое изменение функционала  Сложность создания новых сценариев  Для покрытия продукта нужно много тестов  Сложность поддержки большого пула сценарных тестов
  • 4. Использование игровой модели для выполнения сложных сценарных тестов Что мы тестируем Продажи Склад Производство ФинансыЛогистика Закупки Обмен данными ERP 2.0 с изменениями
  • 5. Использование игровой модели для выполнения сложных сценарных тестов Что хотим и в чем заключается игра Что хотим: Проверить функциональность программы с большим покрытием, но так чтобы она сама думала над комбинациями, понимала логику работы. Математически: Система выводится из равновесия, а робот с помощью “правил” возвращает ее в изначальное состояние. Функционально (на примере): Клиенты «боты» заказывают товары, а сотрудники «боты» системы обслуживают эти запросы.
  • 6. Использование игровой модели для выполнения сложных сценарных тестов Что делаем 1. Рисуем схемы основных процессов в нотации BPMN 2. Выделяем в каждой схеме одинаковые блоки/действия 3. Создаем XML-схему UI действий для блоков 4. Создаем таблицы с описанием связей 5. Выделяем пользователей по функциональному признаку (игроки) 6. Создаем модели игроков
  • 7. Использование игровой модели для выполнения сложных сценарных тестов Схема процесса BPMN
  • 8. Использование игровой модели для выполнения сложных сценарных тестов Декомпозиция процесса 1. Делим по функциональному признаку 2. Делим по уровню доступа 3. Учитываем объект данных 4. Учитываем формы (списков, элементов, выбора) 5. Не мельчим
  • 9. Использование игровой модели для выполнения сложных сценарных тестов Пример разбиения процесса на блоки Б1 Б6 Б3 Б2 Б5 Б4
  • 10. Использование игровой модели для выполнения сложных сценарных тестов Создаем UI блоки действий по логу Используем лог журнала действий создаваемый системой – самообучение и автоподстройка
  • 11. Использование игровой модели для выполнения сложных сценарных тестов Создаем UI блоки действий в конструкторе Используем графический конструктор
  • 12. Использование игровой модели для выполнения сложных сценарных тестов Определяемся с игроками  Клиент – делает, оплачивает и получает заказ  Менеджер – оформляет, анализирует, закрывает заказ, выставляет счет и формирует документы отгрузки  Кладовщик – оформляет отгрузку товара клиенту
  • 13. Использование игровой модели для выполнения сложных сценарных тестов Поведение описываем конечными автоматами Вкл. Выкл.
  • 14. Использование игровой модели для выполнения сложных сценарных тестов Схема состояний для менеджера Начало Ожидание Отгружаем Выставить счетНовый заказ оплата звонок переход переход переход переход
  • 15. Использование игровой модели для выполнения сложных сценарных тестов Как запускаем Свой велосипед Сценарные тесты jUnit XML отчет
  • 16. Использование игровой модели для выполнения сложных сценарных тестов Что из себя представляет игрок Библиотека сценарных тестов Таблица переходов Таблицы связей Имитатор менеджера
  • 17. Использование игровой модели для выполнения сложных сценарных тестов Перед запуском 1. Формируем вектор входных состояний 2. Создаем матрицу комбинаций по вектору 3. Масштабируем на клиентов, сотрудников 4. Помещаем на временную шкалу 5. Можно запускать игру
  • 18. Использование игровой модели для выполнения сложных сценарных тестов Схема игрового стенда Сервер управления игрой Управление Отчеты База 1С ERP 2.0 Клиент Менеджер Кладовщик Приложения 1С
  • 19. Использование игровой модели для выполнения сложных сценарных тестов Куда смотрим, на что обращаем внимание  Лог ошибок по репортам  Лог журнала действий системы  Отказы и блокировки цепочек  Смотрим за балансом - все клиенты должны быть обслужены  Отслеживаем рост красных показателей по APDEX
  • 20. Использование игровой модели для выполнения сложных сценарных тестов С чем столкнулись, и как решили  Система меняется - для поиска элементов используем алгоритмы в комбинации по имени, представлению и иерархии  В журналах действий много мусора – поэтому выкидываем редкие и с отклонениями (статистика)  Система не всегда работает как хотели – поэтому руками ищем проблемные участки и исправляем
  • 21. Использование игровой модели для выполнения сложных сценарных тестов Как выглядит игра технически
  • 22. Использование игровой модели для выполнения сложных сценарных тестов Смотрим детальные отчеты действий
  • 23. Использование игровой модели для выполнения сложных сценарных тестов Что мы получаем  Имитация реальной работы пользователей  Робот быстрее/ дешевле/ не устает/ современней  Можем проводить нагрузочное тестирование приближенное к реальному  Снижение трудозатрат
  • 24. Использование игровой модели для выполнения сложных сценарных тестов Спасибо за внимание к.т.н. Крючков Владимир Вячеславович kruchkov.v@polyplastic.ru admin660@rambler.ru