#testing #performance-testing
#тестирование #тестирование производительности
Вопрос:
Я ищу инструмент с открытым исходным кодом или любой инструмент, который можно использовать для тестирования производительности на веб-сайте. Подойдет любое предложение.
Ответ №1:
Здесь необходимо сделать множество предположений, чтобы получить ответ. Вы также можете привести аргумент, что ваш вопрос может применяться к нескольким условиям: производительность для одного пользователя, производительность для нескольких пользователей, производительность для конкретной платформы (например, мобильной).
Я собираюсь предложить структуру для того, как вы могли бы оценивать инструменты. Начните с анализа того, что вы ожидаете получить от инструмента (или инструментов). Какие возможности анализа и отчетности вам нужны для отчетности перед вашими инженерами и заинтересованными сторонами бизнеса.
В общем, для работы с производительностью, одиночной, множественной или зависящей от платформы, вам понадобится инструмент, который может собирать информацию, необходимую для определения вашего времени отклика. Время отклика определяется тем, как система использует ресурсы. Из виджета вы можете заметить, что есть конкретные вопросы, на которые вы захотите ответить с помощью своего инструмента.
Это подразумевает некоторые элементы. Ваш инструмент не только должен быть способен использовать ваше приложение в вашей технической среде (Linux, Windows, Mac, Plan9, BeOS, Android, iPhone, ….), но вам нужна возможность отслеживать тестируемую систему на предмет сбора ресурсов. Это касается как операционной системы, так и гостевой ОС (.Net / Java VM, RDMS, …) и уровня обслуживания. Затем, в конце теста, вам нужно будет объединить записи синхронизации и мониторы ресурсов в общую временную метку, чтобы проверить, какие ресурсы задействованы в то время, когда записи синхронизации выполнялись долго. Возможность сообщать о своих результатах заинтересованным сторонам в бизнесе и разработке с минимальными накладными расходами является сильным плюсом.
Вы также захотите внимательно изучить навыки себя или своей команды. Если лучший инструмент на рынке использует Ferengi9 в качестве языка разработки и для его запуска требуется HP SuperMini, а вашей организации не хватает языковых навыков и supermini, что ж, вам не повезло. Даже если у вас был supermini, а ваша команда ничего не знала о языке сценариев, вам не повезло. Это верно независимо от модели лицензии инструмента.
Анализ — это то, где ценность добавляется в процессе тестирования производительности. Построение тестов и их выполнение сводятся к сбору данных. На рынке есть много инструментов, которые просто останавливаются на коллекции. Черт возьми, существуют значительные группы инструментов, которые ограничиваются сбором временных записей, предоставляя мониторинг, анализ и отчетность какому-либо другому инструменту для подключения.
Изучая параметры своих инструментов, помните об этих классах инструментов
- Полнофункциональные инструменты. Эти инструменты позволяют производить загрузку, собирать временные записи и данные мониторинга, анализировать и создавать отчеты.
- Инструменты с ограниченными возможностями. Эти инструменты позволяют производить загрузку, собирать временные записи и некоторые данные мониторинга. Крайне ограниченный анализ или отчетность — предполагается, что будут использоваться другие инструменты
- Загрузчики. Эти инструменты позволяют производить загрузку, сбор временных записей. Мониторинг, анализ и отчетность предоставляются дополнительным инструментам.
- Инструменты отказа в обслуживании. Эти инструменты позволяют создавать большие точечные нагрузки. Редко предоставляются данные о времени отклика. Весь мониторинг, анализ и отчетность предоставляются другим инструментам.
Большинство (но не все) коммерческих многопользовательских инструментов тестирования производительности входят в полнофункциональный набор инструментов. По мере продвижения вниз по стеку вы получаете все больше инструментов с открытым исходным кодом, пока не дойдете до чего-то вроде «Пчел с пулеметами» внизу
Я знаю, что вы начали свой вопрос с желания получить рекомендацию. Но, не зная вашей операционной системы разработки, ваших потребностей в мониторинге, ваших потребностей в анализе и отчетности, ваших (или вашей команды) базовых навыков в языках и тестировании, было бы практически невозможно предоставить качественную рекомендацию, используйте инструмент X — он силен, как Mule, и никогда вас не подведет
Надеюсь, это обеспечивает основу, в которой вы сможете изучить инструменты, которые вы нашли, используя свои навыки фундаментальных исследований в вашей любимой поисковой системе, чтобы понять возможности рассматриваемого вами инструмента, подойдет ли он для ваших технических и бизнес-потребностей, нужно ли вам соединять инструмент с другими инструментами для получения полного решения и будет ли он вообще работать в вашей среде с вашими предполагаемыми пользователями, чтобы вы могли получить ценную информацию о производительности вашего тестируемого приложения.