Я.Субботник, Санкт-Петербург, 26-12 2011 инженер по тестированию Ерошенко Артем Поиск багов в поиске инженер по тестированию Селиверстов Станислав.

Презентация:



Advertisements
Похожие презентации
1. Определить последовательность проезда перекрестка
Advertisements

Урок повторения по теме: «Сила». Задание 1 Задание 2.

1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Развивающая викторина для детей "Самый-самый " Муниципальное общеобразовательное учреждение средняя общеобразовательная школа 7 ст. Беломечётской.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
Тем, кто учит математику, Тем, кто учит математике, Тем, кто любит математику, Тем, кто ещё не знает, Что может полюбить математику Посвящается…
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
Школьная форма Презентация для родительского собрания.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
1 Знаток математики Тренажер Таблица умножения 3 класс Школа России Масько Любовь Георгиевна Муниципальное общеобразовательное учреждение средняя общеобразовательная.
Флористические оформления. Композиции до 6000 руб
1 2 Содержание 4 1.Введение. 4 2.Белки и их роль в организме. 4 3.Общие сведения о процессе биосинтеза белков: Понятие Вещества, участвующие.
Вычислите, укажите правильный ответ
Типовые расчёты Растворы
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Рисуем параллелепипед Известно, что параллельная проекция тетраэдра, без учета пунктирных линий, однозначно определяется заданием проекций его вершин (рис.
Транксрипт:

Я.Субботник, Санкт-Петербург, инженер по тестированию Ерошенко Артем Поиск багов в поиске инженер по тестированию Селиверстов Станислав

Поиск Яндекса запросов в день сайтов в индексе пользователей в день 62 терабайта информации сотни разработчиков 1

Как рождается поиск 2

3

Результат работы программ Как рождается поиск 4

Результат взаимодействия Как рождается поиск 5

через конечную функциональность по-компонентно Как тестировать? 6

Тестирование через конечную функциональность 7

Требования Инструмент тестирования 8

Selenium Инструмент тестирования работает с реальным браузером клиентская часть реализована на нескольких языках работает с несколькими браузерами открытый код 9

Главное правильно задать запрос 10

проектируем свои берем пользовательские Как задаем запросы? 11

Пользовательские запросы Как задаем запросы? 12

оцениваем масштаб проблемы проверяем показ элемента в выдаче Ожидаемый результат Пользовательские запросы 13

скорость выполнения тестов экспортные данные множество ссылок тестирование верстки Сложности 14

скорость выполнения тестов экспортные данные множество ссылок тестирование верстки Сложности 15

запускать меньше тестов выполнять тесты быстрее Как уменьшить время Скорость выполнения тестов 16

запускать меньше тестов выполнять тесты быстрее Как уменьшить время Скорость выполнения тестов 17

Самая длинная цепь Запускать меньше тестов 18 Выдача поиска

Группировка тестов Запускать меньше тестов 19

запускать меньше тестов выполнять тесты быстрее Как уменьшить время Скорость выполнения тестов 20

Рост количества данных Выполнять тесты быстрее 21

Каким инструментом Выполнять тесты быстрее 22 Selenium?

эмулирует работу браузера поддерживает jScript быстрее в разы Инструмент HtmlUnit Выполнять тесты быстрее 23

Разные интерфейсы Выполнять тесты быстрее 24

HtmlUnit to Selenium Выполнять тесты быстрее 25

HtmlUnit to? Selenium Выполнять тесты быстрее 26

уникальные тесты на Selenium тесты на большом количестве запросов на HtmlUnit Перевести все тесты на HtmlUnit Выполнять тесты быстрее 27

скорость выполнения тестов экспортные данные множество ссылок тестирование верстки Сложности 28

приходят со сторонних сервисов имеют разные форматы Экспортные данные 29

Форматы Экспортные данные 30

Преобразования Экспортные данные 31

скорость выполнения тестов экспортные данные множество ссылок тестирование верстки Сложности 32

Прокликать все Множество ссылок ссылки генерируются данные приходят со сторонних сервисов сторонние сервисы живут своей жизню 33

Переход на погоду Множество ссылок pogoda.yandex.ru/saint-petersburg pogoda.yandex.ru/26063

Инструмент noname Множество ссылок умеет обходить страницы вширь умеет пинговать ресурс (link, image) умеет проверять корректность страницы (css, js, favicon) proxy, cookie 35

Noname улучшизмы Множество ссылок проверка работы JavaScript склеивание ссылок 36

скорость выполнения тестов экспортные данные множество ссылок тестирование верстки Сложности 37

Проблема поколений Тестирование верстки 38

Руками и глазами Тестирование верстки 39

Нагрузка растет Тестирование верстки сотни сценариев разные браузеры 40

А/Б тестирование Тестирование верстки 41

Нерешенная проблема Тестирование верстки 42 Как автоматизировать?

Компонентное тестирование 43

Раннее тестирование производительности Стресс-тесты и тестирование стабильности компонент Функциональные тесты под нагрузкой Надежность и производительность Компонентное тестирование 44

Подготовка тестовой среды Выбор входных данных Проведение теста Анализ выходных данных Этапы тестирования Компонентное тестирование 45

Отдельно выделенный сервер, с аналогичной продакшен конфигурацией Окружение создается каждый раз перед тестированием Эмуляция принимающих выходной поток компонент + возможность использовать тестовые кластеры Тестовая среда Компонентное тестирование 46

Живой поток с продакшен Фиксированный поток Сгенерированный поток План обстрела Компонентное тестирование 47

Обеспечивает доставку запроса пользователя к поисковому кластеру и ответа к пользователю Распределяет запросы между поисковыми кластерами кратно их производительности Функции Пример Балансер 48

Пример Балансер 49 HTTP-Балансер IP-Балансер HTTP-Балансер Поисковый кластер Верхний поиск

Скорость отдачи страницы с результатом выдачи снизилась Балансер перестал отдавать результат выдачи (белая страница) Данные портятся при прохождении через балансер Ошибки Пример Балансер 50

Тесты под нагрузкой Пример Балансер Пусть будут 10 заглушек эмулирующих бэкэнды с различной производительностью 51

Среднее количество запросов по группе одинаковых бэкэндов Пример Балансер 52

Распределение времени ответов с бэкэндов Пример Балансер 53

Количество обработанных запросов на бэкэндах Пример Балансер 54

Распределение времени ответов за балансером Пример Балансер 55

Скорость отдачи страницы с результатом выдачи снизилась Балансер перестал отдавать результат выдачи (белая страница) Данные портятся при прохождении через балансер Ошибки Пример Балансер 56

Сверяем трафик до балансера и после Пропускаем через балансер преднамеренно испорченные запросы (fuzzing) Искусственно создаем таймауты и потерю соединения Функциональные тесты под нагрузкой Пример Балансер 57

Учитывает все особенности сборки компонент Интегрирован инструментарий для обстрела и профилирования поисковых компонент Есть надежная доставка компонент на многочисленные машины поискового кластера Автоматическая сборка и тестирование по расписанию или по коммиту SandBox Компонентное тестирование 58

Тестирование всех компонент на производительность Расширение покрытия функциональными тестами Горизонты Компонентное тестирование 59

Покоммитное тестирование компонент Тестирование версии под нагрузкой Версия попадает в приемку качества После приемки качества попадает в тестирование через конечную функциональность В продакшен следим через мониторинги Путь тестирования 60

Инженер по тестированию +7 (812) (8575) team.ru Селиверстов Станислав Инженер по тестированию +7 (812) (8625 ) Ерошенко Артем Вопросы?