k6 - Най-добрият опит за разработчици за тестване на натоварване

През последните години индустрията за тестване на производителността претърпя радикална трансформация. Традиционно тестването на натоварване се извършва от инженери за тестване на производителността, както и от инженери и тестери за QA. Тези роли обикновено работеха като независими звена, като тестваха производителността, след като разработчиците завършиха изграждането на приложенията.

С приемането на гъвкави принципи сред екипите за разработка на софтуер, тестването на производителността като дейност започва много по-рано в процеса на разработка, т.нар тестване на смяна наляво . Вместо да оставят тестването на производителността на отдела за осигуряване на качеството, софтуерните екипи сега извършват тестването си независимо или в сътрудничество с инженерите за осигуряване на качеството.

Друга полза от преместването на лявото тестване е нарастващото увеличаване на приемането на тестване на производителността в софтуерните екипи. Но много от тези нови потребители изискват инструменти, които се вписват добре в техните ежедневен работен процес , което им позволява да тествайте редовно с минимални усилия. Традиционните инструменти като JMeter и LoadRunner не се вписват толкова добре и вместо това те се обръщат към ново поколение инструменти, като k6.




Разкриване на k6

k6 е безплатна и инструмент за тестване на натоварване с отворен код с цел да направи тестването на производителността продуктивно и приятно изживяване.

Инструментът може да се поддава на скриптове и се пишат тестове k6 Javascript , давайки възможност да пишете тестовете си на един от най-известните езици за програмиране наоколо.


Мощен скриптов език и API предоставят необходимата гъвкавост, за да имитират реални сценарии във вашите скриптове. Тъй като приложенията и системите непрекъснато се развиват, възможността да модулирате вашите тестове драстично ще повиши ефективността на вашия процес на тестване.

img / performance / 81 / k6-the-best-developer-experience.png

k6 е инструмент за команден ред, наличен за Windows, Linux и Mac. Като алтернатива има официално изображение на Docker.

Изпълнението на тест за ефективност с k6 е толкова просто, колкото изпълнението на команда bash:


img / performance / 81 / k6-the-best-developer-experience-2.png

Няколко забележителни скриптови функции са:

  • Здрави и добре документирани API на Javascript за тестови скриптове
  • Дълбоко персонализиране чрез множество опции за конфигуриране
  • Сценарии
  • Параметризиране чрез променливи на околната среда
  • Поддръжка на уебсайтове
  • Куки за жизнения цикъл за персонализиране на настройката и премахването
  • Проверки, показатели, тагове, бисквитки ...


Рекордер на сесии и конвертори

Като най-усъвършенстваните инструменти за тестване на натоварване, k6 има записващо устройство за сесии, което улеснява създаването на тестове за натоварване от потребителска сесия. Трябва само да предоставите HAR файл от браузър или потребителска сесия и рекордерът ще създаде k6 тест за вас. Това е особено полезно, ако сте уебсайтове за тестване на натоварване .

Освен това други инструменти могат да ви помогнат да генерирате автоматично тестове k6 от различни технологии:


  • JMeter конвертор: конвертирайте JMeter .jmx файл в k6 скрипт.
  • Конвертор на пощальон: конвертира колекция на пощальон в скрипт k6.
  • OpenAPI конвертор: конвертирате спецификацията Swagger / OpenAPI в k6 скрипт.
  • Разширение на браузъра: генерирайте k6 скрипт от сесия на браузъра. Налично само за потребители на k6 Cloud.

Въпреки че не е необходимо да използвате записващото устройство и конверторите, за да започнете тестването, тези инструменти могат да помогнат за по-бързо вграждане на екипа ви в k6 или скрипт на тестовете ви.

Рекордер на сесии и конвертор



Визуализация на резултатите

По подразбиране k6 извежда резултата в конзолата. Освен това са налични няколко интеграции, които да ви помогнат по време на анализа и визуализацията на резултатите от теста ви:

  • Apache Kafka
  • k6 Облак
  • DataDog
  • Приток DB + Grafana
  • JSON
  • NewRelic
  • Статистика D

img / performance / 81 / k6-the-best-developer-experience-4.png




Непрекъснато и автоматизирано тестване

В общността за тестване автоматизацията е крайната цел за много организации. Когато приложението и системата ви се променят, автоматизирането и провеждането на чести тестове ще ви помогне да уловите регресиите по-рано.

Документацията предоставя ръководства за най-популярните инструменти за CI / CD, което ви позволява безпроблемно да интегрирате k6 във вашите CI тръбопроводи.

  • Azure тръбопроводи
  • CircleCI
  • GitHub Действия
  • GitLab
  • Дженкинс
  • TeamCity

Екипът на k6 вярва, че вземането на решения тестване целенасочено е незаменим реквизит за автоматизация. Когато изпълнявате автоматизирани тестове, основната цел на вашия тест трябва да бъде първо да потвърди очакванията за производителност на вашата система и второ, да ви предупреди, ако системата не отговаря на целите за ефективност. Например, проверяване на това:

  • Времето за отговор на 95% от заявките не е над 600ms.
  • Системата не създава повече от 0,5% грешки.

В k6 вие определяте тези очаквания с Прагове в теста ви. Ако вашата система не ги достигне, k6 ще ви информира за неуспеха при връщане на ненулев код за изход.


img / performance / 81 / k6-the-best-developer-experience-5.png

Ако искате да научите повече за тази тема, прочетете ръководството за k6 за автоматизация на тестването на производителността и документацията за праговете.



k6 Облак

k6 Облак е търговският продукт на SaaS, който придружава инструмента с отворен код k6. k6 OSS е безплатен за използване и има няколко интеграции за управление на тестове за натоварване във вашата собствена инфраструктура. K6 Cloud е незадължителна услуга, която предоставя инфраструктура за тестване на натоварване и системи, които да ви помогнат с усилията ви за тестване на производителността.

За да разберем по-добре какво представлява k6 Cloud, нека изброим няколко негови функции:

  • Скалирайте тестовете хоризонтално и на различни географски местоположения.
  • Съхранявайте и визуализирайте резултатите от теста.
  • Автоматично откривайте проблеми с производителността.
  • Съпоставяне на резултатите между различни тестове.
  • Потребители на борда с тестовия конструктор на GUI.
  • Организирайте екипи и тестове на централно място.
  • Осигурете специална подкрепа.

k6 Облак



Общност

Общността k6 наистина подкрепя и помага - силата, която стои зад успеха на проекта.

Ако започвате с k6, не забравяйте да ги достигнете Отпуснат или форум на общността за всякакъв тип въпроси. Има няколко канала и категории за различни теми като #grafana, #documentation, #feedback, #discussion и т.н.

За тези, които се интересуват от вътрешността на проекта, следвайте проекта през GitHub .



Заключение

Тази публикация има за цел да представи въведение в k6 - един от най-вълнуващите инструменти за тестване на натоварването. Ако искате да научите какво предлага повече k6, препоръчваме да прочетете k6 Документи .

Само с четири години живот, k6 стана богат на функции и се конкурира с утвърдени инструменти, придобивайки звездно приемане в разработчиците, DevOps и тестващите общности.

Екипът на k6 и общността са създали инструмент за тестване на производителността, ориентиран към разработчиците, който отговаря на търсенето и нуждите за нова ера.