Upload
spb-sqa-group
View
12.087
Download
10
Embed Size (px)
DESCRIPTION
Часто о нагрузочном тестировании рассказывают через призму используемого инструментария, хорошо раскрывая слово «нагрузочное» и часто оставляя слово «тестирование» за кадром. Так давайте же попробуем поговорить о месте именно тестирования в нагрузочном тестировании.
Citation preview
танкистМарина Широчкина
Нагрузочное тестирование с
точки зрения тестирования
танкистМарина Широчкина
Всякое тестирование под нагрузкой с точки зрения тестирования
Спасибо
- компании i-Free за гостеприимство
- SPB SQA Group в лице Романа Твердохлебова и Алексея Лянгузова
– за всё
3
О чем будем говорить?
4
О тестировании. Не инструментах
5
Бытие определяет сознание
6
Load Runner головного мозга!
А мне оно нужно?
7
Кому оно еще нужно?
8
Виды тестирования«под нагрузкой»
9
ISTQB Glossary говорит нам..
10
Load Testing по ISTQB
Load Testing: A test type concerned with measuring the behavior of a component or system with increasing load, e.g. number of parallel users and/or numbers of transactions to determine what load can be handled by the component or system. See also stress testing.
11
Load Testing на пальцах
12
Load Testing – как?
13
Load Testing отвечает на вопросы:
- Какова максимально выдерживаемая нагрузка?
- Какой у нас есть запас по прочности?
- Через какое время запаса по прочности не хватит?
- Где наше узкое место?
14
Performance testing по ISTQB
Performance testing: The process of testing to determine the performance of a software product. See also efficiency testing.
15
Performance testing на пальцах
16
Performance Testing – как?
17
Performance Testing – как?
Avg(t) < X2
18
или 100% < X3
95% < X2
90% < X1
19
Performance Testing отвечает на вопросы:- Насколько быстро отвечает мой сервис/компонент?
- Насколько быстро он будет отвечать через полгода?
- Когда мой сервис/компонент начнет отвечать слишком медленно?
20
Resource Utilization Testing по ISTQBResource utilization testing: The process of testing to determine the resource-utilization of a software product. See also efficiency testing.
Resource utilization: The capability of the software product to use appropriate amounts and types of resources, for example the amounts of main and secondary memory used by the program and the sizes of required temporary or overflow files, when the software performs its function under stated conditions. [After ISO 9126] See also efficiency.21
Resource Utilization Testingна пальцах
22
Resource Utilization Testing – как?
При Load Testing
23
Resource Utilization Testing – как?
При Performance Testing
24
Resource Utilization Testing отвечает на вопросы- сколько и каких ресурсов используется при работе сервиса/компонента?
- какой запас по ресурсам у нас есть?
- в какой вид ресурса мы упираемся? Как нам решить эту проблему?
25
Stress Testing по ISTQB
Stress testing: Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements. [IEEE 610] See also load testing.
26
Stress Testing на пальцах
27
Stress Testing – как?
28
Stress Testing отвечает:
- Как умирает моя система/компонент?
- Как проходит процесс восстановления?
29
Volume Testing по ISTQB
Volume testing: Testing where the system is subjected to large volumes of data. See also resource-utilization testing.
30
Volume Testingна пальцах
31
Volume Testing – как?
Для каждого Vi
32
Volume Testing отвечает:
- Как будет работать моя система при продакшен-объёмах данных?
- Что будет с производительностью моей системы при увеличении объемов данных?
- Когда у меня начнутся проблемы из-за объёма данных?
33
Endurance Testing (Soak Testing)не по ISTQBEndurance testing is usually done to determine if the application can sustain the continuous expected load.
34
Endurance Testing (Soak Testing)на пальцах
35
Endurance Testing (Soak Testing) – как?
36
Endurance Testing (Soak Testing) отвечает:
- что происходит с моей системой/компонентом под длительной постоянной нагрузкой?
- не ухудшается ли производительность со временем?
- как потребляются ресурсы с течением времени?
37
Много? Много.
Только необходимое и достаточное
38
Регрессионное тестирование производительности
39
Одной итерации недостаточно
40
Regression Testing по ISTQB
Regression Testing: Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.
41
Различия?
Только в порождаемых артефактах
42
Functional Regression
43
Load Regression
44
Performance Regression
45
или
46
Resource Utilization Regression
При серии Load тестов При серии Performance тестов
47
Volume Regression
При серии Load тестов При серии Performance тестов
Для каждого Vi
48
Частота?
- риски (и необходимость)
- стоимость (и возможности)
49
Разные подходы к формированию моделей нагрузки
50
Бывает по всякому
- иногда достаточно ad-hoc-а
- иногда достаточно «черного ящика»
- а иногда нужно посмотреть на систему изнутри
51
Эксплуатационный подход – как?
Просто: оперируем моделью нагрузки в терминах текущей эксплуатации
52
Эксплуатационный подход – как?
53
Плюсы и минусы
Плюсы:- не нужно проектировать тесты- ответ на вопрос «что будет, если мы попадем в продакшен прямо сейчас»
Минусы:- неточность результатов- невозможность сделать какие-либо прогнозы или выводы о запасах, узких местах и т. д.
54
Пользовательский подход – как?Просто: оперируем моделью нагрузки в терминах пользовательских сценариев использования
55
«..когда юзеры такие цоп-цоп-цоп..»
56
Плюсы и минусыПлюсы:- проектировать тесты довольно просто (и даже Record/Play)- можно получить какие-то прогнозы и выводы о запасах, узких местах и т д на соответствующем уровне
Минусы:- не будет работать в некоторых местах вообще (API) - неточность в локализации проблем- возможно дорогие инструменты
57
Компонентный подход – как?
Просто: оперируем моделью нагрузки в терминах отдельных «звеньев» и компонентов нашей системы, рассматривая каждый из них по отдельности снизу-вверх
58
Компонентный подход – как?
59
Плюсы и минусы
Плюсы:- более точные оценки, прогнозы и выводы- удобно локализовывать проблемы
Минусы:- потребуется хорошее знание архитектуры продукта, технологий продукта, инфраструктуры продукта и т. д.- для специфических продуктов, протоколов и т д, возможно, потребуется подбирать отдельные инструменты60
Что выбрать?
Риски, приоритеты, возможности, бюджеты – как всегда.
61
Вопросы?
62
танкист
Служба нагрузочного тестирования
Яндекс
Иллюстрации: © Евгений Поляков
Марина Широчкина