Микросервисы для автоматизации тестирования - опыт...

Post on 25-Jul-2015

182 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Микросервисы для автоматизации тестирования - опыт "Одноклассников"

1

О Себе

2

• Разработчик с 2006 • Тестировщик с 2007 • Менеджер с 2009 • Инженер 2006 - н.в.

!

!!

@PapaMinoshttp://test-failed.blogspot.com

2

Преамбула

3

При  увеличении  объема  хранимых  данных  в  10  раз,    систему  хранения  данных  скорее  всего  придется  пересмотреть

Олег  Анастасьев

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

Кейс №1: Попадание на AntispamЦель: проверить что пользователь попадающий на цензор блокируется !

Шаги: Свежесозданным пользователем войти на портал Отправить нецензурное сообщение N пользователям Словить блокировку при попытке отправить сообщение в N+1 раз

4

Кейс №1: Попадание на Antispam

5

Кейс №2 Цель: проверить «тяжелые» данные на окружениях !

Предусловие: у пользователя есть видео, настройки доступа к нему и соц. граф. !

Шаги: Войти другом пользователя, проверить что контент доступен. Войти пользователем, закрыть доступ к контенту Для друзей контент доступен

6

Кейс №2: Окружения и данные

7

Кейс №3: Уникальное видео

Цель: проверить перекодирование видео !

Шаги: Пользователь загружает новое (уникальное) видео. Проверить что видео прошло обработку и воспроизводится. !

8

(промежуточный) Итог

9

(промежуточный) Итог

10

Монолитная архитектура

11

Микросервисы

• Никто не знает что такое микросервисы • Есть общие характеристики • Есть мнение что микросерсвисы это:

• «правильное SOA» • «лучшая часть SOA» • «SOA наизнанку»

12

Микросервисная архитектура

13

Характерные черты

• Выделение компонентов в сервисы • Организация вокруг нужд бизнеса (DDD) • Связи между узлами не имеют фукнционального значения

• Децентрализация управления и данных • Автоматизация развертывания • Эволюционный дизайн и дизайн «на отказ»

14

Микросервисы и автотесты

15

Что это нам дает

НадежностьСкорость

Трудные  места

Удобство

Окружения16

Хранение контента

17

Хранение контента

18

Генерация контента

19

Сгенерированное видео

20

История  про  WebDriver  Torso  от  Google  

Преимущества• Весь контент в одном месте • Отдельно от кода • Можно генерировать • Сервис всегда можно сделать умнее

21

22

Storekeeper

Регистрация

23

Удаление

24

Что умеет• Регистрировать ботов • Отдавать ботов в тесты

• пол, возраст, прочее… • Удалять ботов • Разблокировать ботов

25

TDS  в  Spotify

Как это работает

26

storekeeper.deleteBot(bot)storekeeper.getBot()

Storekeeper: Результаты

• Ускорение  тестов  • Профит  при  увеличении  числа  

ботов  • Запас  ботов    • Локальный  запуск

27

28

Mnemonic

Окружения

29

Окружения (на самом деле)

30

Key

Prod  value

Test  value  Stage  value

Dev  value

31

Key - Value

KEY

Bot  1  +  State

Bot  2  +  State

Bot  3  +  State

Ботнеты

32

Ботнеты в природе

33

Ботнеты в природе

34

Как это работает

mnemonic.setMessage("key").setForCurrent(targetURL);

35

mnemonic.getMessage("key").getForCurrent(targetURL);

mnemonic.getStructMessage("key2").getForCurrent(targetURL);

Мир вокруг

36

Мир вокруг

37

Мир вокруг

38

Все вместе

HUB

NODE1 NODE  2 NODE  3 NODE  4

A A A A

39

Чтобы взлетело• Мониторинги • Логи • Healthcheck-и • Понимание взаимосвязей между сервисами

40

Мысль

41

measure performance before and after each attempted optimization.

Joshua Bloch, Effective Java

Выводы• Тестовый фреймворк - не свалка • Нет единого решения всех проблем • Делай одну простую вещь хорошо • Комбинируй простые вещи

42

Куда идти?

• Мартин Фаулер о микросервисах

• Selenium-Grid-Extras • Grible • Курсы от 10gen по

mongodb (бесплатные)

43

Цель.  Элияху  Голдратт

Спасибо! Никита Макаров Руководитель группы автоматизации тестирования, Одноклассники nikita.makarov@odnoklassniki.ru !!

44

@PapaMinoshttp://test-failed.blogspot.com

И, да…

есть  такая  работа  –  сидеть  в  «Одноклассниках»  !

http://v.ok.ru

45

top related