Липский Павел

Preview:

Citation preview

Мифы о нагрузочном тестировании

Павел Липский

Миф 1. Без нагрузочного тестирования можно обойтись Без нагрузочного тестирования обойтись нельзя

Почему?

• Без использования нагрузочного тестирования сложно проводить оптимизацию. • Не проводить нагрузочное тестирование и оптимизацию не выгодно экономически.• Под нагрузкой веб-приложения могут вести не так, как все ожидают. • Если не проводить нагрузочное тестирование, то ваши пользователи проведут его сами.

Миф 2. Нагрузочное тестирование = тестирование производительности

Миф 2. Нагрузочное тестирование = тестирование производительности

Тестирование производительности – это измерение производительности системы в условиях ожидаемой нормальной загруженности.

Миф 2. Нагрузочное тестирование = тестирование производительности

RUP (Rational Unified Process):

Нагрузочное тестирование — это тест производительности, при котором система подвергается различным нагрузкам, чтобы измерить и оценить производительность и способности тестируемой системы работать под этими нагрузками. Цель нагрузочного тестирования — убедиться в том, что система правильно функционирует под ожидаемой максимальной нагрузкой. Кроме того, нагрузочное тестирование определяет характеристики производительности (время отклика, число транзакций и пр.).

Миф 3. Нагрузочное тестирование = DDos-атака

Wikipedia:

DDoS-атака (Distributed Denial of Service — «распределённый отказ обслуживания») — это разновидности атак злоумышленника на компьютерные системы. Целью этих атак является создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён.

Миф 3. Нагрузочное тестирование = DDos-атака

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Результаты, полученные при тестировании приложений различными инструментами, могут отличаться и значительно.

Миф 4. Все инструменты для нагрузочного тестирования должны выдавать одинаковые результаты тестирования

Необходимо протестировать производительность веб-сервера, который по некоторому запросу отдает небольшую

статичную страничку весом 2Кбайта.

FunkLoad VS JMeter

Параметры тестирования:

• Поддержка Keep-Alive. С таймаутом в 300 мс.• Поддержка автоматических redirect-ов.• Задержек между запросами нет.• 10 одновременно работающих виртуальных пользователей.• Каждый пользователь делает по 10000 запросов. • ………. FunkLoad генерит 350 запросов / сек, JMeter – 700 запросов / сек.

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Факторы, влияющие на результаты тестирования:

реализация; настройки; оборудование.

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Пусть у нас есть система (клиент-сервер), где выполняется 1000 последовательных транзакций в секунду. Под транзакцией я понимаю цикл запрос-ответ.

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Факторы, влияющие на результаты тестирования:

реализация; настройки; оборудование.

Настройки:

• поддержка режима Keep-Alive;• поддержка автоматических redirect-ов;• желаемое количество запросов в секунду;• задержки между запросами;• количество одновременно работающих виртуальных пользователей;• режим подключения;• …………..

Миф 4. Все инструменты для нагрузочного тестирования должны

выдавать одинаковые результаты тестирования

Факторы, влияющие на результаты тестирования:

реализация; настройки; оборудование.

Миф 5. Существует такой универсальный инструмент, с помощью которого можно протестировать любое веб-приложение

Универсальных инструментов для нагрузочного тестирования не существует.

Миф 5. Существует такой универсальный инструмент, с помощью которого можно протестировать любое веб-приложение

Web App Stress Tool LoadTester Performance Kit SiteTester WAPT LoadRunner QALoad WebLoad SilkPerformer JMeter

Список программ для нагрузочного тестирования

httperf FunkLoad ApacheBench WebLoad OpenLoad CitraTest Hosted Tool Box AQtime Stress Testing NeoLoad

Миф 5. Существует такой универсальный инструмент, с помощью которого можно протестировать любое веб-приложение

Производительность Цена Требование к операционной системе Оборудование Поддержка протоколов Возможность записи сценария тестирования Язык записи сценария тестирования Отзывы пользователей

Средства мониторинга Масштабируемость Генерация отчетов и анализ полученных данных Требования по оборудованию Простота использования Поддержка Доступ к исходному коду

Критерии выбора инструмента для нагрузочного тестирования

Что почитать?

http://www.softwareqatest.com - на этом сайте можно найти информацию почти по всем средствам нагрузочного тестирования.

http://blackanvil.blogspot.com/ - Блог Travis Bear о нагрузочном тестировании.

http://software-testing.ru/ - сайт Славы Панкратова о тестировании. Очень много информации о тестировании на русском языке.

http://agiletesting.blogspot.com – Блог Grig Gheorghiu о тестировании ПО.

Пишите письма

Мой еmail: pavel . lipsky @ gmail . com

Спасибо за внимание!