В последние годы индустрия тестирования производительности претерпела радикальные изменения. Традиционно нагрузочное тестирование проводится инженерами по тестированию производительности, а также инженерами по обеспечению качества и тестировщиками. Эти роли обычно работали как независимые единицы, выполняя тестирование производительности после того, как разработчики завершили сборку приложений.
С принятием гибких принципов среди групп разработчиков программного обеспечения тестирование производительности как действие начинается гораздо раньше в процессе разработки, так называемое сдвиг-влево тестирование . Вместо того, чтобы оставлять тестирование производительности отделу QA, команды разработчиков программного обеспечения теперь проводят тестирование независимо или в сотрудничестве с инженерами QA.
Еще одно преимущество смещения тестирования влево - это растущее распространение тестирования производительности в командах разработчиков программного обеспечения. Но многим из этих новых пользователей требуются инструменты, которые хорошо вписываются в их повседневный рабочий процесс , позволяя им регулярно проверяйте с минимальными усилиями. Традиционные инструменты, такие как JMeter и LoadRunner, не подходили для этого, и вместо этого они обращаются к инструментам нового поколения, таким как k6.
k6 - это бесплатный и инструмент для нагрузочного тестирования с открытым исходным кодом стремясь сделать тестирование производительности продуктивным и приятным.
Инструмент поддерживает скрипты, а тесты k6 написаны на Javascript , давая возможность писать тесты на одном из самых известных языков программирования.
Мощный язык сценариев и API обеспечивают необходимую гибкость для имитации реальных сценариев в ваших сценариях. Поскольку приложения и системы постоянно развиваются, возможность модульного построения тестов значительно повысит эффективность процесса тестирования.
k6 - это инструмент командной строки, доступный для Windows, Linux и Mac. В качестве альтернативы есть официальный образ Docker.
Выполнить тест производительности с помощью k6 так же просто, как запустить команду bash:
Вот несколько примечательных функций сценариев:
Как наиболее сложные инструменты нагрузочного тестирования, k6 имеет регистратор сеансов, который упрощает создание нагрузочных тестов из пользовательского сеанса. Вам нужно только предоставить файл HAR из браузера или пользовательского сеанса, и регистратор создаст для вас тест k6. Это особенно полезно, если вы сайты нагрузочного тестирования .
Кроме того, другие инструменты могут помочь вам автоматически сгенерировать тесты k6 из разных технологий:
Хотя вам не нужно использовать рекордер и конвертеры, чтобы начать тестирование, эти инструменты могут помочь быстрее подключить вашу команду к k6 или создать сценарии тестов.
По умолчанию k6 выводит результат на консоль. Кроме того, доступны несколько интеграций, которые помогут вам во время анализа и визуализации результатов тестирования:
В сообществе тестировщиков автоматизация является конечной целью многих организаций. Когда ваше приложение и система изменяются, автоматизация и частое выполнение тестов помогут вам быстрее выявить снижение производительности.
В документации представлены руководства по наиболее популярным инструментам CI / CD, позволяющие легко интегрировать k6 в ваши конвейеры CI.
Команда k6 считает, что создание целенаправленное тестирование это незаменимое условие для автоматизации. При запуске автоматических тестов основная цель вашего теста должна состоять, во-первых, в проверке ожидаемой производительности вашей системы, а во-вторых, в предупреждении вас, если система не соответствует целям производительности. Например, подтверждение того, что:
В k6 вы определяете эти ожидания с помощью Пороги в вашем тесте. Если ваша система не достигает их, k6 сообщит вам об ошибке, вернув ненулевой код выхода.
Если вы хотите узнать больше об этой теме, прочтите руководство k6 для автоматизация тестирования производительности и документацию по порогам.
k6 Облако это коммерческий продукт SaaS, который прилагается к инструменту k6 с открытым исходным кодом. k6 OSS бесплатен и имеет несколько интеграции для управления нагрузочными тестами в вашей собственной инфраструктуре. K6 Cloud - это дополнительная услуга, которая предоставляет инфраструктуру и системы нагрузочного тестирования, которые помогут вам в ваших усилиях по тестированию производительности.
Чтобы лучше понять, что такое k6 Cloud, давайте перечислим несколько его функций:
Сообщество k6 искренне поддерживает и помогает - это сила, стоящая за успехом проекта.
Если вы начинаете с k6, не забудьте добраться до них в Слабина или форум сообщества по любому типу вопросов. Есть несколько каналов и категорий для разных тем, таких как #grafana, #documentation, #feedback, #discussion и т. Д.
Для тех, кто интересуется внутренним устройством проекта, следите за проектом в GitHub .
Этот пост представляет собой введение в k6 - один из самых захватывающих инструментов нагрузочного тестирования. Если вы хотите узнать, что еще предлагает k6, мы рекомендуем прочитать k6 Документы .
За четыре года существования k6 стал многофункциональным и конкурирует с хорошо зарекомендовавшими себя инструментами, получив звездное признание в сообществах разработчиков, DevOps и тестировщиков.
Команда и сообщество k6 создали ориентированный на разработчиков инструмент тестирования производительности, который отвечает требованиям и потребностям новой эры.