Top Banner
Сервисы на базе автоматизации тестирования Артем Семенов Align Technology, Inc.
43

Сервисы на базе автоматизации тестирования

Jun 22, 2015

Download

Education

SQALab

Доклад Артема Семенова на конференции SQA Days-12, 30 ноября-1 декабря, Минск
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Сервисы на базе автоматизации тестирования

Сервисы на базе автоматизации тестированияАртем Семенов

Align Technology, Inc.

Page 2: Сервисы на базе автоматизации тестирования

Обо мне

Артем Семенов

Автоматизатор тестирования

Align Technology, Inc.

[email protected]@gmail.com

2

Page 3: Сервисы на базе автоматизации тестирования

Предметная область

• Стоматология и ортодонтия

3

Page 4: Сервисы на базе автоматизации тестирования

Предметная область

• Стоматология и ортодонтия

4

Page 5: Сервисы на базе автоматизации тестирования

Предметная область

• Стоматология и ортодонтия

5

Page 6: Сервисы на базе автоматизации тестирования

Предметная область

• Стоматология и ортодонтия

6

Page 7: Сервисы на базе автоматизации тестирования

ROCS

• Веб приложение

• Кластер виртуальных машин

• БД

• Логгер и отчеты

7

Page 8: Сервисы на базе автоматизации тестирования

ROCS

• Веб приложение

• Кластер виртуальных машин

• БД

• Логгер и отчеты

8

Выполняет QTP скрипты Централизованная кодовая база

– обновление через git

Page 9: Сервисы на базе автоматизации тестирования

ROCS

• Веб приложение

• Кластер виртуальных машин

• БД

• Логгер и отчеты

9

Информация о запусках и параметрах

Обмен информацией между скриптами

Статистика Автоматические отчеты

Page 10: Сервисы на базе автоматизации тестирования

ROCS

• Веб приложение

• Кластер виртуальных машин

• БД

• Логгер и отчеты- Фильтры- Скриншоты- Вложенные файлы- Понятны

пользователю

10

Page 11: Сервисы на базе автоматизации тестирования

ROCS

• Веб приложение

• Кластер виртуальных машин

• БД

• Логгер и отчеты

11

Смотри подробней на SQADAYS-8goo.gl/phNx2

Page 12: Сервисы на базе автоматизации тестирования

• Пользователи запускают автоматизацию для• Проверки дефекта• Выполнения регрессионного набора• Smoke test тестового стенда• Подготовки тестовых данных• Проверки состояние тестового стенда• …

Решения своей задачи

Автоматизация next gen - почему

12

Page 13: Сервисы на базе автоматизации тестирования

Автоматизация next gen - почему

• Пользователи запускают автоматизацию для• …

Решения своей задачи

Дадим им инструмент решения задачи:

13

Page 14: Сервисы на базе автоматизации тестирования

Автоматизация next gen - как

• Сервисы на основе автоматизации:

- Подготовка данных

- Запуск регрессионного набора

- Отчет о состоянии тестовых стендов

- …

14

Page 15: Сервисы на базе автоматизации тестирования

Подготовка тестовых пациентов

15

Page 16: Сервисы на базе автоматизации тестирования

Подготовка тестовых пациентов

• Задача- Генерация данных для UAT на производстве

• Особенности- Много пациентов (>1000)- Сжатые сроки(<2 недель)- Нестабильный тестовый стенд- Затрудненные коммуникации с бизнес пользователями

• Входные данные- Файлы в shared папке- Список сценариев и параметров (xls)

• Выход- Данные подготовлены- Отчет в xls

16

Page 17: Сервисы на базе автоматизации тестирования

Подготовка пациентов - проблемы

• Нестабильная тестовая среда- Скрипты падают из-за проблем окружения

• Некорректные входные файлы- Не подходят для генерации- Меняются в процессе генерации

• Большие временные затраты на коммуникацию

• Много ручной работы для команды автоматизации- Проверка данных- Запуск скриптов- Отслеживание- Перезапуски и решение проблем- Отчеты

17

Page 18: Сервисы на базе автоматизации тестирования

Подготовка пациентов - сервис

• Проверка входных файлов- Непрерывный мониторинг входных файлов- Проверка входных данных на корректность- Мониторинг изменений

• Генерация данных- Используется существующий кластер

• Отчет- Wiki-страница- Генерация в реальном времени- Понятен business пользователям- Email уведомления

18

Проверка файлов

Генерация данных

Live - отчет

Page 19: Сервисы на базе автоматизации тестирования

Подготовка пациентов – решение

• VM в сети пользователя

• Сервис на python

• Непрерывный мониторинг

• Репортинг в БД

• Вызов QTP для проверки данных

19

Проверка файлов

Генерация данных

Live - отчет

Page 20: Сервисы на базе автоматизации тестирования

Подготовка пациентов – решение

• Python сервис в ROCS кластере

• Непрерывная генерация задач

• Мониторинг выполнения скриптов

• Автоматический перезапуск

• Репортинг в БД

20

Проверка файлов

Генерация данных

Live - отчет

Page 21: Сервисы на базе автоматизации тестирования

Подготовка пациентов – решение

• Wiki страница

• Используем Confluence + SQL + Run

• Информация о проблемах свходными данными

• Информация о подготовленныхданных

• Конфигурация системы

21

Проверка файлов

Генерация данных

Live - отчет

Page 22: Сервисы на базе автоматизации тестирования

Подготовка пациентов – решение

• Wiki отчет

22

Проверка файлов

Генерация данных

Live - отчет

Page 23: Сервисы на базе автоматизации тестирования

Подготовка пациентов – результаты

23

Этап Затраты раньше Затраты сейчас

Подготовка входных данных(включая проверку)

7-12 дней (Астрономических)

3-4 дня (Астрономических)

Проверка входных данных

4 дня 0

Генерация данных,запуски, мониторинг, перезапуски

8-10 дней 0.5 дня

Отчет о сгенерированных данных (ежедневный)

1-1.5 часа 0

Page 24: Сервисы на базе автоматизации тестирования

С точки зрения пользователя

• Подготовка входных файлов до1. Положил данные в входную папку2. Написал письмо3. Подождал ответа (обычно на след. день)4. Получил ответ5. Исправил проблемы, иди к п.2

• Подготовка входных файлов после1. Положил данные во входную папку2. Получил письмо с результатами3. Исправил проблемы, иди к п.2

• Value- Быстрый отклик на изменения- Пользователь видит текущие проблемы

24

Page 25: Сервисы на базе автоматизации тестирования

С точки зрения пользователя

25

• Получение результатов до- Раз в сутки- Письмо с вложением(.xls)- Необходима конвертация данных

• Получение результатов после- В любой момент времени- Письмо о статусе раз в сутки- Eye-candy

• Value- Удобный доступ к актуальным данным- Множество представлений результатов

Page 26: Сервисы на базе автоматизации тестирования

Подготовка пациентов – результаты

• Создан сервис, который решает задачу бизнес пользователя

• Экономия (каждый цикл подготовки данных)- Пользователей – 4 дня- Команды автоматизации – 11 дней

• Более быстрая подготовка данных- Ускорение – 1.5х

• Пользователи сами контролируют качество входных данных

• Больше счастья ;)

26

Page 27: Сервисы на базе автоматизации тестирования

Запуск регрессии

27

Page 28: Сервисы на базе автоматизации тестирования

Запуск регрессии

• Задача- Провести автоматическое регрессионное тестирование

• Особенности- Большой набор различных тестов - Ограничение по времени и ресурсам- Нестабильный тестовый стенд

• Входные данные- Список сценариев для выполнения

• Выход- Отчет о результатах запусков`

28

Page 29: Сервисы на базе автоматизации тестирования

Запуск регрессии - проблемы

• Автоматический запуск- В один клик- Только весь набор- Занимает время

• Нестабильное окружение- Возможно падение скриптов из-за проблем тестового стенда- Требуется ручной перезапуск

• Ограниченность ресурсов- Кластер занят задачами других пользователей- Ручной перезапуск осуществляется в рабочее время

29

Page 30: Сервисы на базе автоматизации тестирования

Запуск регрессии - сервис

• Входные данные- Список сценариев- Временные рамки выполнения

• Процесс- Запускаем набор на выполнение- В случае падения – приоритезированный перезапуск, пока

вписывается во временные рамки- Постоянный репортинг в БД

• Результат- Wiki-страница- Результаты выполнения тестов- Ссылки на подробный лог

30

Page 31: Сервисы на базе автоматизации тестирования

Запуск регрессии - сервис

• Запуск- В один клик – из wiki или ROCS

• Особенности процесса- 100% использование доступных ресурсов- Используем результаты других пользователей на данном

тестовом окружении- Актуальная информация о выполнении - всегда в БД

• Технически- Сервис на Python- Механизм меток запуска для задачи в кластере

31

Page 32: Сервисы на базе автоматизации тестирования

Запуск регрессии - отчет

• Результаты общие:

• Для запуска:

32

Page 33: Сервисы на базе автоматизации тестирования

Запуск регрессии - результаты

• Сервис для автоматического выполнения регрессионных наборов

• Существенно экономит время пользователей

• Ручная работа по запуску и отслеживанию больше не нужна

• Устранение рутины

33

Page 34: Сервисы на базе автоматизации тестирования

Статус тестового стенда

Page 35: Сервисы на базе автоматизации тестирования

Статус тестового стенда

• Задача- Подготовить и выслать ежедневный отчет о состоянии

тестовых стендов

• Особенности- Ручной анализ результатов автоматических HC - Ручное заполнение шаблона письма- Ручное заведение тикетов в трекер

• Проблемы- Много ручной работы - Human factor

35

Page 36: Сервисы на базе автоматизации тестирования

Статус тестового стенда - сервис

• Входные данные- Информация о результатах всех запусков тестов из БД- Доступ в трекер по API (Jira)

• Процесс- Вычисляется статус стенда на основе результатов всех

полных E2E за последнее время- Автоматическая параметризованная генерация шаблона

отчета- Существующие тикеты попадают в отчет автоматически

• Результат- Готовый к рассылке шаблон отчета- Шаблон рассылается ответственным за отчет

36

Page 37: Сервисы на базе автоматизации тестирования

Статус тестового стенда - результаты

• Время подготовки отчета снизилосьс 30 минут до 10 минут

• Избавление от рутинных операций

• Устранение human factor

37

Page 38: Сервисы на базе автоматизации тестирования

Результаты

Page 39: Сервисы на базе автоматизации тестирования

Сервисы на основе АТ

• Позволяют экономить время- Пользователей автоматизации- Автоматизаторов

• Предоставляют удобный инструмент для конечных пользователей

• Просты в использовании

• Увеличивают уровень использования автоматизации

39

Page 40: Сервисы на базе автоматизации тестирования

Советы

• Логгируйте все в БД- На основе этих данных потом просто сделать сервис

• Создавайте мини веб-приложения- Сейчас это просто (WIKI, CMS)- Это удобно пользователям

• Ориентируйтесь на пользователей- Знайте их проблемы и запросы

• Автоматизация не для тестирования, она для людей!

40

Page 41: Сервисы на базе автоматизации тестирования

•Вопросы?

Page 42: Сервисы на базе автоматизации тестирования

Контакты

• Артем Семенов

- Skype: SW.Peewee

- E-Mail: [email protected]

42

Page 43: Сервисы на базе автоматизации тестирования

Спасибо!

43