1 Тестирование производительности веб–приложений: Как перестать беспокоиться и начать делать ЭТО Тимур Хайруллин Организатор
2 Я САМ Тимур Хайруллин Руководитель службы нагрузочного тестирования
3 ЗАЧЕМ Я ТУТ Мне интересно услышать мнение о нашей работе, о том, что мы делаем
4 А ЧТО МЫ ДЕЛАЕМ? Тестирование производительности веб- приложений Тестирование производительности клиент-серверных систем Про тестирование standalone-программ я мало что знаю
5 ТЕСТИРОВАНИЕ Тестирование такое тестирование ;-)
6 ТРЕБОВАНИЯ Не тормозить; Не падать; Не допускать ошибок.
7 ТОРМОЗА :-( +100ms = 1% падения продаж (amazon.com) +400ms = 7-9% падения трафика (Yahoo)
8 ПРОСТОЕ ПРАВИЛО 0,1с незаметное >1с ощущаются задержки 10с потеряли фокус
9 НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ
10 «ДЛИННЫЙ ХВОСТ»
11 ТРЕБОВАНИЯ Не тормозить: Все ответы быстрее N секунд? Нет! Например: >95% ответов быстрее 1 с, И >98% ответов быстрее 3 с, И >99.5% ответов быстрее 5 с.
12 ТРЕБОВАНИЯ Не допускать ошибок, Не падать: Например,
13 ВРЕМЯ ОТВЕТА И НАГРУЗКА
14 ГЛАВНЫЙ ПОКАЗАТЕЛЬ RPS (Requests Per Second, запросов в секунду)
15 ЕЩЁ ТРЕБОВАНИЯ Менеджер (или маркетолог) сервиса обычно умеет оперировать понятием «пользователь»
16 ГРАФИК RPS
17 ГРАФИК RPS: ДЕТАЛЬНО
18 НАГРУЗКА: ДЕТАЛЬНО
19 НАГРУЗКА: СОБЫТИЯ Наши выиграли!
20 НАГРУЗКА И ЖИЗНЬ Олимпиада кончилась Выходные
21 НАГРУЗКА: НЕДЕЛЯ
22 НАГРУЗКА: НЕДЕЛЯ
23 НАГРУЗКА: ГОД К ГОДУ
24 НАГРУЗКА: ПЛАНЫ РОСТА Как изменится нагрузка через год? Как изменится поведение пользователей через год? А через два?
25 ТРЕБОВАНИЯ: ПОДИТОГ Скорость загрузки страниц ПЛЮС Известные дневные и недельные тренды ПЛЮС ЗАПЛАНИРОВАННЫЙ рост выраженные в RPS
26 ВИДЫ ТЕСТИРОВАНИЯ
27 ОЦЕНОЧНОЕ Нагрузка растёт. Когда сервис сломается?
28 ДЛИТЕЛЬНОЕ Нагрузка постоянна. Не сломается ли что- нибудь с течением времени?
29 СТРЕСС Нагрузка выше критической. Как поведёт себя сервис?
30 ОБЪЁМНОЕ Нагрузка стандартная. База данных (например) увеличена на два порядка. Как поведёт себя сервис?
31 ЭКЗОТИЧЕСКИЕ ВИДЫ Spike testing, availability, scalability, recovery…
32 ТЕСТИРОВАНИЕ: НУ ДАВАЙ УЖЕ! Что теперь с этим делать? Возьмите свой любимый инструмент и…
33 ИНСТРУМЕНТЫ ХА-ХА! Инструменты сакс :-(
34 ИНСТРУМЕНТЫ: ПОДХОДЫ Opensource: бедно, зато бесплатно Propertiary: дорого, зато наворочено Homemade: ОЧЕНЬ дорого и сложно, зато есть всё
35 ИНСТРУМЕНТЫ: ПОДХОДЫ У нас 1+3 Возьмите Jmeter от Apache Jakarta
36 ТЕСТОВЫЙ СТЕНД Реалистичное окружение? ХА-ХА!
37 ТЕСТИРОВАНИЕ: ПРОЦЕСС Нагрузочное ТЕСТИРОВАНИЕ Выявление багов как несоответствие проекта требованиям Работа с багом как обычно: –Багтрекер –Ответственный –Починка –Закрытие бага
38 ТЕСТИРОВАНИЕ: ПРОЦЕСС Регрессионное Приёмочное Исследовательское Оперативное
39 РЕГРЕССИОННОЕ
40 МЕТРИКИ Нагрузка разладки
41 ТЕСТИРОВЩИК – ЭТО… Аналитик: работает с требованиями
42 ТЕСТИРОВЩИК – ЭТО… Тест-дизайнер и «танкист» – проектирует и выполняет тесты
43 ТЕСТИРОВЩИК – ЭТО… Тест-менеджер: работает с изменениями и управляет ресурсами
44 ТЕСТИРОВЩИК – ЭТО… Исследователь и евангелист: работает с новыми методиками, рассказывает команде
45 ТЕСТИРОВЩИК – ЭТО…
46 СПАСИБО! Тимур Хайруллин Организатор: