Load test vs Perfomance test
#1
Отправлено 13 ноября 2004 - 22:46
Наверное мой вопрос покажется глупым, но я запутался... :(
Объясните пожалуйста разницу между Load Test и Perfomance Test.
#2
Отправлено 15 ноября 2004 - 08:43
#3
Отправлено 15 ноября 2004 - 09:16
Перфоманс - это тестирование производительности (к примеру система производит 3,000,000 операций в секунду при максимально загруженности). Тут упор именно на максимальную производительность, что-то ближе к БенчМаркингу. Фишка в том, что в продуктиве на максимальной загружености система может работать и не будет, но мы хотим поглядеть, а может ли она так работать и какая производительность будет. Ну к примеру хотим понять есть ли у нас какой-то запас, до того как система потребует расширения.
Лоад тест - тестирование системы при определённых условиях нагрузки (не факт что максимальных). То есть не стоит задача загрузить максимально или выжать максимум, интересуют показатели системы при условиях эксплуатации приближённым к боевым, к продуктивным. То есть просто тестирование с целью выявить соотвествуют ли показатели системы на продуктивной нагрузке.
Редактор портала www.it4business.ru
#4
Отправлено 16 ноября 2004 - 08:17
#5
Отправлено 16 ноября 2004 - 09:21
Про нагрузочные писалось выше (цели: посмотреть как ведёт себя система в условиях реальной нагрузки и можно ли увеличивать производительность), а стресс-тесты, это задача эмуляции заведомо завышенной нагрузки и посмотреть как система будет "падать", подниматься, восстанавливаться.
К примеру есть кластер из двух серверов БД и клиентиков. Есть задача проверить ситуацию, когда ведущий сервер выходит из строя под большой нагрузкой (которую мы и создаём) и все заспросы должны спокойно подхватиться вторым сервером. Потом первый должен подняться, восстановиться, подхватить изменения в базе и переключить на себя обработку запросов. Вот тут задачку как я понимаю стрессовая, так как это уже не стандартное поведение системы (может мы его и не разрабатывали даже, а пользуемся стандартными средствами БД).
Я понимаю где-то так, готов поспорить.
Редактор портала www.it4business.ru
#6
Отправлено 16 ноября 2004 - 15:22
Тип теста (если есть) - цель (ответ на вопрос) - сам вопрос
Performance (Load) test
Measuring end-user response time
How long does it take to complete a business process?
Stress test
Measuring system capacity
How much load can the system handle without significant performance degradation?
Reliability test
Checking reliability
How hard or long can the system work without errors or failures?
Scalability test
Checking hardware or software upgrades
How does the upgrade affect performance or reliability?
Evaluating new products
Which server hardware or software should you choose?
Defining optimal hardware configuration
Which hardware configuration provides the best performance?
Identifying bottleneck
Which element is slowing down response time?
#7
Отправлено 16 ноября 2004 - 15:32
В отношении Load Testa поступаем следующим образом.Performance (Load) test
Measuring end-user response time
How long does it take to complete a business process?
Из требований к системе получаем планируемое максимальное количество нагрузки. Чаще всего это пользователи. Генерируем 2/3 от максимальной нагрузки и измеряем время отклика системы.
Иногда требуется провести Load Test в динамике. Это означает что мы повторяем предыдущий тест для 50%, 70%, 90% и 100% от максимальной нагрузки и строим кривую времени отклика в зависимости от изменения загруженности системы.
#8 Гость_amilner_*
Отправлено 16 ноября 2004 - 15:59
Мне кажется, это не совсем верно. Попробую кратко пояснить почему, как всегда используя свой подход умеренно-консервативного инженера .Я использую эти два термина как синонимы, т.к. один и тот же вид нагрузочного тестирования в разной литературе называется по разному.
Как известно, все показатели назначения любой системы(любого изделия), требования к которой формулируются в Техническом Задании/ТЗ (system requirement), разделяются на несколько групп: функциональные показатели, показатели производительности, показатели надёжности, показатели безопасности, показатели конфигурации и т.п. Соответствующим образом, производятся испытания систем, их тестирование и различаются тесты, проверяющие эти показатели: функциональные тесты(functional test), тесты производительности(performance test) и т.д. Основное назначение тестов производительности проверка временных характеристик (быстродействие, скорость реакции и т.п.). Важное место среди тестов производительности занимают тесты, проверяющие, как влияет в многопользовательских интерактивных системах количество активных пользователей на быстродействие этих систем (скорость ответа на запрос пользователя). Такой подтип теста производительности обычно и называется нагрузочным тестом(load test). В свою очередь, частным случаем нагрузочного теста, а иногда просто одним из режимов его работы, является стресс-тест((stress test), т.е. тест, определяющий при какой максимальной нагрузке(количестве активных пользователей, количестве одновременных запросов) система, практически, перестаёт работать(зависает) или её временные характеристики выходят за пределы, указанные в ТЗ.
Известно также, что большинство тестов различного типа имеют два основных варианта исполнения или, чаще, режимов прогона: в нормальных условиях и на граничных условиях (граничные испытания/). В этом смысле стресс- тест является ничем иным как нагрузочным тестом, работающим на граничных условиях, а его выполнение- одним из видов граничного тестирования (boundary testing).
Таким образом, мы имеем иерархию понятий: performance/load/stress test(testing), и спрашивать чем отличаются эти понятия всё равно ,что спрашивать чем отличается лев от зверя. Другое дело, что при тестировании веб- систем и клиент/сервер систем очень часть единственны тестом, используемым для проверки производительности, является нагрузочный тест, а типовым режимом использования последнего является стресс- режим. Отсюда и иллюзия эквивалентности этих трёх понятий, хотя такая эквивалентность- это только частный случай.
#9
Отправлено 16 ноября 2004 - 16:21
Есть раздел тестирования - performance testing.
В него входят следующие виды тестов: load, stress и т.д. Но если кому-то нравиться (и именно это наблюдается в литературе и статьях на указанную тему), то он может называть load testing как performance testing. Смысл от этого не меняется.
Хотя можно удариться в схоластические рассуждения.
B)
Но вот с чем не могу согласиться, так это со следующим утверждением:
Другое дело, что при тестировании веб- систем и клиент/сервер систем очень часть единственны тестом, используемым для проверки производительности, является нагрузочный тест, а типовым режимом использования последнего является стресс- режим.
Для любой системы, в том числе веб или клиент/сервер, можно провести весь набор как функциональных, так и нагрузочных тестов, так как любая система ведет себя не одинаково в различных условиях. Смотрите таблицу, которую я привел выше.
#10
Отправлено 17 ноября 2004 - 08:18
Редактор портала www.it4business.ru
#11 Гость_amilner_*
Отправлено 17 ноября 2004 - 15:30
Сергей, конечно, не будем вдаваться в схоластику. Главное, что Вы согласны с моими доводами, в целом.Хотя можно удариться в схоластические рассуждения.
B)
Но вот с чем не могу согласиться, так это со следующим утверждением:Другое дело, что при тестировании веб- систем и клиент/сервер систем очень часть единственны тестом, используемым для проверки производительности, является нагрузочный тест, а типовым режимом использования последнего является стресс- режим.
Что касается расхождения в наших взглядах, то по сути их также нет. Ведь я сказал, что «очень часто». Готов исправиться: «часто» или, если хотите, «иногда». Просто я хотел как-то пояснить, почему многие используют триаду performance/load/stress, считая все три её составляющие эквивалентными.
Также согласен с Case, но с некоторой редакцией: «к тестам производительности (performance), в частности, относится нагрузочное(load) тестирование, в том числе, проверка end user response time в нормальном и граничном(stress) режимах работы. Но end user response time может измеряться не только при работе нагрузочного теста». Или это уже схоластика? :)
Сергей, мой ответ на Ваш вопрос по поводу умеренного консерватизма появится на днях.
#12
Отправлено 26 августа 2011 - 08:58
Stress test
под которым имелось совсем другое.
В aerospace в стандартах на тестирование в основном под Stress test в юнит тестировании подразумевается другое
это класс тестов когда на вход функции подаются заведомо ложные(неправильныве ) значения. т.е. когда описана функция и области допустимых входных значений переменных. Stress test - это когда тестовые данные беруться заведомо из диапазонов за границами ОДЗ.
Эти тесты выполняются в зависимости от класса критичности ПО проверяется что функция ведёт себя непредсказуемо , но не вызывает отказ всей системы. Я думаю это связано отчасти с предположением того , что в следствии солнечной радиации на высоте случайный бит номер Х в памяти при прохождении через него гамма кванта может обратится из 0 в 1 и данные уже тысячу раз проверенные данные на предыдущем уровне интеграции могут случайно в какой-то момент времени оказаться неверными над другом уровне интеграции и такой сбой не должен вызывать общий сбой системы.
#13
Отправлено 27 августа 2011 - 08:55
Тестирование производительности - это проверка скорости работы. Даже в однопользовательских приложениях бывает необходимым тестирование производительности: скорость создания архивов, скорость передачи данных, скорость работы контролов в интерфейсе и т.д. Когда в висте до первого сервис пака скорость копирования файлов на сетевую шару была в 4 раза ниже, это была бага в производительности - но явно не в нагрузке.
Нагрузочное тестирование - это проверка работы большого количества пользователей в клиент-серверных (в т.ч. веб) приложениях. Да, почти всегда в нагрузочном тестировании помимо "возможности работать N пользователей", проверяется ещё и скорость их совместной работы, т.е. чаще всего эти две проверки взаимосвязаны в случае с нагрузочным тестированием.
Путаница происходит потому, что часто одно и то же слово включает в себя разные значения. Перформанс включает в себя перформанс, лоад и т.д. Тест-дизайн включает в себя тест-анализ и тест-дизайн :) В нашей отрасли часто встречается такая путаница понятий, к счастью она постепенно сходит на нет.
Обучение для профессионалов: Школа тест-менеджеров | Школа тест-аналитиков | Школа Тестировщиков
Услуги для тест-менеджеров: Аутсорсинг тестирования | Поиск тестировщиков | Консалтинг
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных