k6 - بهترین تجربه توسعه دهنده برای آزمایش بار

صنعت آزمایش عملکرد در سالهای اخیر تحول بنیادی را تجربه کرده است. به طور سنتی ، آزمایش بار توسط مهندسین آزمایش عملکرد ، و همچنین مهندسان و آزمایش کنندگان QA انجام شده است. این نقش ها معمولاً به عنوان واحدهای مستقل عمل می کردند و پس از پایان ساخت برنامه ها ، آزمایش عملکرد را انجام می دادند.

با اتخاذ اصول چابک در بین تیم های توسعه دهنده نرم افزار ، آزمایش عملکرد به عنوان فعالیت بسیار زودتر از مراحل توسعه آغاز می شود ، به اصطلاح تست شیفت چپ . به جای سپردن تست عملکرد به بخش کیفیت ، اکنون تیم های نرم افزاری آزمایش خود را به طور مستقل یا با همکاری مهندسان کیفیت انجام می دهند.

یکی دیگر از مزایای انتقال آزمایش به سمت چپ ، افزایش روزافزون در تصویب تست عملکرد در تیم های نرم افزاری است. اما بسیاری از این کاربران جدید ابزارهایی را می طلبند که به خوبی در اختیار آنها قرار گیرد گردش کار روزمره ، به آنها اجازه می دهد مرتباً تست کنید با حداقل تلاش. ابزارهای سنتی مانند JMeter و LoadRunner چندان مناسب نبودند و در عوض ، آنها به سمت ابزارهای جدیدی مانند k6 روی آورده اند.




رونمایی از k6

k6 رایگان است و ابزار آزمایش بار منبع باز با هدف ایجاد تست عملکرد یک تجربه سازنده و لذت بخش.

این ابزار قابل نوشتن است و تست های k6 در آن نوشته شده اند جاوا اسکریپت ، توانایی نوشتن آزمونهای خود را در یکی از شناخته شده ترین زبانهای برنامه نویسی در اطراف.


یک زبان اسکریپت نویسی قدرتمند و API انعطاف پذیری لازم را برای تقلید از سناریوهای واقعی در متن های شما ارائه می دهد. از آنجا که برنامه ها و سیستم ها به طور مداوم تکامل می یابند ، داشتن توانایی تعدیل آزمون ها به طور چشمگیری باعث افزایش کارایی فرآیند تست شما می شود.

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

k6 یک ابزار خط فرمان است که برای ویندوز ، لینوکس و مک موجود است. متناوباً ، یک تصویر رسمی داکر وجود دارد.

اجرای یک تست عملکرد با k6 به سادگی اجرای یک دستور bash است:


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

چند ویژگی برجسته اسکریپت نویسی عبارتند از:

  • API های جاوا اسکریپت قوی و مستند برای اسکریپت نویسی تست
  • سفارشی سازی عمیق از طریق چندین گزینه پیکربندی
  • سناریوها
  • پارامتر سازی از طریق متغیرهای محیطی
  • پشتیبانی از وب سایت ها
  • قلاب چرخه زندگی برای سفارشی سازی تنظیمات و ریزش مو
  • چک ، معیارها ، برچسب ها ، کوکی ها


ضبط جلسه و مبدل ها

k6 به عنوان پیچیده ترین ابزار آزمایش بار ، دارای یک ضبط کننده جلسه است که ایجاد آزمایشات بار از یک جلسه کاربر را تسهیل می کند. شما فقط باید یک فایل HAR را از یک مرورگر یا جلسه کاربر تهیه کنید ، و ضبط کننده تست k6 را برای شما ایجاد می کند. در صورت وجود این به خصوص مفید است وب سایت های آزمایش بارگیری .

علاوه بر این ، ابزارهای دیگر می توانند به شما کمک کنند تا تست های k6 را از فناوری های مختلف تولید کنید:


  • مبدل JMeter: یک فایل .jmx JMeter را به اسکریپت k6 تبدیل کنید.
  • مبدل پستچی: یک مجموعه پستچی را به اسکریپت k6 تبدیل کنید.
  • مبدل OpenAPI: مشخصات Swagger / OpenAPI را به اسکریپت k6 تبدیل کنید.
  • پسوند مرورگر: از جلسه مرورگر یک اسکریپت k6 تولید کنید. فقط برای کاربران k6 Cloud در دسترس است.

اگرچه برای شروع آزمایش نیازی به استفاده از ضبط کننده و مبدل ها نیستید ، این ابزارها می توانند به شما کمک کنند تا تیم شما را سریعتر به k6 تبدیل کرده یا از تست های خود استفاده کنید.

ضبط جلسه و مبدل



تجسم نتیجه

به طور پیش فرض ، k6 نتیجه را به کنسول می دهد. علاوه بر این ، چندین ادغام برای کمک به شما در هنگام تجزیه و تحلیل و تجسم نتایج آزمون شما در دسترس است:

  • آپاچی کافکا
  • k6 ابر
  • DataDog
  • InfluxDB + Grafana
  • JSON
  • NewRelic
  • StatsD

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




تست مستمر و خودکار

در جامعه آزمایش ، اتوماسیون هدف نهایی بسیاری از سازمانها است. هنگامی که برنامه و سیستم شما تغییر می کند ، خودکار و اجرای آزمایش های مکرر به شما کمک می کند تا زودتر رکود عملکرد را بدست آورید.

این اسناد راهنماهای محبوب ترین ابزارهای CI / CD را فراهم می کند ، به شما امکان می دهد بدون زحمت k6 را در خطوط لوله CI خود ادغام کنید.

  • خطوط لوله لاجوردی
  • 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 شروع می کنید ، فراموش نکنید که به آنها دسترسی پیدا کنید سستی یا انجمن برای هر نوع سالی چندین کانال و دسته برای موضوعات مختلف وجود دارد مانند # گرافانا ، # مستندات ، # بازخورد ، # بحث و غیره.

برای کسانی که به پروژه های داخلی علاقه مند هستند ، پروژه را دنبال کنید GitHub .



نتیجه

این پست با هدف معرفی مقدمه ای از k6 - یکی از جالب ترین ابزار آزمایش بار است. اگر می خواهید بیشتر بدانید که k6 چه چیزی برای ارائه دارد ، توصیه می کنیم موارد زیر را بخوانید k6 سندنگار .

تنها با چهار سال زندگی ، k6 به ویژگی های غنی تبدیل شده است و با ابزارهای کاملاً مطابق رقابت می کند و در توسعه دهندگان ، DevOps و جوامع آزمایشی ستاره ای عالی می یابد.

تیم و جامعه k6 ابزاری برای تست عملکرد توسعه دهنده محور ساخته اند که نیازها و نیازهای دوره جدید را برآورده می کند.