Locust یک ابزار تست کاربری ساده است که برای اجرای آزمایشی وبسایت -یا سیستمهای دیگر- ساخته شده تا مشخص شود که آن وبسایت چه تعداد کاربر را میتواند در لحظه هَندل کند. ایدهٔ پیادهسازی این ابزار به این شکل است که در طول یک پروسهٔ تست وبسایت، گروهی از اصطلاحاً «ملخها» میتوانند به وبسایت شما حمله کنند. رفتار هر ملخ (یا همان کاربر فرضی)، توسط شما تعریف شده و پروسهٔ هجوم آوردن از طریق یک رابط کاربری نظارت میشود. این جنگ آزمایشی به شما کمک خواهد کرد تا تنگناهای کد خود را قبل از ورود کاربران واقعی شناسایی و رفع کنید.
کاربران فرضی یا ملخها به طور کامل مبتنی بر رویداد (Event) هستند و در نتیجه، امکان پشتیبانی از هزاران نفر از کاربران به طور همزمان در یک سیستم واحد وجود دارد. این ابزار در مقایسه با بسیاری از دیگر سرویسهای مبتنی بر رویداد، از اصطلاحاً Callback استفاده نمیکند.
در واقع، هر حملهٔ ملخها به سایت شما داخل سندباکس خودش اجرا میشود که چنین فرایندی به شما اجازه میدهد تا به صورتی کاملاً شفاف، الگوریتمهای مختلفی در #پایتون بنویسید بدون این که با کالبکها، سورسکد خود را شلوغ کنید. برخی از مهمترین ویژگیهای این ابزار عبارتند از:
ارسال سناریوهای تست کاربران در پایتون: نیازی به رابط کاربری پیچیده یا کدهای عجیب و غریب XML ندارید؛ مثل هر پروژهٔ پایتون دیگری، به سادگی میتوانید کد بزنید.
توزیع پذیری/مقیاس پذیری (پشتیبانی از صدها هزار کاربر): Locust از آزمایشهای لود شدن بر روی چندین دستگاه پشتیبانی میکند. با توجه به این که لوکاست مبتنی بر رویداد است، میتوانید هزاران نفر از کاربران را در یک پروسه هَندل کنید. بخشی از دلیل چنین سیاستی این است که حتی اگر شما اقدام به شبیهسازی تعداد بالایی از کاربران نمایید، همهٔ آنها به طور جدی به سیستم شما هجوم نمیآورند؛ اکثر مواقع، کاربران نمیداند که چه کاری میخواهند انجام دهند. به عبارت دیگر، ریکوئستهای در لحظه هرگز به معنای تعداد کاربران آنلاین وبسایت نیست!
رابط کاربری مبتنی بر وب: فرانتاند Locust با HTML/JS کدنویسی شده که تمام جزئیات مربوطه را به صورت در لحظه (Real-time) نشان میدهد و در صورت نیاز هم قادر خواهید بود که آن را کاستومایز کنید.
قابلیت تست هر سیستمی را دارد
با این که لوکاست مبتنی بر وب است، اما میتوان آن را برای تست تقریباً هر نوع اپلیکیشنی به کار برد. فقط یک کلاینت برای آزمایش آن چیزی را که میخواهید تست کنید نوشته و با ملخها به آن هجوم ببرید!
اپنسورس است: لوکاست اپنسورس است؛ لذا به سادگی میتوان آن را هک کرده و بسته به نیازهای خود این ابزار را دستخوش تغییر ساخت و جالب است بدانیم که پیچیدگیهای ابزارهای تست فعلی، دلیل اصلی ایجاد Locust بوده است.