Сергей Скроботов "Баннерокрутилка: разбираем на...

47
Баннерокрутилка: разбираем на куски. Я.Субботник, Санкт-Петербург, 26 февраля 2011 Группа тестирования РТ Cергей Скроботов

Upload: yandex

Post on 30-Jun-2015

959 views

Category:

Technology


5 download

DESCRIPTION

Сергей Скроботов "Баннерокрутилка: разбираем на куски" Первый Я.Субботник в Санкт-Петербурге О докладе: Как протестировать сложную, динамично развивающуюся и высоконагруженную систему? В докладе рассказывается о разработке технологий автоматизированного тестирования баннерокрутилки: о ключевых особенностях сервиса, о возникавших перед группой тестирования задачах, выборе рациональных подходов, о некоторых разработанных инструментах и текущих проблемах, находящихся в стадии решения.”

TRANSCRIPT

Page 1: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Баннерокрутилка: разбираем на куски.

Я.Субботник, Санкт-Петербург, 26 февраля 2011

Группа тестирования РТ Cергей Скроботов

Page 2: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

• Предмет

• Подходы

• Инструменты

• Задачи

О чем пойдет речь…

2

Page 3: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Предмет

3

Page 4: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Баннерная крутилка (жарг.) - сервис предназначенный для показа рекламы на

сайтах Яндекса и партнеров

Что есть БК

! ВАЖНОСТЬ

4

Page 5: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Что есть БК

100 000 рекламных кампаний

2 000 000

запросов/мин

ПРОИЗВОДИТЕЛЬНОСТЬ

5

Page 6: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Что есть БК

СЛОЖНОСТЬ

MAP-REDUCE

MATRIXNET

6

Page 7: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

>CMD Нет GUI

Нет ТЗ

Нет времени

7

Особенности для тестирования

Page 8: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Подходы

8

Page 9: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Немного истории…

БК – это круто!!! 9

Page 10: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

…но не просто, мм-да… 10

Page 11: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Целиком не получится

Дорого $ (40 подсистем, стенд фронтенда – 22 сервера + 13 виртуалок) Локализация багов – ???... Прогон тестов – ???... (малое изменение – инициализация

всей системы) 11

Page 12: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Надо – по кускам!

12

Page 13: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

back-to-back

Быстрый старт

13

Page 14: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Гарантии?

$ 0,01%

???

14

B2B — плохо или хорошо?

Page 15: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

15

Следующий шаг — функциональные тесты

ФТ B2B

Page 16: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Следующий шаг — функциональные тесты

ФТ B2B

Прогон

Покрытие (SLOC)

Разработка

30 мин 1-3 часа

65% 69%

6 мес 2 недели

∑ = 73%!

B2B+ФТ

16

Page 17: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

с ростом числа тестов

17

Page 18: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Возник ряд вопросов

18

Page 19: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Как сравнить данные?

19

Page 20: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Как понять отчет?

20

Page 21: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Как разобраться в куче тестов?

21

Page 22: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Есть проблемы – Есть решения

22

Page 23: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Инструменты

23

Page 24: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Сравнение таблиц

24

Page 25: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Сравнение таблиц Возможности

Сравнение 2-х и

более таблиц Сравнение таблиц в

удаленных БД

+ Сравнение больших объемов данных (130 млн. записей)

25

Выбор колонок и сравнение на дельту

Page 26: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Система отчетов

26

Page 27: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Система отчётов

Документирование результатов

Хранение отчетов

27

Page 28: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Структурирование данных

1. Тестируемый компонент.

2. Время запуска тестов и

продолжительность.

3. Статистика по тестам.

4. Набор тестов (suite).

5. Тест.

28

Page 29: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Архив

Храние отчётов в упорядоченном виде.

Рассылка оповещений заинтересованным лицам.

29

Page 30: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Тестхелпер

30

Page 31: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

31

Page 32: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

32

Page 33: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

33

Page 34: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

TestHelper Дерево тестов

34

Page 35: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

35

Page 36: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

36

Page 37: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

TestHelper Шаги теста

37

Page 38: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

38

Page 39: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

39

Page 40: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Задачи

40

Page 41: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

- Есть решения…

Но задач все-таки больше

41

Page 42: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Тестирование формул

SIN( X )

ТЕСТЫ sin

EXP( X )

PASSED

FAILED

ТЕСТЫ exp

EXP( X )

PASSED

42

Page 43: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Тестирование формул

SIN( X )

< SIN( X ) >

Данные

EXP( X )

< EXP( X ) >

Данные

DIFF?

DIFF?

Автогенерация?

43

Page 44: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Параллельные системы

Race condition

44

Page 45: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

ТЕСТИРОВАНИЕ

MODEL CHEKING ?

Параллельные системы

45

Page 46: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Есть решения ?

Продолжение следует… 46

Page 47: Сергей Скроботов "Баннерокрутилка: разбираем на куски"

Сергей Скроботов

Группа тестирования РТ

[email protected]

Вопросы?