1 Тестирование производительности веб–приложений: Как перестать беспокоиться и начать делать ЭТО Тимур Хайруллин Организатор.

Содержание

Слайд 2

Я САМ

Тимур Хайруллин
Руководитель службы нагрузочного тестирования
th@yandex-team.ru

Я САМ Тимур Хайруллин Руководитель службы нагрузочного тестирования th@yandex-team.ru

Слайд 3

ЗАЧЕМ Я ТУТ

Мне интересно услышать мнение о нашей работе, о том, что

ЗАЧЕМ Я ТУТ Мне интересно услышать мнение о нашей работе, о том, что мы делаем
мы делаем

Слайд 4

А ЧТО МЫ ДЕЛАЕМ?

Тестирование производительности веб-приложений
Тестирование производительности клиент-серверных систем
Про тестирование standalone-программ я

А ЧТО МЫ ДЕЛАЕМ? Тестирование производительности веб-приложений Тестирование производительности клиент-серверных систем Про
мало что знаю

Слайд 5

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

Тестирование такое тестирование ;-)

ТЕСТИРОВАНИЕ Тестирование такое тестирование ;-)

Слайд 6

ТРЕБОВАНИЯ

Не тормозить;
Не падать;
Не допускать ошибок.

ТРЕБОВАНИЯ Не тормозить; Не падать; Не допускать ошибок.

Слайд 7

ТОРМОЗА :-(

+100ms = 1% падения продаж (amazon.com)
+400ms = 7-9% падения трафика (Yahoo)

ТОРМОЗА :-( +100ms = 1% падения продаж (amazon.com) +400ms = 7-9% падения трафика (Yahoo)

Слайд 8

ПРОСТОЕ ПРАВИЛО

0,1с незаметное
>1с ощущаются задержки
10с потеряли фокус

ПРОСТОЕ ПРАВИЛО 0,1с незаметное >1с ощущаются задержки 10с потеряли фокус

Слайд 9

НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ

НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ

Слайд 10

«ДЛИННЫЙ ХВОСТ»

«ДЛИННЫЙ ХВОСТ»

Слайд 11

ТРЕБОВАНИЯ

Не тормозить: Все ответы быстрее N секунд? Нет!
Например:
>95% ответов быстрее 1 с,

ТРЕБОВАНИЯ Не тормозить: Все ответы быстрее N секунд? Нет! Например: >95% ответов

И >98% ответов быстрее 3 с,
И >99.5% ответов быстрее 5 с.

Слайд 12

ТРЕБОВАНИЯ

Не допускать ошибок,
Не падать:
Например, <0,5% ответов с недопустимым кодом
И содержащих ошибки функционала

ТРЕБОВАНИЯ Не допускать ошибок, Не падать: Например, И содержащих ошибки функционала

Слайд 13

ВРЕМЯ ОТВЕТА И НАГРУЗКА

ВРЕМЯ ОТВЕТА И НАГРУЗКА

Слайд 14

ГЛАВНЫЙ ПОКАЗАТЕЛЬ

RPS (Requests Per Second, запросов в секунду)

ГЛАВНЫЙ ПОКАЗАТЕЛЬ RPS (Requests Per Second, запросов в секунду)

Слайд 15

ЕЩЁ ТРЕБОВАНИЯ

Менеджер (или маркетолог) сервиса обычно умеет оперировать понятием «пользователь»

ЕЩЁ ТРЕБОВАНИЯ Менеджер (или маркетолог) сервиса обычно умеет оперировать понятием «пользователь»

Слайд 16

ГРАФИК RPS

ГРАФИК RPS

Слайд 17

ГРАФИК RPS: ДЕТАЛЬНО

ГРАФИК RPS: ДЕТАЛЬНО

Слайд 18

НАГРУЗКА: ДЕТАЛЬНО

НАГРУЗКА: ДЕТАЛЬНО

Слайд 19

НАГРУЗКА: СОБЫТИЯ

Наши выиграли!

НАГРУЗКА: СОБЫТИЯ Наши выиграли!

Слайд 20

НАГРУЗКА И ЖИЗНЬ

Олимпиада кончилась

Выходные

НАГРУЗКА И ЖИЗНЬ Олимпиада кончилась Выходные

Слайд 21

НАГРУЗКА: НЕДЕЛЯ

НАГРУЗКА: НЕДЕЛЯ

Слайд 22

НАГРУЗКА: НЕДЕЛЯ

НАГРУЗКА: НЕДЕЛЯ

Слайд 23

НАГРУЗКА: ГОД К ГОДУ

НАГРУЗКА: ГОД К ГОДУ

Слайд 24

НАГРУЗКА: ПЛАНЫ РОСТА

Как изменится нагрузка через год?
Как изменится поведение пользователей через год?
А

НАГРУЗКА: ПЛАНЫ РОСТА Как изменится нагрузка через год? Как изменится поведение пользователей
через два?

Слайд 25

ТРЕБОВАНИЯ: ПОДИТОГ

Скорость загрузки страниц
ПЛЮС
Известные дневные и недельные тренды
ПЛЮС
ЗАПЛАНИРОВАННЫЙ рост
выраженные в RPS

ТРЕБОВАНИЯ: ПОДИТОГ Скорость загрузки страниц ПЛЮС Известные дневные и недельные тренды ПЛЮС

Слайд 26

ВИДЫ ТЕСТИРОВАНИЯ

ВИДЫ ТЕСТИРОВАНИЯ

Слайд 27

ОЦЕНОЧНОЕ

Нагрузка растёт. Когда сервис сломается?

ОЦЕНОЧНОЕ Нагрузка растёт. Когда сервис сломается?

Слайд 28

ДЛИТЕЛЬНОЕ

Нагрузка постоянна. Не сломается ли что-нибудь с течением времени?

ДЛИТЕЛЬНОЕ Нагрузка постоянна. Не сломается ли что-нибудь с течением времени?

Слайд 29

СТРЕСС

Нагрузка выше критической. Как поведёт себя сервис?

СТРЕСС Нагрузка выше критической. Как поведёт себя сервис?

Слайд 30

ОБЪЁМНОЕ

Нагрузка стандартная. База данных (например) увеличена на два порядка. Как поведёт себя

ОБЪЁМНОЕ Нагрузка стандартная. База данных (например) увеличена на два порядка. Как поведёт себя сервис?
сервис?

Слайд 31

ЭКЗОТИЧЕСКИЕ ВИДЫ

Spike testing, availability, scalability, recovery…

ЭКЗОТИЧЕСКИЕ ВИДЫ Spike testing, availability, scalability, recovery…

Слайд 32

ТЕСТИРОВАНИЕ: НУ ДАВАЙ УЖЕ!

Что теперь с этим делать?
Возьмите свой любимый инструмент и…

ТЕСТИРОВАНИЕ: НУ ДАВАЙ УЖЕ! Что теперь с этим делать? Возьмите свой любимый инструмент и…

Слайд 33

ИНСТРУМЕНТЫ

ХА-ХА! Инструменты сакс :-(

ИНСТРУМЕНТЫ ХА-ХА! Инструменты сакс :-(

Слайд 34

ИНСТРУМЕНТЫ: ПОДХОДЫ

Opensource: бедно, зато бесплатно
Propertiary: дорого, зато наворочено
Homemade: ОЧЕНЬ дорого и сложно,

ИНСТРУМЕНТЫ: ПОДХОДЫ Opensource: бедно, зато бесплатно Propertiary: дорого, зато наворочено Homemade: ОЧЕНЬ
зато есть всё

Слайд 35

ИНСТРУМЕНТЫ: ПОДХОДЫ

У нас 1+3
Возьмите Jmeter от Apache Jakarta

ИНСТРУМЕНТЫ: ПОДХОДЫ У нас 1+3 Возьмите Jmeter от Apache Jakarta

Слайд 36

ТЕСТОВЫЙ СТЕНД

Реалистичное окружение? ХА-ХА!

ТЕСТОВЫЙ СТЕНД Реалистичное окружение? ХА-ХА!

Слайд 37

ТЕСТИРОВАНИЕ: ПРОЦЕСС

Нагрузочное ТЕСТИРОВАНИЕ
Выявление багов как несоответствие проекта требованиям
Работа с багом как обычно:

ТЕСТИРОВАНИЕ: ПРОЦЕСС Нагрузочное ТЕСТИРОВАНИЕ Выявление багов как несоответствие проекта требованиям Работа с

Багтрекер
Ответственный
Починка
Закрытие бага

Слайд 38

ТЕСТИРОВАНИЕ: ПРОЦЕСС

Регрессионное
Приёмочное
Исследовательское
Оперативное

ТЕСТИРОВАНИЕ: ПРОЦЕСС Регрессионное Приёмочное Исследовательское Оперативное

Слайд 39

РЕГРЕССИОННОЕ

РЕГРЕССИОННОЕ

Слайд 40

МЕТРИКИ

Нагрузка разладки

МЕТРИКИ Нагрузка разладки

Слайд 41

ТЕСТИРОВЩИК – ЭТО…

Аналитик: работает с требованиями

ТЕСТИРОВЩИК – ЭТО… Аналитик: работает с требованиями

Слайд 42

ТЕСТИРОВЩИК – ЭТО…

Тест-дизайнер и «танкист» – проектирует и выполняет тесты

ТЕСТИРОВЩИК – ЭТО… Тест-дизайнер и «танкист» – проектирует и выполняет тесты

Слайд 43

ТЕСТИРОВЩИК – ЭТО…

Тест-менеджер: работает с изменениями и управляет ресурсами

ТЕСТИРОВЩИК – ЭТО… Тест-менеджер: работает с изменениями и управляет ресурсами

Слайд 44

ТЕСТИРОВЩИК – ЭТО…

Исследователь и евангелист: работает с новыми методиками, рассказывает команде

ТЕСТИРОВЩИК – ЭТО… Исследователь и евангелист: работает с новыми методиками, рассказывает команде

Слайд 45

ТЕСТИРОВЩИК – ЭТО…

ТЕСТИРОВЩИК – ЭТО…