Сергей Скроботов "Баннерокрутилка: разбираем на...
DESCRIPTION
Сергей Скроботов "Баннерокрутилка: разбираем на куски" Первый Я.Субботник в Санкт-Петербурге О докладе: Как протестировать сложную, динамично развивающуюся и высоконагруженную систему? В докладе рассказывается о разработке технологий автоматизированного тестирования баннерокрутилки: о ключевых особенностях сервиса, о возникавших перед группой тестирования задачах, выборе рациональных подходов, о некоторых разработанных инструментах и текущих проблемах, находящихся в стадии решения.”TRANSCRIPT
Баннерокрутилка: разбираем на куски.
Я.Субботник, Санкт-Петербург, 26 февраля 2011
Группа тестирования РТ Cергей Скроботов
• Предмет
• Подходы
• Инструменты
• Задачи
О чем пойдет речь…
2
Предмет
3
Баннерная крутилка (жарг.) - сервис предназначенный для показа рекламы на
сайтах Яндекса и партнеров
Что есть БК
! ВАЖНОСТЬ
4
Что есть БК
100 000 рекламных кампаний
2 000 000
запросов/мин
ПРОИЗВОДИТЕЛЬНОСТЬ
5
Что есть БК
СЛОЖНОСТЬ
MAP-REDUCE
MATRIXNET
6
>CMD Нет GUI
Нет ТЗ
Нет времени
7
Особенности для тестирования
Подходы
8
Немного истории…
БК – это круто!!! 9
…но не просто, мм-да… 10
Целиком не получится
Дорого $ (40 подсистем, стенд фронтенда – 22 сервера + 13 виртуалок) Локализация багов – ???... Прогон тестов – ???... (малое изменение – инициализация
всей системы) 11
Надо – по кускам!
12
back-to-back
Быстрый старт
13
Гарантии?
$ 0,01%
???
14
B2B — плохо или хорошо?
15
Следующий шаг — функциональные тесты
ФТ B2B
Следующий шаг — функциональные тесты
ФТ B2B
Прогон
Покрытие (SLOC)
Разработка
30 мин 1-3 часа
65% 69%
6 мес 2 недели
∑ = 73%!
B2B+ФТ
16
с ростом числа тестов
17
Возник ряд вопросов
18
Как сравнить данные?
19
Как понять отчет?
20
Как разобраться в куче тестов?
21
Есть проблемы – Есть решения
22
Инструменты
23
Сравнение таблиц
24
Сравнение таблиц Возможности
Сравнение 2-х и
более таблиц Сравнение таблиц в
удаленных БД
+ Сравнение больших объемов данных (130 млн. записей)
25
Выбор колонок и сравнение на дельту
Система отчетов
26
Система отчётов
Документирование результатов
Хранение отчетов
27
Структурирование данных
1. Тестируемый компонент.
2. Время запуска тестов и
продолжительность.
3. Статистика по тестам.
4. Набор тестов (suite).
5. Тест.
28
Архив
Храние отчётов в упорядоченном виде.
Рассылка оповещений заинтересованным лицам.
29
Тестхелпер
30
31
32
33
TestHelper Дерево тестов
34
35
36
TestHelper Шаги теста
37
38
39
Задачи
40
- Есть решения…
Но задач все-таки больше
41
Тестирование формул
SIN( X )
ТЕСТЫ sin
EXP( X )
PASSED
FAILED
ТЕСТЫ exp
EXP( X )
PASSED
42
Тестирование формул
SIN( X )
< SIN( X ) >
Данные
EXP( X )
< EXP( X ) >
Данные
DIFF?
DIFF?
Автогенерация?
43
Параллельные системы
Race condition
44
ТЕСТИРОВАНИЕ
MODEL CHEKING ?
Параллельные системы
45
Есть решения ?
Продолжение следует… 46
Сергей Скроботов
Группа тестирования РТ
Вопросы?