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

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

Upload: sqalab

Post on 22-Jun-2015

568 views

Category:

Education


6 download

DESCRIPTION

Доклад Артема Семенова на конференции SQA Days-12, 30 ноября-1 декабря, Минск

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