Сервисы на базе автоматизации тестирования
DESCRIPTION
Доклад Артема Семенова на конференции SQA Days-12, 30 ноября-1 декабря, МинскTRANSCRIPT
![Page 1: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/1.jpg)
Сервисы на базе автоматизации тестированияАртем Семенов
Align Technology, Inc.
![Page 2: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/2.jpg)
Обо мне
Артем Семенов
Автоматизатор тестирования
Align Technology, Inc.
[email protected]@gmail.com
2
![Page 3: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/3.jpg)
Предметная область
• Стоматология и ортодонтия
3
![Page 4: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/4.jpg)
Предметная область
• Стоматология и ортодонтия
4
![Page 5: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/5.jpg)
Предметная область
• Стоматология и ортодонтия
5
![Page 6: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/6.jpg)
Предметная область
• Стоматология и ортодонтия
6
![Page 7: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/7.jpg)
ROCS
• Веб приложение
• Кластер виртуальных машин
• БД
• Логгер и отчеты
7
![Page 8: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/8.jpg)
ROCS
• Веб приложение
• Кластер виртуальных машин
• БД
• Логгер и отчеты
8
Выполняет QTP скрипты Централизованная кодовая база
– обновление через git
![Page 9: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/9.jpg)
ROCS
• Веб приложение
• Кластер виртуальных машин
• БД
• Логгер и отчеты
9
Информация о запусках и параметрах
Обмен информацией между скриптами
Статистика Автоматические отчеты
![Page 10: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/10.jpg)
ROCS
• Веб приложение
• Кластер виртуальных машин
• БД
• Логгер и отчеты- Фильтры- Скриншоты- Вложенные файлы- Понятны
пользователю
10
![Page 11: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/11.jpg)
ROCS
• Веб приложение
• Кластер виртуальных машин
• БД
• Логгер и отчеты
11
Смотри подробней на SQADAYS-8goo.gl/phNx2
![Page 12: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/12.jpg)
• Пользователи запускают автоматизацию для• Проверки дефекта• Выполнения регрессионного набора• Smoke test тестового стенда• Подготовки тестовых данных• Проверки состояние тестового стенда• …
Решения своей задачи
Автоматизация next gen - почему
12
![Page 13: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/13.jpg)
Автоматизация next gen - почему
• Пользователи запускают автоматизацию для• …
Решения своей задачи
Дадим им инструмент решения задачи:
13
![Page 14: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/14.jpg)
Автоматизация next gen - как
• Сервисы на основе автоматизации:
- Подготовка данных
- Запуск регрессионного набора
- Отчет о состоянии тестовых стендов
- …
14
![Page 15: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/15.jpg)
Подготовка тестовых пациентов
15
![Page 16: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/16.jpg)
Подготовка тестовых пациентов
• Задача- Генерация данных для UAT на производстве
• Особенности- Много пациентов (>1000)- Сжатые сроки(<2 недель)- Нестабильный тестовый стенд- Затрудненные коммуникации с бизнес пользователями
• Входные данные- Файлы в shared папке- Список сценариев и параметров (xls)
• Выход- Данные подготовлены- Отчет в xls
16
![Page 17: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/17.jpg)
Подготовка пациентов - проблемы
• Нестабильная тестовая среда- Скрипты падают из-за проблем окружения
• Некорректные входные файлы- Не подходят для генерации- Меняются в процессе генерации
• Большие временные затраты на коммуникацию
• Много ручной работы для команды автоматизации- Проверка данных- Запуск скриптов- Отслеживание- Перезапуски и решение проблем- Отчеты
17
![Page 18: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/18.jpg)
Подготовка пациентов - сервис
• Проверка входных файлов- Непрерывный мониторинг входных файлов- Проверка входных данных на корректность- Мониторинг изменений
• Генерация данных- Используется существующий кластер
• Отчет- Wiki-страница- Генерация в реальном времени- Понятен business пользователям- Email уведомления
18
Проверка файлов
Генерация данных
Live - отчет
![Page 19: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/19.jpg)
Подготовка пациентов – решение
• VM в сети пользователя
• Сервис на python
• Непрерывный мониторинг
• Репортинг в БД
• Вызов QTP для проверки данных
19
Проверка файлов
Генерация данных
Live - отчет
![Page 20: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/20.jpg)
Подготовка пациентов – решение
• Python сервис в ROCS кластере
• Непрерывная генерация задач
• Мониторинг выполнения скриптов
• Автоматический перезапуск
• Репортинг в БД
20
Проверка файлов
Генерация данных
Live - отчет
![Page 21: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/21.jpg)
Подготовка пациентов – решение
• Wiki страница
• Используем Confluence + SQL + Run
• Информация о проблемах свходными данными
• Информация о подготовленныхданных
• Конфигурация системы
21
Проверка файлов
Генерация данных
Live - отчет
![Page 22: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/22.jpg)
Подготовка пациентов – решение
• Wiki отчет
22
Проверка файлов
Генерация данных
Live - отчет
![Page 23: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/23.jpg)
Подготовка пациентов – результаты
23
Этап Затраты раньше Затраты сейчас
Подготовка входных данных(включая проверку)
7-12 дней (Астрономических)
3-4 дня (Астрономических)
Проверка входных данных
4 дня 0
Генерация данных,запуски, мониторинг, перезапуски
8-10 дней 0.5 дня
Отчет о сгенерированных данных (ежедневный)
1-1.5 часа 0
![Page 24: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/24.jpg)
С точки зрения пользователя
• Подготовка входных файлов до1. Положил данные в входную папку2. Написал письмо3. Подождал ответа (обычно на след. день)4. Получил ответ5. Исправил проблемы, иди к п.2
• Подготовка входных файлов после1. Положил данные во входную папку2. Получил письмо с результатами3. Исправил проблемы, иди к п.2
• Value- Быстрый отклик на изменения- Пользователь видит текущие проблемы
24
![Page 25: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/25.jpg)
С точки зрения пользователя
25
• Получение результатов до- Раз в сутки- Письмо с вложением(.xls)- Необходима конвертация данных
• Получение результатов после- В любой момент времени- Письмо о статусе раз в сутки- Eye-candy
• Value- Удобный доступ к актуальным данным- Множество представлений результатов
![Page 26: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/26.jpg)
Подготовка пациентов – результаты
• Создан сервис, который решает задачу бизнес пользователя
• Экономия (каждый цикл подготовки данных)- Пользователей – 4 дня- Команды автоматизации – 11 дней
• Более быстрая подготовка данных- Ускорение – 1.5х
• Пользователи сами контролируют качество входных данных
• Больше счастья ;)
26
![Page 27: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/27.jpg)
Запуск регрессии
27
![Page 28: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/28.jpg)
Запуск регрессии
• Задача- Провести автоматическое регрессионное тестирование
• Особенности- Большой набор различных тестов - Ограничение по времени и ресурсам- Нестабильный тестовый стенд
• Входные данные- Список сценариев для выполнения
• Выход- Отчет о результатах запусков`
28
![Page 29: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/29.jpg)
Запуск регрессии - проблемы
• Автоматический запуск- В один клик- Только весь набор- Занимает время
• Нестабильное окружение- Возможно падение скриптов из-за проблем тестового стенда- Требуется ручной перезапуск
• Ограниченность ресурсов- Кластер занят задачами других пользователей- Ручной перезапуск осуществляется в рабочее время
29
![Page 30: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/30.jpg)
Запуск регрессии - сервис
• Входные данные- Список сценариев- Временные рамки выполнения
• Процесс- Запускаем набор на выполнение- В случае падения – приоритезированный перезапуск, пока
вписывается во временные рамки- Постоянный репортинг в БД
• Результат- Wiki-страница- Результаты выполнения тестов- Ссылки на подробный лог
30
![Page 31: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/31.jpg)
Запуск регрессии - сервис
• Запуск- В один клик – из wiki или ROCS
• Особенности процесса- 100% использование доступных ресурсов- Используем результаты других пользователей на данном
тестовом окружении- Актуальная информация о выполнении - всегда в БД
• Технически- Сервис на Python- Механизм меток запуска для задачи в кластере
31
![Page 32: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/32.jpg)
Запуск регрессии - отчет
• Результаты общие:
• Для запуска:
32
![Page 33: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/33.jpg)
Запуск регрессии - результаты
• Сервис для автоматического выполнения регрессионных наборов
• Существенно экономит время пользователей
• Ручная работа по запуску и отслеживанию больше не нужна
• Устранение рутины
33
![Page 34: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/34.jpg)
Статус тестового стенда
![Page 35: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/35.jpg)
Статус тестового стенда
• Задача- Подготовить и выслать ежедневный отчет о состоянии
тестовых стендов
• Особенности- Ручной анализ результатов автоматических HC - Ручное заполнение шаблона письма- Ручное заведение тикетов в трекер
• Проблемы- Много ручной работы - Human factor
35
![Page 36: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/36.jpg)
Статус тестового стенда - сервис
• Входные данные- Информация о результатах всех запусков тестов из БД- Доступ в трекер по API (Jira)
• Процесс- Вычисляется статус стенда на основе результатов всех
полных E2E за последнее время- Автоматическая параметризованная генерация шаблона
отчета- Существующие тикеты попадают в отчет автоматически
• Результат- Готовый к рассылке шаблон отчета- Шаблон рассылается ответственным за отчет
36
![Page 37: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/37.jpg)
Статус тестового стенда - результаты
• Время подготовки отчета снизилосьс 30 минут до 10 минут
• Избавление от рутинных операций
• Устранение human factor
37
![Page 38: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/38.jpg)
Результаты
![Page 39: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/39.jpg)
Сервисы на основе АТ
• Позволяют экономить время- Пользователей автоматизации- Автоматизаторов
• Предоставляют удобный инструмент для конечных пользователей
• Просты в использовании
• Увеличивают уровень использования автоматизации
39
![Page 40: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/40.jpg)
Советы
• Логгируйте все в БД- На основе этих данных потом просто сделать сервис
• Создавайте мини веб-приложения- Сейчас это просто (WIKI, CMS)- Это удобно пользователям
• Ориентируйтесь на пользователей- Знайте их проблемы и запросы
• Автоматизация не для тестирования, она для людей!
40
![Page 41: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/41.jpg)
•Вопросы?
![Page 43: Сервисы на базе автоматизации тестирования](https://reader035.vdocuments.site/reader035/viewer/2022081512/55879e09d8b42af6748b472c/html5/thumbnails/43.jpg)
Спасибо!
43